回忆经典,九叔教你用Python制作贪吃蛇游戏

众所周知Python除了不能生孩子啥都行。

咱们今天就说一下如何利用Python写一个简易的小游戏。

 所以呀咱们今天就用Python写大家都玩过的小游戏--贪吃蛇。

 用Python写游戏就得用到pygame这一个库。

这个库是在 sdl 之上构建的

可以使用到很多 GUI、渲染画布等所以想要用Python写游戏肯定会用到这个库。

好啦!我们现在进入正题!

首先,咱们游戏得有个放的地方吧,所以我们就得先创造一个窗口来放我们的游戏。

所以我们就要用到我们的pygame了,我们通过这个库的初始化,它就会给我们要用到的工具。

pygame.init()

我们将这个初始化以后,得到我们要用到的工具了就可以开始写东西了。

先来设置一个游戏名字吧,就叫它《帅锅九叔》。

不管什么臭不臭美哈,这关键很符合我的气质。

 代码如下:

pygame.display.set_caption('九叔帅锅')

接着我们要设置我们游戏的大小啦。

通过set_model方法来设置我们窗口的大小

代码如下:

pygame.display.set.mode((600,600))

窗口有了,下面我们该开始画蛇了

窗口的背景颜色是黑色那么我们就将蛇的颜色设置成其他颜色吧这样的话就可以就可以看的明显一点。

通过 pygame 的 rect 方法可以在画布上画矩形那么一开始我们的蛇应该是处于中间的蛇的长度就给 4 个格子吧这里我们一个格子的宽高设置为 10

通过 pygame 的 rect 方法

可以在画布上画矩形

那么一开始

我们的蛇应该是处于中间的

蛇的长度就给 4 个格子吧

这里我们一个格子的宽高设置为 10

white = (255,255,255)
pygame.draw.rect(caption,white,pygame.rect(250,250,10,10))
pygame.draw.rect(caption,white,pygame.rect(250,250,10,10))
pygame.draw.rect(caption,white,pygame.rect(250,250,10,10))
pygame.draw.rect(caption,white,pygame.rect(250,250,10,10))
pygame.display.update()

蛇有了下面就要到我们的食物啦

pygame.draw.rect(caption,white,pygame.rect(210,210,10,10))

前面代码有点现在整理一下

caption width = 500
#画布宽度
caption height = 500 #画布高度
white_ color = (255, 255, 255) #白色rgb
game_ title = ' 九叔帅锅'
cell=10 #格子
snake_ init_ pos = [ [250,250],[240,250], [230,250], [220,250]] #蛇的初始位置
food_ pos = [ random. randrange(1, 50) 米10, random. randrange(1, 50)米10] #食物初始随机位置
pygame.init() #初始化pygame
caption = pygame . display. set_ mode( (caption width, caption height))
pygame . display . set_ caption(game_ title) 
def draw rect(color, position):
pygame . draw. rect(caption, color, pygame . Rect(position[0], position[1], cell, cell))
def main():
for pos in snake_ init_ pos:
draw_ rect(white color, pos )
draw_ rect(white color, food pos )
pygame . display. update()

接着定义一个蛇头位置

head_pos = [300,300]

蛇头居中

指引方向

每次触发一个方向键

就让蛇头的位置发生相应的变化

然后更新蛇身的位置

img

所谓更新蛇身位置

主要将是将列表中的元素更新一下

添加蛇头的位置

pop掉蛇尾的位置

每次更新

需要渲染一下画布

img

接下来就可以运行啦 就得到一个简单的贪吃蛇游戏啦 可以去玩啦

大家如果喜欢的话不防点个赞 点个关注不迷路哦 之后会继续更新一些Python有关的知识,我是九叔一个工作五年的程序员。

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值