• 售前

  • 售后

热门帖子
入门百科

pygame实现贪吃蛇

[复制链接]
因醉鞭名马幌 显示全部楼层 发表于 2022-1-12 12:14:12 |阅读模式 打印 上一主题 下一主题
为了简化起见,游戏素材暂定为两张简单的图片(文中用的是30*30)。
大家很方便就能制作。

背景也是纯黑填充。
各种音乐字体特效玩法场景等大家可以自由发挥
[code]import pygameimport sysimport randomfps=6    #设置帧率move={'up':[-30,0],'down':[30,0],'left':[0,-30],'right':[0,30]}  #上下左右映射为值   class MOCCASIN(object):  #蛇类    def __init__(self):        self.scheme=pygame.image.load('moccasin.png')        self.x=int(20*random.random())*30        self.y=int(20*random.random())*30        self.body=[[self.x,self.y],[self.x,self.y+30],[self.x,self.y+60]]        self.direct='up'           def update(self):        self.x+=move[self.direct][1]        self.y+=move[self.direct][0]        self.body.insert(0,[self.x,self.y])class FOOD(object):  #食物类    def __init__(self):        self.scheme=pygame.image.load('food.png')        self.coordinate=(int(20*random.random())*30,int(20*random.random())*30)def updateMap():  #场景更新    screen.fill((0,0,0))    moccasin.update()    screen.blit(food.scheme,food.coordinate)    for x in moccasin.body:        screen.blit(moccasin.scheme,tuple(x)+(30,30))def bitself():  #是否咬到自己    dct={}    for ll in moccasin.body:        if tuple(ll) in dct :return True        dct[tuple(ll)]=1    return False               if __name__=='__main__':    pygame.init()    pygame.display.set_caption('「moccasin」')    screen=pygame.display.set_mode((600,600))    food=FOOD()    moccasin=MOCCASIN()    clk=pygame.time.Clock()    while True:        clk.tick(fps)        for event in pygame.event.get():            if event.type==pygame.QUIT:                sys.exit()            elif event.type==pygame.KEYDOWN:                if event.key==pygame.K_UP and moccasin.direct!='down':                    moccasin.direct='up'                if event.key==pygame.K_DOWN and moccasin.direct!='up':                    moccasin.direct='down'                if event.key==pygame.K_LEFT and moccasin.direct!='right':                    moccasin.direct='left'                if event.key==pygame.K_RIGHT and moccasin.direct!='left':                    moccasin.direct='right'                            if not (0

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作