牛逼,两百行Python代码带你打造一款《天天酷跑》游戏!

这篇具有很好参考价值的文章主要介绍了牛逼,两百行Python代码带你打造一款《天天酷跑》游戏!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近一段时间,晓晓发现已经好久没有给大家带来趣味游戏的案例展示了。
刚好晓晓趁着周末写了一个《天天酷跑》的游戏,因此拿来跟大家一起分享,和大家一起来重温经典的酷跑游戏。

01、准备开发环境

俗话说,“工欲善其事,必先利其器”,我们先来介绍一下本次我们用到的库有哪些。(需要注意的是,由于很多的小伙伴都会反映很多库安装之后,会出现报错,找不到相应的模块),这是因为库版本的不同,所以跟大家详细的介绍一下程序所使用的各个环节及其对应的版本,这次我们使用的工具和其版本号如下所示:

PyCharm:2019.1.3

python3.5+,其中内置sys和random库

pygame:1.9.6

02、程序整体思路

介绍完我们的基础环境之后,接下来我们来介绍一下今天游戏设计的思路。

1).游戏初始化

  • 利用pygame创建特定大小的游戏窗口。

  • 显示游戏的初始界面,提示用户开始游戏

  • 在游戏界面中设置背景图片,并显示人物、障碍物和金币等物体。

2).游戏控制

  • 人物自动向前奔跑,按空格键控制人物跳跃。

  • 利用addObstacle函数创建障碍物。

  • 利用updateScreen函数不断更新界面中物体的显示。

3).碰撞检测

  • 利用ListenKeyBoard函数监控用户的键盘输入,并检测人物和障碍物金币等是否碰撞。

  • 人物和障碍物碰撞:当检测到人物和障碍物的位置信息有交集时,判断为碰撞,人物生命值减一,障碍物消灭。

  • 人物和金币碰撞:当人物撞到金币时,金币消灭,得分+100。

  • 当人物成功躲避障碍物时,得分+10。

  • 利用judgeState函数来判断游戏是否结束。

  • 游戏结束时显示最终得分,并提示用户按“Enter”键重新开始游戏。

牛逼,两百行Python代码带你打造一款《天天酷跑》游戏!,python,游戏,pygame,Python爬虫,Python编程,开发语言

03、带你一步一步写游戏

1).首先
整体看一下程序是如何实现初始化的:

牛逼,两百行Python代码带你打造一款《天天酷跑》游戏!,python,游戏,pygame,Python爬虫,Python编程,开发语言

程序是由pygame库为主体来实现的,首先程序中制定了游戏窗口的大小,以及程序不同模块的背景图,例如障碍物的图片,游戏进行时的背景图和游戏结束时的背景图。

2).游戏开始的界面

当运行程序后,程序首先会运行self.startGame这个函数,并给出游戏的介绍界面,提示用户开始游戏。

牛逼,两百行Python代码带你打造一款《天天酷跑》游戏!,python,游戏,pygame,Python爬虫,Python编程,开发语言

self.startGame函数中,首先绘制了游戏的初始界面,然后开始监控用户的键盘输入,当用户输出“ESC”键的时候,则直接退出游戏,否则的话,就进入真正的游戏。初始化的界面如下图所示:

牛逼,两百行Python代码带你打造一款《天天酷跑》游戏!,python,游戏,pygame,Python爬虫,Python编程,开发语言

3).创建各类物体

进入游戏之后,我们就需要创建人物、障碍物和金币以及游戏背景的设置。由于人物和障碍物已经游戏背景都通过类的方式来创建的,且它们的类形式非常类似,这里我们就以障碍物和金币类来进行简单的讲解。

牛逼,两百行Python代码带你打造一款《天天酷跑》游戏!,python,游戏,pygame,Python爬虫,Python编程,开发语言

在障碍物类中,类的初构造函数中,主要设置了类对象的显示图像(self.surface)、坐标信息(self.x、self.y)和长宽信息(self.w、self.h)。而self.getPos函数用来返回当前对象的坐标和长宽信息,self.judgeCollision函数则是用来进行物体的碰撞检测。

在程序中,通过self.addObstacle函数就可以添加障碍物对象,并随机设置障碍物在游戏界面中所处的高度位置。在游戏中障碍物目标如下图所示。

