擅长:python、mysql、java
<p>在<code>for</code>-循环中,您希望元组大小为4:</p>
<blockquote>
<pre class="lang-py prettyprint-override"><code>for px, py, pcol, direction in population:
</code></pre>
</blockquote>
<p>但是当您设置元组列表时,您已经忘记了<code>direction</code>,因此元组大小仅为3。这会导致错误。<br/>
将<code>direction</code>添加到元组:</p>
<p><s><code>population.append((px, py, pcol))</code></s></p>
<pre class="lang-py prettyprint-override"><code>population.append((px, py, pcol, direction))
</code></pre>
<hr/>
<p>如果要移动矩形,则必须更新列表中的数据。e、 g.:</p>
<pre class="lang-py prettyprint-override"><code>for i, (px, py, pcol, direction) in enumerate(population):
pygame.draw.rect(screen, pcol, (px, py, 50, 50))
print(direction)
if direction == pxp:
px += 1
if direction == pyp:
py += 1
if direction == pxm:
px -= 1
if direction == pym:
py -= 1
population[i] = (px, py, pcol, direction)
</code></pre>