python贪吃蛇

  • N7_202171
    了解作者
  • 162.3KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-04-16 05:42
    上传日期
python实现贪吃蛇功能,有代码的注解,简单易懂适合初学者
贪吃蛇.zip
  • 新建文件夹 (3)
  • Arial.ttf
    289.8KB
  • snakegame.py
    3.8KB
内容介绍
import pygame import time import sys import random from pygame.locals import * bgColor=pygame.Color(0,0,0) snakeColor=pygame.Color(255,255,255) foodColor=pygame.Color(150,120,80) fontColor=pygame.Color(100,150,120) def gameOver(playSurface): gameOverFont=pygame.font.Font('Arial.ttf',72)#设置字体样式 gameOverSurf=gameOverFont.render('GameOver',True,fontColor) gameOverRect=gameOverSurf.get_rect()#获取实例 gameOverRect.midtop=(320,100)#文字显示的坐标 playSurface.blit(gameOverSurf,gameOverRect) pygame.display.flip() time.sleep(3) pygame.quit() sys.exit() def main(): pygame.init()# 初始化pygame fpsClock=pygame.time.Clock()# 定义多久时间走一次 #初始化弹框的一些变量 playSurface=pygame.display.set_mode((640,480))#窗体大小 pygame.display.set_caption('贪吃蛇')#设置标题 snakePosition=[100,100]#初始化蛇的位置 #保存蛇头以下的坐标 snakeSetments=[[100,100],[80,100],[60,100]] foodPosition=[300,300]#初始化食物的位置 foodSpwned=1#判断食物是否被吃掉 direction='right'#初始化默认方向 changeDirection=direction#改变方向 while True: #设置背景颜色 playSurface.fill(bgColor) #绘制 for position in snakeSetments: pygame.draw.rect(playSurface,snakeColor,Rect(position[0],position[1],20,20)) pygame.draw.rect(playSurface,foodColor,Rect(foodPosition[0],foodPosition[1], 20, 20)) pygame.display.flip()#刷新 for event in pygame.event.get(): #判断点击的按钮 if event.type==QUIT: pygame.quit() sys.exit() elif event.type==KEYDOWN: if event.key==K_RIGHT or event.key==ord('d'): changeDirection='right' if event.key==K_LEFT or event.key==ord('a'): changeDirection='left' if event.key==K_UP or event.key==ord('w'): changeDirection='up' if event.key==K_DOWN or event.key==ord('s'): changeDirection='down' if event.key==K_ESCAPE: pygame.event.pos(pygame.event.Event(QUIT)) #判断如果输入的是反方向 if changeDirection=='right'and not direction=='left': direction=changeDirection if changeDirection == 'left' and not direction == 'right': direction=changeDirection if changeDirection=='up'and not direction=='down': direction=changeDirection if changeDirection=='down'and not direction=='up': direction=changeDirection #根据方向移动蛇头的坐标 if direction=='right': snakePosition[0]+=20 if direction == 'left': snakePosition[0]-= 20 if direction == 'up': snakePosition[1]-= 20 if direction == 'down': snakePosition[1]+= 20 #增加蛇的长度 snakeSetments.insert(0,list(snakePosition)) #判断是否吃掉食物 if snakePosition[0]==foodPosition[0] and snakePosition[1]==foodPosition[1]: foodSpwned=0 else: snakeSetments.pop()#吃掉食物删掉最后一个,使整体没有变化 #如果吃掉,则随机生成 if foodSpwned==0: x=random.randrange(1,32) y=random.randrange(1,24) foodPosition=[int (x*20),int (y*20)] foodSpwned=1 fpsClock.tick(5)#游戏的速度 #超出边界则游戏结束 if snakePosition[0]>620 or snakePosition[0]<0: gameOver(playSurface) if snakePosition[1]>460 or snakePosition[1]<0: gameOver(playSurface) if __name__ == '__main__': main()
评论
    相关推荐
    • Python
      Python
    • python
      Python 这是用于大多数基本和简单python代码的示例模板的存储库。
    • Python
      Python项目 Python是一些简单的Python项目,它是一种解释性的高级通用编程语言,我愿意学习它为将来的许多项目做出贡献! 入门 您必须安装Python 3.9.2才能尝试这些项目。 这些项目来自各种书籍,您可以根据需要进行...
    • Python
      Python Dit是Mijn储存库van Python
    • python
      Python 基本的python编程
    • Python
      Python python和pyspark
    • python
      关于python的学习资料。。。。。。。
    • python学习
      python学习 安装Python 我们转到Python页面进行初始下载:( )在为Mac OSX选择了最新版本(3.9.2)之后,我将其下载到了我的计算机上。 然后,我们搜索了“ Python入门”,并确认VS Code是适用于Python的可行代码...
    • Fluent Python
      This book was written for practicing Python programmers who want to become proficient in Python 3. If you know Python 2 but are willing to migrate to Python 3.4 or later, you should be fine. At the ...
    • Python
      Python 该存储库包含与Python编程研究相关的文档