牛逼,两百行Python代码带你打造一款《天天酷跑》游戏!,python,游戏,pygame,Python爬虫,Python编程,开发语言

上图中,被红色框框住的就是障碍物,可以看到,障碍物之间有着不同的高度坐标,以及不同的间隔宽度,这样才能为跑酷人物带来不同的难度挑战。人物则是被蓝色框框住的目标,而位于画面正上方,被绿色框框住的则是“剩余生命值和得分”的信息。

4).用户键盘监控和碰撞检测

通过对于用户的键盘输入监控,来控制人物的运动,例如是跳跃还是退出游戏。

牛逼,两百行Python代码带你打造一款《天天酷跑》游戏!,python,游戏,pygame,Python爬虫,Python编程,开发语言

上图中,我们可以看到当用户输入空格键时,如果人物当前的state是0,则人物要完成一级跳,如果人物当前的state是1,则人物要完成二级跳。如果当前self.game_state是1,表示人物已经死亡,那么当用户输入“Enter”键时,游戏将重新开始。

对于人物和障碍物或者是金币的碰撞检测,则是通过障碍物类中的self.judgeCollision函数来进行判断。

牛逼,两百行Python代码带你打造一款《天天酷跑》游戏!,python,游戏,pygame,Python爬虫,Python编程,开发语言

如果判断是金币的话,则用户的得分+100,金币被吃掉。否则的话,用户的生命值减一,障碍物消失掉。

5).游戏界面不断刷新和判断游戏结束

通过self.updateScreen函数,可以实现游戏界面的不断的刷新。

牛逼,两百行Python代码带你打造一款《天天酷跑》游戏!,python,游戏,pygame,Python爬虫,Python编程,开发语言

上述的程序中,分别对游戏背景的位置、剩余生命值和得分的数值以及障碍物的数量和人物的运动状态进行更新后,就可以利用screen.blit函数在游戏界面中展示出来,通过不断的更新,让游戏看起来就是不断的运动的过程。

通过self.judgeState函数,来判断游戏是否结束,如果游戏结束了,则会展示出用户所获得分,并提示用户按“Enter”键重新开始游戏。

牛逼,两百行Python代码带你打造一款《天天酷跑》游戏!,python,游戏,pygame,Python爬虫,Python编程,开发语言

以上就是小编今天为大家带来的关于跑酷程序的分享和讲解,有兴趣的同学,可以在公众号后台找小助手源码。感受一下经典的跑酷游戏所带来的乐趣吧。

感兴趣的小伙伴,完整代码和全套Python学习资料免费赠送,具体看下方。

牛逼,两百行Python代码带你打造一款《天天酷跑》游戏!,python,游戏,pygame,Python爬虫,Python编程,开发语言

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

牛逼,两百行Python代码带你打造一款《天天酷跑》游戏!,python,游戏,pygame,Python爬虫,Python编程,开发语言
牛逼,两百行Python代码带你打造一款《天天酷跑》游戏!,python,游戏,pygame,Python爬虫,Python编程,开发语言

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!牛逼,两百行Python代码带你打造一款《天天酷跑》游戏!,python,游戏,pygame,Python爬虫,Python编程,开发语言

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

牛逼,两百行Python代码带你打造一款《天天酷跑》游戏!,python,游戏,pygame,Python爬虫,Python编程,开发语言

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

牛逼,两百行Python代码带你打造一款《天天酷跑》游戏!,python,游戏,pygame,Python爬虫,Python编程,开发语言

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

牛逼,两百行Python代码带你打造一款《天天酷跑》游戏!,python,游戏,pygame,Python爬虫,Python编程,开发语言

六、面试宝典

牛逼,两百行Python代码带你打造一款《天天酷跑》游戏!,python,游戏,pygame,Python爬虫,Python编程,开发语言

牛逼,两百行Python代码带你打造一款《天天酷跑》游戏!,python,游戏,pygame,Python爬虫,Python编程,开发语言文章来源地址https://www.toymoban.com/news/detail-759598.html

