为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕标5832272 2022-07-05 15:44:15
我用菜单创建了一个蛇 Pygame,并且当我遇到错误时正在微调错误等IndexError:列表索引超出范围在我打开选项卡本身并将光标移到它上面后,错误实际上出现了我对它的实际含义有一个模糊的想法,但我对 python 和一般编码很陌生,所以如果有人能解释并展示解决方案,我将不胜感激,
查看完整描述

1 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

我在您的代码中看到,您selection[some_index]多次引用。如果您查看实际选择是什么,您会发现它是一个数组,其中包含一个矩形对象:


[<rect(200, 450, 400, 60)>]


这个矩形永远不会改变,所以我建议通过调用直接引用它


selection[0]


例如,这是给您错误的代码片段。


for i in range (length):   

    if selection[i].collidepoint((mx,my)):  # check if x,y of mouse is in a button

        num = i

        hover = True

因为 selection 是一个包含一个永远不会改变的元素的数组,所以在 for 循环的第一次迭代后会出现 Index out of range 错误。也许这看起来很熟悉:


IndexError: list index out of range

你可以做些什么来解决这个问题是摆脱循环(因为它是不必要的 - 如果选择列表中只有一个矩形,你不应该循环遍历索引!)并在第 0 个索引处提取矩形。



if selection[0].collidepoint((mx,my)):  # check if x,y of mouse is in a button

    num = i

    hover = True

这不是我在您的代码中遇到的唯一错误,但我相信这会对您有所帮助!


查看完整回答
反对 回复 2022-07-05
  • 1 回答
  • 0 关注
  • 211 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信