恐龙跳一跳游戏python_【Python】Python代码制作”恐龙跳一跳”小游戏
开发工具
Python版本:3.6.4
相关模块:
pygame模块;
以及一些Python自带的模块。
相关文件
环境搭建
安装Python并添加到环境变量,pip安装需要的相关模块即可。
原理介绍
游戏规则简介:
玩家通过空格键控制一只小恐龙的前进方式,当小恐龙触碰到植物或者飞龙时,游戏结束。小恐龙躲避的植物和飞龙越多,得分越高。
逐步实现:
Step1:定义精灵类
为了方便实现小恐龙和植物以及飞龙之间的碰撞检测,我们先定义一些精灵类,包括:
① 植物类
其中,move函数的作用为使随机生成的植物不断地左移,来实现小恐龙不断右移的效果。
② 飞龙类
飞龙类的定义要略微复杂一些,因为如果我们想让飞龙飞起来更逼真一些,就必须每隔一段很小的时间,就对飞龙的状态进行转换。具体而言,飞龙的飞行状态有两种,即翅膀向上和翅膀向下:
我们需要做的就是每隔很短的一段时间,就让飞龙的翅膀由其中一种姿势转为另外一种姿势。
③ 小恐龙类
小恐龙类的定义与飞龙类类似,只不过状态要更加丰富一些,并且通过匀加速直线公式模拟恐龙的跳跃和下降的动作。
Step2:定义场景类
我们需要定义一个简单的场景类(道路和云等场景),来使我们的游戏效果更加逼真:
这里唯一需要注意的就是场景的左移速度应当与植物类一致(毕竟它们理论上都应当是相对静止的),并且需要三张场景图同时左移来保证画面的连续性。
Step3:游戏主循环
先初始化,内容包括加载游戏素材文件、实例化之前定义的精灵类和场景类、定义一些必要的常量和用户事件等:
然后就可以进入游戏主循环了:
主循环主要包括四个功能,一是事件检测;二是不断地产生、移动并画出相应的场景和精灵类;三是碰撞检测;四是统计并显示当前分数。
All Done!
恐龙跳一跳游戏python_【Python】Python代码制作”恐龙跳一跳”小游戏相关推荐
- 一行Python一行代码制作20款经典小游戏
今天分享一个有趣的Python游戏库freegames,它包含20余款经典小游戏,像贪吃蛇.吃豆人.乒乓.数字华容道等等,依托于标准库Turtle. 我们不仅可以通过1行代码进行重温这些童年小游戏,还 ...
- 教你用Python一行代码制作20款经典小游戏~
今天分享一个有趣的Python游戏库freegames,它包含20余款经典小游戏,像贪吃蛇.吃豆人.乒乓.数字华容道等等,依托于标准库Turtle. 我们不仅可以通过1行代码进行重温这些童年小游戏,还 ...
- Python四行代码实现的猜数字小游戏,基于thinker,带GUI界面
Python四行代码实现的猜数字小游戏,基于thinker,带GUI界面 from tkinter import * from tkinter import messagebox 导入提示框 from ...
- html5制作端午节游戏,意派Epub360怎么制作一个端午节H5小游戏页面?
六月已经过了三分之一,"粽子节"也马上要到了,每当这时候,又到新媒体运营人和设计师头秃的时刻,在传统的节日里,如何把传统的节日使用互联网元素表现,让更多的年轻人能够参与进来,H5这 ...
- 计算机课玩的小游戏怎么找,能够回味电脑课的小游戏是什么 怎么制作这两个小游戏...
能够回味电脑课的小游戏是什么,怎么制作这两个小游戏.在我的世界里回味已经是很多人的游玩乐趣之一了,因为这个游戏超高的自由度还有各种玩法可以让我们回味童年的种种. 这些小游戏乍一看都不怎么需要技巧 简单 ...
- python50行小游戏_50行python代码实现的贪吃蛇小游戏
50行python代码实现的贪吃蛇小游戏 发布于 2014-09-01 21:26:24 | 1337 次阅读 | 评论: 1 | 来源: 网友投递 Python编程语言Python 是一种面向对象. ...
- python手机版做小游戏代码大全-Python大牛手把手教你做一个小游戏,萌新福利!...
原标题:Python大牛手把手教你做一个小游戏,萌新福利! 引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规 ...
- python小游戏-16行代码实现3D撞球小游戏!-源码下载
python小游戏-16行代码实现3D撞球小游戏!-源码下载 所属网站分类: 资源下载 > python小游戏 作者:搞笑 链接: http://www.pythonheidong.com/bl ...
- python游戏代码怎样才能玩好英雄联盟_用Python编写代码分析《英雄联盟》游戏胜利的最重要因素...
原标题:用Python编写代码分析<英雄联盟>游戏胜利的最重要因素 点击上图查看 Python Web 开发入门实战[教学大纲+教学进度表] 介绍 在过去的几年里,电子竞技社区发展迅速,曾 ...
- 用Python代码做一个简单数字小游戏
#作者是一个十三岁的小男孩. 编辑工具 电脑Python 需要模块 random #今日用代码做一个猜数小游戏 #话不多说,上代码!!! import random number = random.r ...
最新文章
- Unit05: 创建和访问数组 、 数组的常用方法_1
- No.3 clojure 调用 Java
- filezilla 设置服务器_java项目部署到linux服务器,微信小程序后台springboot项目部署到腾讯云服务器(图文详解)...
- 收藏 | 超轻量目标检测模型NanoDet,比YOLO跑得快,上线两天Star量超200
- Linux文件系统性能测试工具fdtree和iozone
- 2021年宁夏省高考成绩查询入口,2021年宁夏高考成绩查询通知【附官网查询入口】...
- BZOJ 1933 Bookcase 书柜的尺寸
- focal loss小结
- Python之OpenGL笔记(25):动态管线绘制球体
- 编程把系统窗口背景颜色设置成护眼的淡绿色
- 8法则的挑战:长尾理论与长尾效应
- win 7 安装python 失败 提示Service Pack 1
- python视频压缩_Python 怎样将视频压缩?并且尽量不会影响到清晰度
- 前端学习笔记 - HTML+CSS
- IntelliJ IDEA 破解方法
- DLL 导出方法(两种)
- 三轴加速度传感器BMA250解读
- 一个程序员悲催的网络爱情
- java poi excel合并单元格 相同的列以及在有父级约束条件下合并二级列
- 基于 Flink + Kafka 的实时数仓建设实践(附源码)
热门文章
- cmd 删除本地文件夹及其文件
- Android自定义View实战:简约风歌词控件,Android开发者值得深入思考的几个问题
- MySQL中的事物、索引、视图、触发器
- Windows7 快捷键
- SOLD格雷母线的简介和运用
- URL地址的两种格式
- 改造layui-树(tree)组件的添加、编辑、删除操作(补充上一篇)
- Linux:modprobe: ERROR: could not insert ‘tcrypt‘: Resource temporarily unavailable
- 阿里云宣布合并优酷CDN业务降价35%击穿行业底线
- 撤销还是注销,你分得清吗?