本文实例为大家分享了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贪吃蛇游戏代码相关推荐

  1. java贪吃蛇代码_java实现贪吃蛇游戏代码(附完整源码)

    先给大家分享源码,喜欢的朋友点此处下载. 游戏界面 GUI界面 java实现贪吃蛇游戏需要创建一个桌面窗口出来,此时就需要使用java中的swing控件 创建一个新窗口 JFrame frame = ...

  2. C语言贪吃蛇游戏代码,贪吃蛇C语言代码实现大全

    一.C语言贪吃蛇代码实现前言 设计贪吃蛇游戏的主要目的是让大家夯实C语言基础,训练编程思维,培养解决问题的思路,领略多姿多彩的C语言. 贪吃蛇是非常经典的一款游戏,本次我们模拟在控制台实现贪吃蛇游戏, ...

  3. SwiftUI 游戏源码大全之贪吃蛇游戏基于GeometryReader和Preference

    实战需求 SwiftUI 游戏源码大全之贪吃蛇游戏基于GeometryReader和Preference 本文价值与收获 看完本文后,您将能够作出下面的界面 游戏规则 你抓住一个圆圈时,蛇会增长一段. ...

  4. python小游戏代码大全-python贪吃蛇游戏代码

    本文实例为大家分享了python贪吃蛇游戏的具体代码,供大家参考,具体内容如下 贪吃蛇游戏截图: 首先安装pygame,可以使用pip安装pygame: pip install pygame 运行以下 ...

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

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

  6. 记事本贪吃蛇游戏代码_如何用Python10分钟绘制贪吃蛇小游戏?

    贪吃蛇是一款经典的益智游戏,有PC和手机等多种版本,既简单又耐玩.玩家通过上下左右键控制蛇的方向,寻找食物,每吃到一次食物,就能得到一定的积分,而且蛇的身体会越来越长.随着蛇的身体变长,游戏的难度就会 ...

  7. python编写贪吃蛇游戏下载,python实现简单的贪吃蛇游戏

    本文实例为大家分享了python实现贪吃蛇游戏的具体代码,加入按钮.难度.音乐.得分功能,供大家参考,具体内容如下 贪吃蛇小游戏,可以显示出得分,又背景音乐,难度选择和开始重启按钮设置. 游戏实现效果 ...

  8. 计算机软件实习项目二 —— 贪吃蛇游戏 (代码实现) 12-16

    代码实现   不得不说python真是太香了,我感觉写起来比C++快,而且代码量更少,还有非常多十分方便的方法可以使用.在pycharm里有非常多的快捷键十分的方便,相较项目使用的visual stu ...

  9. bat贪吃蛇游戏代码_C语言写个贪吃蛇游戏

    贪吃蛇是个非常经典的游戏,用C语言来实现也是一个好玩的事情.这个游戏我写完后放在知乎,竟然点赞的人数超级多.我觉得大家喜欢,一个方面是因为写得简单,大家都能看得懂,一个可扩展性还是非常强的. 我试了说 ...

最新文章

  1. 老王Python-进阶篇4-异常处理1.3(周末习题)
  2. 网页调用本地播放器的代码支持ie,chroome, 火狐不支持
  3. 图论最短距离(Shortest Path)算法动画演示-Dijkstra(迪杰斯特拉) 和 Floyd(弗洛伊德)
  4. 【MySQL distinct的使用】如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中
  5. 拼图项目:一个不完整的难题
  6. python显示文件夹图片_如何显示文件夹中的随机图片(Python)
  7. 苹果有意参与角逐奥斯卡 欲投资6部电影!
  8. SQL函数学习 之 DENSE_RANK() OVER (PARTITION BY col2 ORDER BY col3 DESC) AS seq
  9. java类对象的内部结构图解(java对象模型精讲)
  10. EM算法的形式化推导
  11. 网上找了c#仓库管理程序,编译的时候一直 报错
  12. 通过第三方平台超级鹰进行登录页面验证码识别
  13. 美国零售数据不及预期,非美延续反弹
  14. C语言实现部标JTT808
  15. 密码学写作论文排版操作手册,latex模板cryptocode
  16. html怎么把图片做成椭圆形,html5 作图椭圆
  17. 【Flutter】Dart 数据类型 数字类型 ( Dart 文件创建 | num 类型 | int 类型 | double 类型 | num 相关 API )
  18. 大规模MIMO的信道互易性,信道信息反馈
  19. 安卓5.0开发环境的搭建
  20. 少儿编程scratch如何快速上手?

热门文章

  1. 探索软件模式设计(一)
  2. 用“归并”改进“快速排序”
  3. 【目标检测】Fast RCNN算法详解(转)
  4. CCPC-Wannafly Winter Camp Day3 (Div2, onsite) I 石头剪刀布(按秩合并并查集)
  5. 浅谈技术管理之个体能力建设
  6. eclipse maven项目导入Intellij问题处理
  7. OC与Swift混编
  8. HDU1859 最小长方形【水题】
  9. CCF201703-3 Markdown(100分)【文本处理】
  10. 51Nod-1081 子段求和【前缀和】