用户:
我需要复制粘贴查看: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()#刷新