Python编写贪吃蛇小游戏

  介绍

本篇文章为大家展示了Python编写贪吃蛇小游戏,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

首先看一下编写贪吃蛇小游戏的主要思路

 Python编写贪吃蛇小游戏

废话不多说,我们直接来讲解如何利用Python进行贪吃蛇的编写吧

1。调用库以及初始设置

1.1调用第三方库

Python与其他语言很不一样的一点在于他有很多的第三方库可以调用。在Python编写游戏时,pygame是一个很简单上手的第三方库,可以通过pip直接安装。安装方法在之前的文章中已经讲过,就不再赘述。想要了解更多pygame功能的朋友也可以查阅官方的文档。

这就是编写贪吃蛇时我们需要调用的库。

1 import  pygame   2 import 系统   3 import 时间   4 import 随机   5得到pygame.locals  import  *

1.2初始设置

我们通过这几行代码来初始化pygame,定义窗口(边界)的大小,窗口的标题和图标。

1,,,,#,初始化pygame   ,2,,,pygame.init ()   ,3,,,fpsClock =, pygame.time.Clock ()   ,4   ,5,,,#,创建pygame显示层   ,6,,,playSurface =, pygame.display.set_mode ((640,, 480))   ,7,,,#,定义标题   ,8,,,pygame.display.set_caption (& # 39; Snake 走! & # 39;)   ,9,,,#,加载资源图片,game.ico包含在最后的文件中   10个,,,,image =, pygame.image.load (& # 39; game.ico& # 39;)   11,,,,#,设置图标   12,,,,pygame.display.set_icon(图片)

1.3定义颜色变量

由于我们需要用到一些颜色,而Python是不自带的,所以我们需要定义几个颜色。

1 redcolour =, pygame.Color (255, 0, 0)   2 blackcolour =, pygame.Color (0, 0, 0)   3 whitecolour =, pygame.Color (255255255)   4 greycolour =, pygame.Color (150150150)   5 lightgrey =, pygame.Color (220220220)

2。败阵

之前提到,所有游戏最重要的部分是循环。而败阵函数就是跳出这个循环的条件。这里给出当蛇吃到自己身体或者碰到边界时显示的界面(判断死亡的代码会在之后展示)

1 #,定义败阵函数   ,2 def 败阵(playSurface,,分数):   ,3,,,#,显示GAME 在并定义字体以及大小   ,4,,,gameOverFont =, pygame.font.Font (& # 39; arial.ttf& # 39;,, 72)   ,5,,,gameOverSurf =, gameOverFont.render (& # 39; Game 在# 39;,,真的,,greyColour)   ,6,,,gameOverRect =, gameOverSurf.get_rect ()   ,7,,,gameOverRect.midtop =, (320,, 125)   ,8,,,playSurface.blit (gameOverSurf, gameOverRect)   ,9,,,#,显示分数并定义字体和大小   10个,,,,scoreFont =, pygame.font.Font (& # 39; arial.ttf& # 39;,, 48)   11,,,,scoreSurf =, scoreFont.render(& # 39;分数:,& # 39;,+,str(分数),,真的,,greyColour)   12,,,,scoreRect =, scoreSurf.get_rect ()   13,,,,scoreRect.midtop =, (320,, 225)   14日,,,,playSurface.blit (scoreSurf, scoreRect)   15,,,,pygame.display.flip(),, #,刷新显示界面   16,,,,#,休眠5秒后自动关闭   17日,,,,time . sleep (5)   18岁,,,,pygame.quit ()   19日,,,,sys.exit ()

3。贪吃蛇与树莓

接下来介绍游戏的主题部分,即贪吃蛇与蛇莓的显示以及运动。

3.1定义初始位置

我们将整个界面看成许多20 * 20的小方块,每个方块代表一个单位,蛇的长度就可以用几个单位表示啦。这里蛇的身体用列表的形式存储,方便之后的删减。

1,,,,#,初始化变量   2,,,,snakePosition =,(100,, 100),, #,蛇头位置   3,,,,snakeSegments =,(100,, 100,, 80,, 100,,[60, 100]],, #,初始长度为3个单位   4,,,,raspberryPosition =,(300,, 300),, #,树莓位置   5,,,,raspberrySpawned =, 1,, #,树莓个数   6,,,,direction =, & # 39;对# 39;,,#,初始方向   7,,,,changeDirection =方向   8,,,,score =, 0,, #,初始分数

3.2键盘输入判断蛇的运动

我们需要通过键盘输入的上下左右键或WASD来控制蛇类运动,同时加入按下Esc就退出游戏的功能。

1,#,检测例如按键等pygame事件   ,2,,,,,,,for  event 拷贝pygame.event.get ():   ,3,,,,,,,,,,,if  event.type ==,退出:   ,4,,,,,,,,,,,,,,,pygame.quit ()   ,5,,,,,,,,,,,,,,,sys.exit ()   ,6,,,,,,,,,,,elif  event.type ==, KEYDOWN:   ,7,,,,,,,,,,,,,,,#,判断键盘事件   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

Python编写贪吃蛇小游戏