猫史档案馆


制作贪吃蛇

用户:我需要复制粘贴我需要复制粘贴查看:1 回复:2 评论:1 创建时间:2021-01-31T21:56:51


import pygame,sys#导入模块
from pygame.locals import *
from random import *#随机模块
pygame.init()#初始化
screen=pygame.display.set_mode((400,400))#设置窗口
x,y=200,200#贪吃蛇的坐标
up=1#判断哪个方向可以移动
down=0
left=0
right=0
l=1#每个蛇头和蛇身的编号
d=5 #蛇头和蛇身的长度
t=0#坐标限制
l=0#贪吃蛇长度限制
while True:#制造喵循环
    for event in pygame.event.get():
        if event.type==pygame.QUIT:#是否按到关闭按钮
            pygame.quit()
            sys.exit()
    screen.fill((255,255,255))#将背景设为白色
    if t==0:
      x1,y1=randrange(100,200),randrange(100,200)#随机坐标
      t+=1
    pygame.draw.rect(screen,[0,0,255],[x1,y1,30,30],0)#画食物
    if x>x1 and x<x1+30 and y>y1 and y<y1+30:#判断是否可以吃到食物
      if l==1:
          d+=1
          l=0
      t=0
      l+1
    pressed_keys = pygame.key.get_pressed()#监测键盘按键
    if up==1:#移动贪吃蛇
       y-=5
       for a in range(d):
          pygame.draw.rect(screen,[255,193,193],[x,y+30*l,30,30],0)
          l+=1
       l=1
    if down==1:
       y+=5
       for a in range(d):
          pygame.draw.rect(screen,[255,193,193],[x,y-30*l,30,30],0)
          l+=1
       l=1
    if left==1:
        x-=5
        for a in range(d):
          pygame.draw.rect(screen,[255,193,193],[x+30*l,y,30,30],0)
          l+=1
        l=1 
    if right==1:
        x+=5
        for a in range(d):
          pygame.draw.rect(screen,[255,193,193],[x+-30*l,y,30,30],0)
          l+=1
        l=1 
    if pressed_keys[K_LEFT]:#设置方向,一次只能移动一个方向
        left=1
        up=0
        right=0
        down=0
    if pressed_keys[K_RIGHT]:
        left=0
        up=0
        right=1
        down=0
    if pressed_keys[K_UP]:
        up=1
        left=0
        right=0
        down=0
    if pressed_keys[K_DOWN]:
        up=0
        left=0
        right=0
        down=1
    pygame.time.delay(100)#暂停100毫秒
    pygame.display.flip()#刷新


回复

上一页1 页 / 共 1下一页
我需要复制粘贴我需要复制粘贴

pan.baidu.com/s/1UOi1IV3l3iW09cGNoAfctQ
提取码:code

点赞0


评论


萧弦_萧弦_

还是加载失败啊大大

点赞0


评论