回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<pre><code>from mcpi.minecraft import Minecraft
mc = Minecraft.create()
import time
pos = mc.player.getTilePos()
x = pos.x + 1
y = pos.y
z = pos.z
# Add 10 glass blocks (ID 20) to this empty list
blocks = [20, 20, 20, 20, 20, 20, 20, 20, 20, 20]
barBlock = 22 # Lapis lazuli
count = 0
while count <= len(blocks): # len (the number of items) of an object
mc.setBlock(x, y, z, blocks[0])
mc.setBlock(x, y + 1, z, blocks[1])
mc.setBlock(x, y + 2, z, blocks[2])
mc.setBlock(x, y + 3, z, blocks[3])
mc.setBlock(x, y + 4, z, blocks[4])
mc.setBlock(x, y + 5, z, blocks[5])
mc.setBlock(x, y + 6, z, blocks[6])
mc.setBlock(x, y + 7, z, blocks[7])
mc.setBlock(x, y + 8, z, blocks[8])
mc.setBlock(x, y + 9, z, blocks[9])
count += 1
# Delete the last block in the list
del blocks[9]
# Insert a lapis lazuli block at the first position in the list
blocks.insert(0, barBlock)
time.sleep(.5)
</code></pre>
<p>这段代码堆叠了十个玻璃立方体(下图1),然后这些立方体填满了蓝色(倒钩),看起来就像一个进度条(下图2)。进度条只向上计数,并在满时停止。这个代码工作得很好。我现在要做的是写一段代码,上面写着‘一旦进度条填满,让进度条倒计时到相反的方向。’请帮帮我。你知道吗</p>
<p>这段代码是关于操作列表的。我尝试使用<code>block.append(barBlock)</code>添加一个项目。我尝试使用<code>block.insert(9, barBlock)</code>插入一个项目。我试过用<code>del block[9]</code>删除一个项目。我尝试过使用<code>block[9] = barBlock</code>更改列表项。让我说清楚。到目前为止,我的代码是正确的。我之所以知道这一点,是因为我在读一本书,他们给出的评论都是暗示,我做得很有效率。现在,他们增加了一个额外的目标,即在相反方向的进度条上倒计时。所以,解决方案是添加更多的代码,这就是你要做的。请帮帮我。先谢谢你。你知道吗</p>
<p><a href="https://i.stack.imgur.com/uFlRQ.png" rel="nofollow noreferrer">Progress bar not filled up</a></p>
<p><a href="https://i.stack.imgur.com/9wYpt.png" rel="nofollow noreferrer">Progress bar filled up</a></p>