|
发表于 2024-6-4 19:05:34
|
显示全部楼层
本楼为最佳答案
在你的代码中,while循环内部缺少对乌龟的移动操作。导致程序在第一次迭代后陷入无限循环。
为了解决这个问题,你需要在while循环内部添加乌龟的移动操作。可以像下面这样修改代码:
- while True:
- if not turtle.power:
- print('没体力了,游戏结束')
- break
- if not len(fish):
- print('小鱼都被你吃完了,游戏胜利')
- break
- print("乌龟移动前坐标:", (turtle.x ,turtle.y))
- turtle.move()
- print("乌龟移动后坐标:", (turtle.x ,turtle.y))
- for item in fish:
- print("鱼移动前坐标:", (item.x ,item.y))
- item.move()
- print("鱼移动后坐标:", (item.x ,item.y))
- if item.x==turtle.x and item.y==turtle.y:
- turtle.eat()
- fish.remove(item)
- print("死了一只鱼")
- print("乌龟最新体力值为 %d"%turtle.power)
复制代码
这样,乌龟每次移动前会打印出移动前的坐标,然后进行移动操作,再打印出移动后的坐标。同时,也会对每条鱼进行移动操作,判断是否与乌龟的位置重合,若重合则乌龟会吃掉该条鱼,并打印相应信息。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|