一、源码分享
贪吃蛇(设置一个启动密码:999)
import pygame as p,random as ra,datetime as dt
import easygui as e
key=e.enterbox('请输入密码启动游戏')
if key=='999':
e.msgbox('启动成功')
p.init()
a=p.display.set_mode((510,510))
run=1
r=[]
for i in range(0,510,10):
for j in range(0,510,10):
r.append([i,j])
def bg():
a.fill((255,255,255))
for i in range(0,510,10):
p.draw.line(a,[0,0,0],[i,0],[i,510],1)
for i in range(0,510,10):
p.draw.line(a,[0,0,0],[0,i],[510,i],1)
long=[[240,250],[250,250],[260,250]]
x=10;y=0
eat=0
c=p.time.Clock()
p.time.set_timer(p.USEREVENT,20000)
apple=[]
def ap():
global apple,r,long
while len(apple)!=40:
app=ra.choice(r)
if (app not in apple) and (app not in long):
apple.append(app)
ap()
while run:
bg()
for event in p.event.get():
if event.type==p.QUIT:
run=0
if event.type==p.KEYDOWN:
if event.key==p.K_RIGHT:
x=10;y=0
if event.key==p.K_LEFT:
x=-10;y=0
if event.key==p.K_UP:
x=0;y=-10
if event.key==p.K_DOWN:
x=0;y=10
if event.type==p.USEREVENT:
apple=[]
ap()
for i in apple:
p.draw.rect(a,[255,0,0],[i[0],i[1],10,10])
if long[-1] in apple:
apple.remove(long[-1])
eat=1
long.append([long[-1][0]+x,long[-1][1]+y])
if not eat:
long.pop(0)
else:
eat=0
for i in long:
p.draw.rect(a,[0,100,0],[i[0],i[1],10,10])
p.draw.rect(a,[0,80,0],[long[-1][0],long[-1][1],10,10])
p.display.flip()
c.tick(10)
p.quit()
else:
e.msgbox('密码不正确')
二、试玩截图
三、注意事项
##需提前在cmd中导入pygame以及easygui模块