擅长:python、mysql、java
<p>首先要解决一些问题:当您两次分配一个变量时,第一个变量也可能不被分配。
我的建议是将位置的更新从地方的旗帜(你想要的东西的含义)分离到它在世界上的位置</p>
<p>例如,如果要在x,y插入新的状态newstate:</p>
<pre><code>def updateLocn(x,y,newstate):
global worldMap
If x<0 or y<0:
Handle the exception(usually using raise IndexError(errorstr))
worldMap[y][x]=newstate
</code></pre>
<p>这应该取决于如何处理负索引。
请记住,当您访问列表的元素时,更改它不会改变列表。您必须在正确的索引处更改列表</p>
<p>此外,检查参数应该放在第一位,而不是最后一位。在getlocn中,对x,y的检查永远不会发生,因为您首先返回在那里找到的内容</p>