python - IndexError:pygame中的列表索引超出范围
问题描述
错误出现在下面代码段的最后一行,我不知道为什么。我正在尝试从我在网上找到的具有相同代码的视频中学习,即使我已经检查了多次并且似乎工作正常。
class Snake:
def __init__(self):
self.position=[50,50]
self.body=[[100,50], [90.50], [80,50]]
self.direction = "RIGHT"
self.changeDirectionTo=self.direction
def getBody(self):
return self.body
window=pygame.display.set_mode((500,500))
snake = Snake()
while True:
for pos in snake.getBody():
pygame.draw.rect(window, pygame.Color(0,225,0),
pygame.Rect(pos[0], pos[1], 10,10))
解决方案
您的列表中有一个浮点元素而不是两个整数。将[90.50]更改为 [90, 50]。
self.body=[[100,50], [90.50], [80,50]]
推荐阅读
- sed - 用 sed 替换或追加配置文件
- sql - SQL 查询返回根据 Where 语句过滤的不需要的数据
- postgresql - 有没有一种简单的方法可以用默认值替换 null ?
- angular - 如何创建依赖于另一个服务中的 HttpService 的类的实例?
- python - 使用 openpyxl (Python) 格式化列的最快方法
- java - Android Vitals 和异常处理
- c# - winForms 计时器 - 何时初始化和处置
- javascript - 在 IE/Edge 中将应用程序 css 应用于 React Portal(打开新窗口)
- ios - 用表格视图单元格 SWIFT 中的图像制作列表的正确方法
- asp.net-web-api2 - Web api 2 成功完成但返回服务器错误 500