python代码大全-python贪吃蛇游戏代码
本文实例为大家分享了python贪吃蛇游戏的具体代码,供大家参考,具体内容如下
贪吃蛇游戏截图:
首先安装pygame,可以使用pip安装pygame:
pip install pygame
运行以下代码即可:
#!/usr/bin/env python
import pygame,sys,time,random
from pygame.locals import *
# 定义颜色变量
redColour = pygame.Color(255,0,0)
blackColour = pygame.Color(0,0,0)
whiteColour = pygame.Color(255,255,255)
greyColour = pygame.Color(150,150,150)
# 定义gameOver函数
def gameOver(playSurface):
gameOverFont = pygame.font.Font('arial.ttf',72)
gameOverSurf = gameOverFont.render('Game Over', True, greyColour)
gameOverRect = gameOverSurf.get_rect()
gameOverRect.midtop = (320, 10)
playSurface.blit(gameOverSurf, gameOverRect)
pygame.display.flip()
time.sleep(5)
pygame.quit()
sys.exit()
# 定义main函数
def main():
# 初始化pygame
pygame.init()
fpsClock = pygame.time.Clock()
# 创建pygame显示层
playSurface = pygame.display.set_mode((640,480))
pygame.display.set_caption('Raspberry Snake')
# 初始化变量
snakePosition = [100,100]
snakeSegments = [[100,100],[80,100],[60,100]]
raspberryPosition = [300,300]
raspberrySpawned = 1
direction = 'right'
changeDirection = direction
while True:
# 检测例如按键等pygame事件
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.post(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
# 增加蛇的长度
snakeSegments.insert(0,list(snakePosition))
# 判断是否吃掉了树莓
if snakePosition[0] == raspberryPosition[0] and snakePosition[1] == raspberryPosition[1]:
raspberrySpawned = 0
else:
snakeSegments.pop()
# 如果吃掉树莓,则重新生成树莓
if raspberrySpawned == 0:
x = random.randrange(1,32)
y = random.randrange(1,24)
raspberryPosition = [int(x*20),int(y*20)]
raspberrySpawned = 1
# 绘制pygame显示层
playSurface.fill(blackColour)
for position in snakeSegments:
pygame.draw.rect(playSurface,whiteColour,Rect(position[0],position[1],20,20))
pygame.draw.rect(playSurface,redColour,Rect(raspberryPosition[0], raspberryPosition[1],20,20))
# 刷新pygame显示层
pygame.display.flip()
# 判断是否死亡
if snakePosition[0] > 620 or snakePosition[0] < 0:
gameOver(playSurface)
if snakePosition[1] > 460 or snakePosition[1] < 0:
for snakeBody in snakeSegments[1:]:
if snakePosition[0] == snakeBody[0] and snakePosition[1] == snakeBody[1]:
gameOver(playSurface)
# 控制游戏速度
fpsClock.tick(5)
if __name__ == "__main__":
main()
操作方法:
上下左右键或wsad键控制
ESC键退出游戏
游戏代码来源于《Raspberry Pi 用户指南》,仅供参考。
更多关于python游戏的精彩文章请点击查看以下专题:
更多有趣的经典小游戏实现专题,分享给大家:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
python代码大全-python贪吃蛇游戏代码相关推荐
- java贪吃蛇代码_java实现贪吃蛇游戏代码(附完整源码)
先给大家分享源码,喜欢的朋友点此处下载. 游戏界面 GUI界面 java实现贪吃蛇游戏需要创建一个桌面窗口出来,此时就需要使用java中的swing控件 创建一个新窗口 JFrame frame = ...
- C语言贪吃蛇游戏代码,贪吃蛇C语言代码实现大全
一.C语言贪吃蛇代码实现前言 设计贪吃蛇游戏的主要目的是让大家夯实C语言基础,训练编程思维,培养解决问题的思路,领略多姿多彩的C语言. 贪吃蛇是非常经典的一款游戏,本次我们模拟在控制台实现贪吃蛇游戏, ...
- SwiftUI 游戏源码大全之贪吃蛇游戏基于GeometryReader和Preference
实战需求 SwiftUI 游戏源码大全之贪吃蛇游戏基于GeometryReader和Preference 本文价值与收获 看完本文后,您将能够作出下面的界面 游戏规则 你抓住一个圆圈时,蛇会增长一段. ...
- python小游戏代码大全-python贪吃蛇游戏代码
本文实例为大家分享了python贪吃蛇游戏的具体代码,供大家参考,具体内容如下 贪吃蛇游戏截图: 首先安装pygame,可以使用pip安装pygame: pip install pygame 运行以下 ...
- bat贪吃蛇游戏代码_100行python代码,轻松完成贪吃蛇小游戏
来源:DataGo数据狗 链接: https://mp.weixin.qq.com/s/fDcr1SfcbynLzHye7Q7VOg 大家小时候都玩过贪吃蛇吧?小编小时候可喜欢拿爸妈的手机玩了,厉 ...
- 记事本贪吃蛇游戏代码_如何用Python10分钟绘制贪吃蛇小游戏?
贪吃蛇是一款经典的益智游戏,有PC和手机等多种版本,既简单又耐玩.玩家通过上下左右键控制蛇的方向,寻找食物,每吃到一次食物,就能得到一定的积分,而且蛇的身体会越来越长.随着蛇的身体变长,游戏的难度就会 ...
- python编写贪吃蛇游戏下载,python实现简单的贪吃蛇游戏
本文实例为大家分享了python实现贪吃蛇游戏的具体代码,加入按钮.难度.音乐.得分功能,供大家参考,具体内容如下 贪吃蛇小游戏,可以显示出得分,又背景音乐,难度选择和开始重启按钮设置. 游戏实现效果 ...
- 计算机软件实习项目二 —— 贪吃蛇游戏 (代码实现) 12-16
代码实现 不得不说python真是太香了,我感觉写起来比C++快,而且代码量更少,还有非常多十分方便的方法可以使用.在pycharm里有非常多的快捷键十分的方便,相较项目使用的visual stu ...
- bat贪吃蛇游戏代码_C语言写个贪吃蛇游戏
贪吃蛇是个非常经典的游戏,用C语言来实现也是一个好玩的事情.这个游戏我写完后放在知乎,竟然点赞的人数超级多.我觉得大家喜欢,一个方面是因为写得简单,大家都能看得懂,一个可扩展性还是非常强的. 我试了说 ...
最新文章
- 老王Python-进阶篇4-异常处理1.3(周末习题)
- 网页调用本地播放器的代码支持ie,chroome, 火狐不支持
- 图论最短距离(Shortest Path)算法动画演示-Dijkstra(迪杰斯特拉) 和 Floyd(弗洛伊德)
- 【MySQL distinct的使用】如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中
- 拼图项目:一个不完整的难题
- python显示文件夹图片_如何显示文件夹中的随机图片(Python)
- 苹果有意参与角逐奥斯卡 欲投资6部电影!
- SQL函数学习 之 DENSE_RANK() OVER (PARTITION BY col2 ORDER BY col3 DESC) AS seq
- java类对象的内部结构图解(java对象模型精讲)
- EM算法的形式化推导
- 网上找了c#仓库管理程序,编译的时候一直 报错
- 通过第三方平台超级鹰进行登录页面验证码识别
- 美国零售数据不及预期,非美延续反弹
- C语言实现部标JTT808
- 密码学写作论文排版操作手册,latex模板cryptocode
- html怎么把图片做成椭圆形,html5 作图椭圆
- 【Flutter】Dart 数据类型 数字类型 ( Dart 文件创建 | num 类型 | int 类型 | double 类型 | num 相关 API )
- 大规模MIMO的信道互易性,信道信息反馈
- 安卓5.0开发环境的搭建
- 少儿编程scratch如何快速上手?
热门文章
- 探索软件模式设计(一)
- 用“归并”改进“快速排序”
- 【目标检测】Fast RCNN算法详解(转)
- CCPC-Wannafly Winter Camp Day3 (Div2, onsite) I 石头剪刀布(按秩合并并查集)
- 浅谈技术管理之个体能力建设
- eclipse maven项目导入Intellij问题处理
- OC与Swift混编
- HDU1859 最小长方形【水题】
- CCF201703-3 Markdown(100分)【文本处理】
- 51Nod-1081 子段求和【前缀和】