python编写小游戏的代码,python游戏编程代码大全

这篇具有很好参考价值的文章主要介绍了python编写小游戏的代码,python游戏编程代码大全。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家好,小编来为大家解答以下问题,python游戏编程入门游戏代码,python编写小游戏的代码,现在让我们一起来看看吧!

python编写小游戏的代码,python游戏编程代码大全,pygame,python,开发语言

大家好,本文将围绕python小游戏编程100例运行成功截图展开说明,python小游戏编程100例1000行源码是一个很多人都想弄明白的事情,想搞清楚python编写的入门简单小游戏需要先了解以下几个事情。

python编写小游戏的代码,python游戏编程代码大全,pygame,python,开发语言

贪吃蛇相信在很多80、90后心中都有不可磨灭的印象,小时候没有电脑,没有PS4,没有Xbox,没有switch,只有简单的贪吃蛇、俄罗斯方块这种小游戏,这里小千就来教大家如何利用Python的100行代码实现贪吃蛇小游戏,超详细哦PHP与PYTHON:基于语法,功能,应用程序等的详细比较python如何画九朵花。

首先先来看一下最终的结果:

基本准备

首先,我们需要安装pygame库,小编通过pip install pygame,很快就安装好了```*``在完成贪吃蛇小游戏的时候,我们需要知道整个游戏分为四部分:游戏显示:游戏界面、结束界面

贪吃蛇:头部、身体、食物判断、死亡判断

树莓:随机生成

按键控制:上、下、左、右

游戏显示

首先,我们来初始化pygame,定义颜色、游戏界面的窗口大小、标题和图标等火车头小发猫AI伪原创。

pygame.init()

fpsClock = pygame.time.Clock()

# 创建pygame显示层

playSurface = pygame.display.set_mode((600,460))#窗口大小

pygame.display.set_caption('Snake Game')#窗口名称

# 定义颜色变量

redColour = pygame.Color(255,0,0)

blackColour = pygame.Color(0,0,0)

whiteColour = pygame.Color(255,255,255)

greyColour = pygame.Color(150,150,150)

游戏结束界面,我们会显示“Game Over!”和该局游戏所得分数,相关代码如下:

# 定义gameOver函数

def gameOver(playSurface,score):

gameOverFont = pygame.font.SysFont('arial.ttf',54) #游戏结束字体和大小

gameOverSurf = gameOverFont.render('Game Over!', True, greyColour) #游戏结束内容显示

gameOverRect = gameOverSurf.get_rect()

gameOverRect.midtop = (300, 10) #显示位置

playSurface.blit(gameOverSurf, gameOverRect)

scoreFont = pygame.font.SysFont('arial.ttf',54) #得分情况显示

scoreSurf = scoreFont.render('Score:'+str(score), True, greyColour)

scoreRect = scoreSurf.get_rect()

scoreRect.midtop = (300, 50)

playSurface.blit(scoreSurf, scoreRect)

pygame.display.flip() #刷新显示界面

time.sleep(5) #休眠五秒钟自动退出界面

pygame.quit()

sys.exit()

贪吃蛇和树莓

我们需要将整个界面看成许多20*20的小方块,每个方块代表一个单位,蛇的长度用单位来表示,同时我们采用列表的形式存储蛇的身体。同时,我们都知道,树莓的位置是随机的。所以,我们需要让树莓出现的位置是游戏界面中的随机位置,同时,每吃到一颗树莓,就需要重新生成一颗新的树莓,并且得分加1。相关初始化设置如下:

snakePosition = [100,100] #贪吃蛇 蛇头的位置

snakeSegments = [[100,100]] #贪吃蛇 蛇的身体,初始为一个单位

raspberryPosition = [300,300] #树莓的初始位置

raspberrySpawned = 1 #树莓的个数为1

direction = 'right' #初始方向为右

changeDirection = direction

score = 0 #初始得分

如何控制贪吃蛇的运动轨迹呢,那么就需要按键控制了。我们通过键盘的↑↓←→和WSAD来控制,如果想直接退出游戏,则可以通过Esc键。这里需要强调的是,贪吃蛇里面是不能反方向运动,因此,我们需要进一步的增加限制条件:

# 检测例如按键等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,30) #和游戏界面大小相关

y = random.randrange(1,23)

raspberryPosition = [int(x*20),int(y*20)]

raspberrySpawned = 1

score += 1

死亡判断则分为两类情况,一是触碰到了游戏界面的边界,二是贪吃蛇触碰到了自己的身体。一旦发生死亡,则触发gameover。

# 判断是否死亡

if snakePosition[0] > 600 or snakePosition[0] < 0: #若超过左右边界,触发gameover

gameOver(playSurface,score)

if snakePosition[1] > 460 or snakePosition[1] < 0: #若超过上下边界,触发gameover

gameOver(playSurface,score)

for snakeBody in snakeSegments[1:]: #若触碰到自己的身体,触发gameover

if snakePosition[0] == snakeBody[0] and snakePosition[1] == snakeBody[1]:

gameOver(playSurface,score)

贪吃蛇运动和吃掉树莓的过程中,游戏界面需要不断更新。同时,我们设置了游戏速度。

# 绘制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()

# 控制游戏速度

fpsClock.tick(5)

至此,我们就能完成一个贪吃蛇小游戏了。赶紧去实验一下吧!2020版Python教程_完全入门_学完达到Python工程师水平【千锋】_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com2020全新 Python爬虫技术快速上手(都是干货)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com千锋Python入门公开课教程合集,持续更新中~_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com

代码源于:DataGo数据狗 公众号文章来源地址https://www.toymoban.com/news/detail-826352.html

大家好,本文将围绕python小游戏编程100例运行成功截图展开说明,python小游戏编程100例1000行源码是一个很多人都想弄明白的事情,想搞清楚python编写的入门简单小游戏需要先了解以下几个事情。

python编写小游戏的代码,python游戏编程代码大全,pygame,python,开发语言

贪吃蛇相信在很多80、90后心中都有不可磨灭的印象,小时候没有电脑,没有PS4,没有Xbox,没有switch,只有简单的贪吃蛇、俄罗斯方块这种小游戏,这里小千就来教大家如何利用Python的100行代码实现贪吃蛇小游戏,超详细哦PHP与PYTHON:基于语法,功能,应用程序等的详细比较python如何画九朵花。

首先先来看一下最终的结果:

基本准备

首先,我们需要安装pygame库,小编通过pip install pygame,很快就安装好了```*``在完成贪吃蛇小游戏的时候,我们需要知道整个游戏分为四部分:游戏显示:游戏界面、结束界面

