用列表表示蛇身
1如何存储多个数据
2使用列表储存多个数据对象
3利用for循环绘制蛇的每一节
clock = pygame.time.Clock()
green = (0, 255, 0)#浅绿色
dark_grenn = (0, 204, 0)#深绿色
body_size = 20
snake_body = [
pygame.Rect(100, 100, body_size, body_size),#头部
pygame.Rect(80, 100, body_size, body_size),
pygame.Rect(60, 100, body_size, body_size)
]#初始状态下蛇的身体有 3 节
running = True
while running:
screen.fill((0, 0, 0))
events = pygame.event.get()#获取所有事件
for e in events:
if e.type == pygame.QUIT:#响应退出时间
running = False
for body in snake_body: # 把 snake_body 列表里的每个矩形都往右移动一个单位
#body.x 是当前矩形左上角横坐标:body.y 是当前矩形左上角的纵坐标
body. x+= 1
#body.y = body.y 纵坐标不变, 直接省略
for body in snake_body:#遍历每一个矩形(body)
pygame.draw.rect(screen, green, body)#在screen上画出绿色的矩形
pygame.draw.rect(screen, dark_grenn, snake_body[0])#用深绿色画出头部矩形, 效果:覆盖刚出来的浅绿色头部
pygame.display.update()#刷新屏幕
clock.tick(60)
pygame.quit() #释放资源
浙公网安备 33010602011771号