贪吃蛇python源码

贪吃蛇python源码

ID:46606582

大小:109.00 KB

页数:7页

时间:2019-11-26

贪吃蛇python源码_第1页
贪吃蛇python源码_第2页
贪吃蛇python源码_第3页
贪吃蛇python源码_第4页
贪吃蛇python源码_第5页
资源描述:

《贪吃蛇python源码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、贪吃蛇源码,初始源码来自于网络。初学python,做了部分修改,加了些有趣的功能进行测试。增加了部分注释;增加背景设置;增加历史高分统计;增加当前玩家排名;增加幸运食物,吃了有惊喜!开始:回车键暂停:空格键操作:控制上下左右(w、s、a、d)or(up、down、left、right)自动背景开启和关闭:L手动背景RGB值微调:r、g、b键(L开启才可用)游戏界面Python源码"""贪吃蛇"""importrandomimportsysimporttimeimportcopyimportpygamefrompygame.loc

2、alsimport*fromcollectionsimportdequeSCREEN_WIDTH=800#屏幕宽度SCREEN_HEIGHT=480#屏幕高度SIZE=20#小方格大小LINE_WIDTH=3#网格线宽度#游戏区域的坐标范围SCOPE_X=(0,SCREEN_WIDTH//SIZE-1)SCOPE_Y=(2,SCREEN_HEIGHT//SIZE-1)#食物的分值及颜色#FOOD_STYLE_LIST=[(10,(255,100,100)),(20,(100,255,100)),(30,(100,100,255)

3、)]FOOD_STYLE_LIST=[(10,(255,0,0)),(20,(0,255,0)),(30,(0,0,255)),(100,(255,255,0))]#幸运食物出现概率(蛇身减一,速度不增加)FOOD_LUCK=(0,7)#LIGHT=(100,100,100)DARK=(200,200,200)#蛇的颜色BLACK=(0,0,0)#网格线颜色RED=(200,30,30)#红色,GAMEOVER的字体颜色BGCOLOR=(40,40,60)#背景色defprint_text(screen,font,x,y,tex

4、t,fcolor=(255,255,255)):imgText=font.render(text,True,fcolor)screen.blit(imgText,(x,y))#初始化蛇definit_snake():snake=deque()snake.append((2,SCOPE_Y[0]))#snake.append((1,SCOPE_Y[0]+1)),snake.append((1,SCOPE_Y[0])),snake.append((1,SCOPE_Y[0]+2))snake.append((1,SCOPE_Y[0])

5、)snake.append((0,SCOPE_Y[0]))returnsnakedefcreate_food(snake):food_x=random.randint(SCOPE_X[0],SCOPE_X[1])food_y=random.randint(SCOPE_Y[0],SCOPE_Y[1])while(food_x,food_y)insnake:#如果食物出现在蛇身上,则重来food_x=random.randint(SCOPE_X[0],SCOPE_X[1])food_y=random.randint(SCOPE_Y[

6、0],SCOPE_Y[1])returnfood_x,food_ydefget_food_style():ifrandom.randint(FOOD_LUCK[0],FOOD_LUCK[1])==FOOD_LUCK[1]:returnFOOD_STYLE_LIST[3]else:returnFOOD_STYLE_LIST[random.randint(0,2)]defmain():pygame.init()screen=pygame.display.set_mode((SCREEN_WIDTH,SCREEN_HEIGHT))#p

7、ygame创建窗口pygame.display.set_caption('贪吃蛇')#窗口名称font1=pygame.font.SysFont('SimHei',16)#得分的字体font_ypos=12#位置font2=pygame.font.Font(None,72)#GAMEOVER的字体fwidth,fheight=font2.size('GAMEOVER')#如果蛇正在向右移动,那么快速点击向下向左,由于程序刷新没那么快,向下事件会被向左覆盖掉,导致蛇后退,直接GAMEOVER#b变量就是用于防止这种情况的发生b=T

8、rue#蛇snake=init_snake()#食物food=create_food(snake)food_style=get_food_style()#方向pos=(1,0)#(左-1右1,上-1下1)game_over=Truestart=False#是否开

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。