贪吃蛇:头部、身体、食物判断、死亡判断

树莓:随机生成

按键控制:上、下、左、右

游戏显示

首先,我们来初始化pygame,定义颜色、游戏界面的窗口大小、标题和图标等火车头小发猫AI伪原创。

pygame.init()

fpsClock = pygame.time.Clock()

# 创建pygame显示层

playSurface = pygame.display.set_mode((600,460))#窗口大小

pygame.display.set_caption('Snake Game')#窗口名称

# 定义颜色变量

redColour = pygame.Color(255,0,0)

blackColour = pygame.Color(0,0,0)

whiteColour = pygame.Color(255,255,255)

greyColour = pygame.Color(150,150,150)

游戏结束界面,我们会显示“Game Over!”和该局游戏所得分数,相关代码如下:

# 定义gameOver函数

def gameOver(playSurface,score):

gameOverFont = pygame.font.SysFont('arial.ttf',54) #游戏结束字体和大小

gameOverSurf = gameOverFont.render('Game Over!', True, greyColour) #游戏结束内容显示

gameOverRect = gameOverSurf.get_rect()

gameOverRect.midtop = (300, 10) #显示位置

playSurface.blit(gameOverSurf, gameOverRect)

scoreFont = pygame.font.SysFont('arial.ttf',54) #得分情况显示

