PYTHON小游戏(第二弹)————贪吃蛇

一、源码分享

贪吃蛇(设置一个启动密码: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模块

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值