擅长:python、mysql、java
<p>因为alex从整数坐标开始,每一步移动1个单位,所以存储在<code>liss[]</code>中的所有位置都是整数。但是在sapa反弹了150度之后,他的坐标不再是整数,所以它们不太可能与<code>liss[]</code>中的值完全匹配。在</p>
<p>解决这一问题的方法是使用修改后的position函数,该函数将坐标舍入到<code>int</code>。例如,将此函数放在程序顶部附近:</p>
<pre><code>def int_position(t):
x, y = t.position()
return int(x + 0.5), int(y + 0.5)
</code></pre>
<p>现在把你的</p>
<p><code>liss.append(alex.position())</code></p>
<p>到</p>
<p><code>liss.append(int_position(alex))</code></p>
<p>别忘了修复<code>x=alex.position()</code><code>liss.append(x)</code></p>
<p>现在把sapa的东西改成</p>
^{pr2}$
<p>FWIW,在我的程序版本中,我使用了<code>sapa.color("blue")</code>来更容易地看到发生了什么。在</p>
<p>因为您使用的是python2,所以应该将<code>range(100000)</code>etc改为<code>xrange(100000)</code>,因为这样更高效,而且使用的RAM更少。在</p>