scoreSurf = scoreFont.render('Score:'+str(score), True, greyColour)

scoreRect = scoreSurf.get_rect()

scoreRect.midtop = (300, 50)

playSurface.blit(scoreSurf, scoreRect)

pygame.display.flip() #刷新显示界面

time.sleep(5) #休眠五秒钟自动退出界面

pygame.quit()

sys.exit()

贪吃蛇和树莓

我们需要将整个界面看成许多20*20的小方块,每个方块代表一个单位,蛇的长度用单位来表示,同时我们采用列表的形式存储蛇的身体。同时,我们都知道,树莓的位置是随机的。所以,我们需要让树莓出现的位置是游戏界面中的随机位置,同时,每吃到一颗树莓,就需要重新生成一颗新的树莓,并且得分加1。相关初始化设置如下:

snakePosition = [100,100] #贪吃蛇 蛇头的位置

snakeSegments = [[100,100]] #贪吃蛇 蛇的身体,初始为一个单位

raspberryPosition = [300,300] #树莓的初始位置

raspberrySpawned = 1 #树莓的个数为1

direction = 'right' #初始方向为右

changeDirection = direction

score = 0 #初始得分

如何控制贪吃蛇的运动轨迹呢,那么就需要按键控制了。我们通过键盘的↑↓←→和WSAD来控制,如果想直接退出游戏,则可以通过Esc键。这里需要强调的是,贪吃蛇里面是不能反方向运动,因此,我们需要进一步的增加限制条件:

# 检测例如按键等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,30) #和游戏界面大小相关

y = random.randrange(1,23)

raspberryPosition = [int(x*20),int(y*20)]

raspberrySpawned = 1

score += 1

死亡判断则分为两类情况,一是触碰到了游戏界面的边界,二是贪吃蛇触碰到了自己的身体。一旦发生死亡,则触发gameover。

# 判断是否死亡

if snakePosition[0] > 600 or snakePosition[0] < 0: #若超过左右边界,触发gameover

gameOver(playSurface,score)

if snakePosition[1] > 460 or snakePosition[1] < 0: #若超过上下边界,触发gameover

gameOver(playSurface,score)

for snakeBody in snakeSegments[1:]: #若触碰到自己的身体,触发gameover

if snakePosition[0] == snakeBody[0] and snakePosition[1] == snakeBody[1]:

gameOver(playSurface,score)

贪吃蛇运动和吃掉树莓的过程中,游戏界面需要不断更新。同时,我们设置了游戏速度。

# 绘制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()

# 控制游戏速度

fpsClock.tick(5)

至此,我们就能完成一个贪吃蛇小游戏了。赶紧去实验一下吧!2020版Python教程_完全入门_学完达到Python工程师水平【千锋】_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com2020全新 Python爬虫技术快速上手(都是干货)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com千锋Python入门公开课教程合集,持续更新中~_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com

代码源于:DataGo数据狗 公众号

