贪吃蛇经典小游戏,使用python程序进行自制复刻

gitcode项目链接:Austin-Clinton / 贪吃蛇python版 · GitCode

源代码:

#贪吃蛇Python游戏
#by hhh in 2021.4.18 first (后续维护)4.20 second 4.22 third 9.23 9.24 Fourthly
#2022.9.25 CSDN@Austin-Cliton
import pygame
import sys
import randomi=3#起始节数
k=0#速度增量
BLACK = (0,0,0)#颜色定义
RED= (255,0,0)
BLUE = (25,90,220)size = width,height = 600,600#建图
surface = pygame.display.set_mode(size)snake_length = [[150,150],[140,150],[130,150]]#蛇定义
snake_position = [150,150]food_position = [random.randint(1,49)*10,random.randint(1,49)*10]#食物定义direction = 'right'#初始化方向def Begin():#初始化+刷新函数pygame.display.set_caption('109的贪吃蛇 by Hhh')pygame.time.Clock().tick(22+k)image = pygame.image.load('505.png').convert()surface.blit(image, (0, 0))# surface.fill(BLACK)for i in snake_length:pygame.draw.rect(surface, BLUE, (i[0], i[1], 10, 10), 0)pygame.draw.rect(surface, RED, (food_position[0], food_position[1], 10, 10), 0)#画蛇drawScore()#得分函数pygame.display.flip()#刷新页面def Go():#前进函数if direction == 'right':snake_position[0] += 10if direction == 'left':snake_position[0] -= 10if direction == 'up':snake_position[1] -= 10if direction == 'down':snake_position[1] += 10def Grow():#生长函数snake_length.insert(0, list(snake_position))if snake_position[0] == food_position[0] and snake_position[1] == food_position[1]:food_position[0] = random.randint(1,49)*10food_position[1] = random.randint(1,49)*10global ii += 1global kk += 2else:snake_length.pop()#移除最后一个元素def Kill():#自杀函数(头撞身体)global A#自杀指数A = 1#自杀存疑for k in range(2,i,1):if snake_position == snake_length[k]:A = 0#自杀确认breakdef Exit():#退出函数print("...Game Over...")while 1:if pygame.event.get(pygame.KEYDOWN) or pygame.event.get(pygame.QUIT):breakdef drawScore():#得分函数s=i-3pygame.init()  # 字体设置:开启注释font1 = pygame.font.SysFont('宋体', 30)  # 设置系统字体font_list = pygame.font.get_fonts()  # 获得系统可用字体surface1 = font1.render('score: %s'% (s),True,[255,0,0])#打印字体surface.blit(surface1,[20,20])#显示颜色surface2 = font1.render('velocity: %s' % (22+k), True, [255, 0, 0])surface.blit(surface2, [450, 20])while 1 :Begin()#初始化+刷新函数for event in pygame.event.get():#转向程序if event.type == pygame.QUIT:pygame.quit()sys.exit()elif event.type == pygame.KEYDOWN:if (event.key == pygame.K_RIGHT or event.key == pygame.K_d) and direction != 'left':#条件三防原地掉头direction = 'right'if (event.key == pygame.K_LEFT or event.key == pygame.K_a) and direction != 'right':direction = 'left'if (event.key == pygame.K_UP or event.key ==  pygame.K_w) and direction != 'down':direction = 'up'if (event.key == pygame.K_DOWN or event.key == pygame.K_s) and direction != 'up':direction = 'down'if event.key == pygame.K_ESCAPE:pygame.quit()sys.exit()Go()#前进函数Grow()#生长函数Kill()#自杀函数if snake_position[0] < 0 or snake_position[0] > width or snake_position[1] < 0 or snake_position[1] > height or A == 0:#死亡条件Exit()#退出函数print('score:',i-3)break#未经作者授权,也可以转载~

## 注释十分清晰,相关库函数问题大家可以自行查找学习

