贪吃蛇游戏错误代码(IndexError: list index out of range)

我用菜单创建了一个蛇 Pygame,并且当我遇到错误时正在微调错误等

IndexError:列表索引超出范围

在我打开选项卡本身并将光标移到它上面后,错误实际上出现了

我对它的实际含义有一个模糊的想法,但我对 python 和一般编码很陌生,所以如果有人能解释并展示解决方案,我将不胜感激,


慕标5832272
浏览 214回答 1
1回答

犯罪嫌疑人X

我在您的代码中看到,您selection[some_index]多次引用。如果您查看实际选择是什么,您会发现它是一个数组,其中包含一个矩形对象:[<rect(200, 450, 400, 60)>]这个矩形永远不会改变,所以我建议通过调用直接引用它selection[0]例如,这是给您错误的代码片段。for i in range (length):&nbsp; &nbsp;&nbsp; &nbsp; if selection[i].collidepoint((mx,my)):&nbsp; # check if x,y of mouse is in a button&nbsp; &nbsp; &nbsp; &nbsp; num = i&nbsp; &nbsp; &nbsp; &nbsp; hover = True因为 selection 是一个包含一个永远不会改变的元素的数组,所以在 for 循环的第一次迭代后会出现 Index out of range 错误。也许这看起来很熟悉:IndexError: list index out of range你可以做些什么来解决这个问题是摆脱循环(因为它是不必要的 - 如果选择列表中只有一个矩形,你不应该循环遍历索引!)并在第 0 个索引处提取矩形。if selection[0].collidepoint((mx,my)):&nbsp; # check if x,y of mouse is in a button&nbsp; &nbsp; num = i&nbsp; &nbsp; hover = True这不是我在您的代码中遇到的唯一错误,但我相信这会对您有所帮助!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python