到了这里,关于python编写小游戏的代码,python游戏编程代码大全的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python简单小游戏代码100行,python小游戏代码大全

    大家好,给大家分享一下python简单小游戏代码100行,很多人还不知道这一点。下面详细解释一下。现在让我们来看看! download: python小游戏代码 按照题目要求编写燃悔中的Python程序如下 import random numlist=random.sample(range(0,10),5) while numlist[0]==0:     numlist=random.sample(range(0,10),5) n

    2024年02月08日
    浏览(22)
  • python入门小游戏代码20行,python小游戏代码大全

    大家好,给大家分享一下python简单小游戏代码20行,很多人还不知道这一点。下面详细解释一下。现在让我们来看看! 01 整体框架 平台:pycharm 关于pygame的安装这里就不在赘述,大家自行上网找合适自己的版本的安装即可。关于pygame模块知识会穿插在下面代码中介绍,用到什

    2024年04月22日
    浏览(16)
  • python游戏代码大全可复制,python小游戏代码大全

    大家好,本文将围绕python游戏编程入门游戏代码展开说明,python游戏代码大全可复制是一个很多人都想弄明白的事情,想搞清楚python小游戏代码大全需要先了解以下几个事情。 本篇文章给大家谈谈如何用python编写一个简单的小游戏,以及如何用Python做小游戏让别人玩,希望对

    2024年04月08日
    浏览(28)
  • python做小游戏代码可复制,python编写小游戏的代码

    这篇文章主要介绍了python简单小游戏代码教程,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。 哈喽铁子们 表弟最近在学Python,总是跟我抱怨很枯燥无味,其实,他有没有认真想过,可能是自己学习姿

    2024年01月16日
    浏览(40)
  • Python版基于pygame的玛丽快跑小游戏源代码,玛丽冒险小游戏代码,支持双人模式

    基于pygame的玛丽快跑小游戏源代码,玛丽冒险小游戏代码,支持双人模式 按空格进入单人模式,按‘t’进入双人模式,双人模式下玛丽1采用空格键上跳,玛丽2采用方向上键上跳。 完整代码下载地址:Python版基于pygame的玛丽快跑小游戏源代码 完整代码下载地址:Python版基于

    2024年02月11日
    浏览(18)
  • python编写一个简单的游戏,python编写小游戏的代码

    大家好,本文将围绕如何用python编写一个简单的小游戏展开说明,用python做一个小游戏代码是一个很多人都想弄明白的事情,想搞清楚python编写小游戏详细教程需要先了解以下几个事情。 今天玩点别的吧都说 Python 除了生孩子什么都能干 咱们今天就用 Python 写个小游戏 贪吃蛇

    2024年02月02日
    浏览(32)
  • python游戏代码大全可复制,python超简单小游戏代码

    大家好,小编来为大家解答以下问题,python游戏编程入门游戏代码,python游戏代码大全可复制,现在让我们一起来看看吧! 大家好,小编为大家解答简单的python小游戏代码的问题。很多人还不知道python简单的小游戏代码,现在让我们一起来看看吧! 大家好,我是小F~ 经常听

    2024年02月19日
    浏览(20)
  • python游戏代码大全可复制,python简单的小游戏代码

    本篇文章给大家谈谈python游戏编程入门游戏代码,以及python游戏代码大全可复制,希望对各位有所帮助,不要忘了收藏本站喔。 大家好,小编来为大家解答以下问题,初学者怎么用python写简单小游戏教程,如何用python编写一个简单的小游戏,今天让我们一起来看看吧! 1、

    2024年03月20日
    浏览(29)
  • 基于Python+Pygame实现一个俄罗斯方块小游戏【完整代码】

    俄罗斯方块,一款起源于上世纪80年代的经典电子游戏,凭借简单的规则和独特的魅力,一跃成为全球家喻户晓的经典。你知道其实只需要一些基础的编程知识,就可以自己实现它吗?今天,我们将使用Python的Pygame库,一步步带你构建属于自己的俄罗斯方块小游戏! 游戏初始

    2024年02月04日
    浏览(23)
  • 基于Python pygame简易版斗兽棋小游戏源代码

    基于Python pygame简易版斗兽棋小游戏源代码 游戏规则如下: 胜利条件: 1.吃掉对方全部棋子 2.走入对方兽穴(不可进入自己洞穴) 吃法: 1.象狮虎豹狼狗猫鼠象 2.同类棋子先行者吃掉对方 3.老鼠可以进河,老鼠在河里时,岸上的动物不能捕食他,他也不能捕食岸上的动物 4.狮虎在河中没

    2023年04月09日
    浏览(74)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包