贪吃蛇python游戏相关推荐

  1. Python实现贪吃蛇小游戏(双人模式)

    这篇文章主要为大家详细介绍了Python实现双人模式的贪吃蛇小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 简单用py写了一个贪吃蛇游戏,有单人.双人模式,比较简 ...

  2. python 贪吃蛇小游戏代码_10分钟再用Python编写贪吃蛇小游戏

    Python编写贪吃蛇 前不久我们公众号发布了一篇C++编写贪吃蛇小游戏的推文,反响空前.看来大家对这类简单易上手小游戏还是很喜爱的. 恰逢2018年IEEE Spectrum编程语言排行榜新鲜出炉, ...

  3. python100行代码程序-100行python代码,轻松完成贪吃蛇小游戏

    大家小时候都玩过贪吃蛇吧?小编小时候可喜欢拿爸妈的手机玩了,厉害着呢!今天,小编就来用100行代码实现一个简易版的贪吃蛇.在网上,贪吃蛇教程蛮多的,但要安装蛮多库的,而且也不够清晰,今天的代码比较短, ...

  4. python小游戏编程实例-10分钟教你用Python写一个贪吃蛇小游戏,适合练手项目

    另外要注意:光理论是不够的.这里顺便总大家一套2020最新python入门到高级项目实战视频教程,可以去小编的Python交流.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,还可以跟老司机交 ...

  5. python编程小游戏-10分钟用Python编写一个贪吃蛇小游戏,简单

    贪吃蛇,大家应该都玩过.小编当初第一次接触贪吃蛇的时候 ,还是能砸核桃的诺基亚上,当时玩的不亦乐乎.今天,我们用Python编程一个贪吃蛇游戏,下面我们先看看效果: 好了,先介绍一个思路 所有的游戏最 ...

  6. bat贪吃蛇游戏代码_100行python代码,轻松完成贪吃蛇小游戏

    来源:DataGo数据狗   链接: https://mp.weixin.qq.com/s/fDcr1SfcbynLzHye7Q7VOg 大家小时候都玩过贪吃蛇吧?小编小时候可喜欢拿爸妈的手机玩了,厉 ...

  7. python的pygame库使用方法_python基础教程使用Python第三方库pygame写个贪吃蛇小游戏...

    今天看到几个关于pygame模块的博客和视频,感觉非常有趣,这里照猫画虎写了一个贪吃蛇小游戏,目前还有待完善,但是基本游戏功能已经实现,下面是代码: # 导入模块 import pygame impo ...

  8. 10分钟用python编写贪吃蛇小游戏_牛得一批!10分钟用Python编写一个贪吃蛇小游戏...

    贪吃蛇,大家应该都玩过.当初第一次接触贪吃蛇的时候 ,还是能砸核桃的诺基亚上,当时玩的不亦乐乎.今天,我们用Python编程一个贪吃蛇游戏,下面我们先看看效果: 好了,先介绍一个思路 所有的游戏最主要 ...

  9. 10分钟python游戏_牛得一批!10分钟用Python编写一个贪吃蛇小游戏

    贪吃蛇,大家应该都玩过.当初第一次接触贪吃蛇的时候 ,还是能砸核桃的诺基亚上,当时玩的不亦乐乎.今天,我们用Python编程一个贪吃蛇游戏,下面我们先看看效果: 好了,先介绍一个思路 所有的游戏最主要 ...

  10. python快速实现简易贪吃蛇小游戏

    贪吃蛇(也叫做贪食蛇)游戏是一款休闲益智类游戏,有PC和手机等多平台版本.既简单又耐玩.该游戏通过控制蛇头方向吃蛋,从而使得蛇变得越来越长.  贪吃蛇游戏最初为单机模式,后续又陆续推出团战模式.赏金模 ...

最新文章

  1. 02-dispatch_barrier
  2. 树莓派4B Ubuntu18 vnc开机自启动
  3. 活着不容易!几度被扼杀又雄起的NLP简史
  4. centos6.8下安装部署LNMP(备注:nginx1.8.0+php5.6.10+mysql5.6.12)
  5. MVC--Rzaor--例子
  6. mysql relay_技术分享 | MySQL:产生大量小 relay log 的故障一例
  7. java商城开发_javaweb实战之商城项目开发(一)
  8. win7 VS2008 不需新建工程 命令行编译lua5.1.5
  9. 2017.9.8 字符串 失败总结
  10. CF10D LCIS
  11. 逻辑漏洞-支付风险-大疆某处支付逻辑漏洞可1元买无人机
  12. cad字体修改方案分享-缺少SHX字体、替换字体
  13. 接口测试面试题及参考答案(汇总),真香
  14. linux中wine文件夹在哪,linux下wine的使用
  15. 酸性溶液中HER动力学分析
  16. 关于source insight、添加.s和.S文件,显示全部路径、加入项目后闪屏幕
  17. Android获取一周每一天的日期
  18. html5新特性与用法大全了解一下
  19. 9.opencv-python;cv2库;形态学;MORPH_TOPHAT礼帽与MORPH_BLACKHAT黑帽
  20. 软件工程面向对象方法、Coad、Booch、OMT、UML方法

热门文章

  1. 免费压缩视频大小最佳方法?
  2. 小米手机多功能计算机都怎么使用方法,图文展示小米手机如何连接电脑详细操作...
  3. matlab内置vmd吗,matlab中使用VMD(变分模态分解)
  4. 转载--12306刷票记
  5. jqwidgets 国际化- 中文 jqxGrid 中文语言包 gridlocalization
  6. java socket 实现原理_java socket原理
  7. Android性能优化系列-监听View inflate周期并动态替换
  8. 金三银四跳槽季,前端面试题记录(2021),VUE
  9. Apk脱壳圣战之---脱掉 爱加密 的壳
  10. 【opencv 450 Image Processing】Creating Bounding boxes and circles for contours为轮廓创建边界框和圆