简历模板牛逼,两百行Python代码带你打造一款《天天酷跑》游戏!,python,游戏,pygame,Python爬虫,Python编程,开发语言
牛逼,两百行Python代码带你打造一款《天天酷跑》游戏!,python,游戏,pygame,Python爬虫,Python编程,开发语言 若有侵权,请联系删除

到了这里,关于牛逼,两百行Python代码带你打造一款《天天酷跑》游戏!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • c++编写天天酷跑游戏

    素材加Q群:723550115 Start importing material (background picture) Create a graph window and define macros for the window Import game background (scroll cycle) Local modularization Game background coordinates ​ The picture is the Y coordinate of motion, and the definition amount is constantly changed to keep the last y coordinate change initialization

    2024年02月16日
    浏览(42)
  • 简单的天天酷跑小游戏实现

    2024年02月02日
    浏览(36)
  • [C/C++]天天酷跑超详细教程-中篇

     个人主页:北·海  🎐CSDN新晋作者  🎉欢迎 👍点赞✍评论⭐收藏 ✨收录专栏:C/C++ 🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!🤗 天天酷跑,一款童年游戏,主要是进行跳跃操作,和躲避障碍物,中篇主要实现人物的下蹲,随机

    2024年02月10日
    浏览(47)
  • [C/C++]天天酷跑游戏超详细教程-上篇

     个人主页:北·海  🎐CSDN新晋作者  🎉欢迎 👍点赞✍评论⭐收藏 ✨收录专栏:C/C++ 🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!🤗 天天酷跑,一款童年游戏,主要是进行跳跃操作,和躲避障碍物,该结主要实现背景图的连续播

    2024年02月11日
    浏览(36)
  • 带你深入了解spark(重生之最牛逼最详细版)

    Spark 是当今大数据领域最活跃、最热门、最高效的大数据通用计算平台之一。 spark官网:Apache Spark™ - Unified Engine for large-scale data analytics  spark概述 第一阶段:Spark最初由美国加州伯克利大学( UC Berkelcy)的AMP实验室于2009年开发,是基于内存计算的大数据并行计算框架,可用于

    2024年04月14日
    浏览(36)
  • C语言两百行代码实现简易扫雷

    扫雷应该是我们接触到的第一个电脑游戏,用c语言实现扫雷对初学者来说是一个不错的锻炼 编写扫雷只需要用到数组、函数和生成随机数的知识,所以比较适合成为编程学习者编写的第一个小游戏。 如果不熟悉生成随机数的知识,可以去我的上一篇文章看看《C生成随机数》

    2024年02月05日
    浏览(47)
  • 两百行C++代码实现yolov5车辆计数部署(通俗易懂版)

    本文是文章传统图像处理方法实现车辆计数的后续。这里用OpenCV实现了基于yolov5检测器的单向车辆计数功能,方法是撞线计数。该代码只能演示视频demo效果,一些功能未完善,离实际工程应用还有距离。 实现流程: (1)训练yolov5模型,这里就没有自己训练了,直接使用官方

    2024年02月06日
    浏览(68)
  • 天天crud?试试这个低代码框架

    hi, 后端的小伙伴,你是不是常常因为找不到漂亮的后台模板而烦恼?好不容易找到了一款却发现很难拓展?或者只有前端代码,而没有后端代码?那么从此你再也不用烦恼了,因为JNPF工具,它来了,而且100% 源代码交付! JNPF开发平台是一款基于 springboot+vue.js 的低代码开发

    2024年01月19日
    浏览(36)
  • python入门级新手接单一单两百块,经验方法分享

    如何利用python在网上接单赚钱,兼职也能月入过万 学习python编程,不仅可以找到一份高薪工作,而且不打算转化或者是在校学生的话,也能为你的日常生活提高一些帮助,比如:自动化办公 爬取一些数据信息之类的.....另外闲暇时间也可以在网上接点小单,增加些收入 至少

    2023年04月19日
    浏览(41)
  • 使用Excel打造一款个人日志系统

    我很多年前看过晨间日志的奇迹这一本书,我深受启发,这本书的中心思想就是通过九宫格的方式写连体日志,自己可以方便查找而有而且有激情去完成这个日志,书中推荐的方法是使用excel写日志。但是自己总感觉用excel过于麻烦,打开电脑,写日志,可能10几分钟过去了。

    2023年04月19日
    浏览(37)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包