开发工具

Python版本:3.6.4

相关模块:

pygame模块;

以及一些Python自带的模块。

相关文件

关注公众号:Python学习指南,回复“塔防”即可获取相关文件

原理介绍

游戏规则简介:

玩家通过建造箭塔抵御敌人的进攻。

每隔一段时间,将会有一波敌人从左上角的洞穴中诞生,并冲向右下角的城堡。玩家需要做的,则是通过建造箭塔射杀敌人,避免城堡受到敌人攻击,同时,每当你射杀一个敌人,将获得一定的金钱奖励。

游戏失败:

每有一个敌人冲进城堡,城堡的生命值下降一定的数值,当城堡的生命值为0时,则游戏失败。

游戏胜利:

随着时间的推移,敌人的实力会越来越强,数量也会越来越多,所以你是不可能胜利的,哈哈。

游戏界面说明:

T1-T3代表不同的箭塔类型,不同的箭塔类型具有不同的价格以及能力;

XXX代表出售箭塔(半价);

Pause代表暂停游戏;

Quit代表退出游戏。

玩家通过左键选中箭塔/出售箭塔标识,右键放弃当前选中的内容。鼠标中间箭用于控制箭塔射击的方向,否则箭塔将自由射击。

选中箭塔后,将其移动到你认为合适的位置,点击鼠标左键即可在该位置建造一个箭塔(当然前提是你账户余额买得起箭塔,不然只能打怪攒钱了);选中出售箭塔后,将出售箭塔标识放在已建造的箭塔上,点击鼠标左键,即可出售选中的箭塔。

逐步实现:

Step1:明确游戏主逻辑

游戏主逻辑应当是这样的:

代码描述如下:

Step2:实现游戏开始界面

这里的要点在于当检测到鼠标移动到按钮上时,执行按钮变色操作,检测到鼠标点击按钮位置时,跳出游戏开始界面。主代码如下:

Step3:实现游戏选择界面

要点同步骤二,主代码如下:

游戏难度定义在一个.json文件夹中,例如:

Step4:实现游戏界面

首先,将地图设计在.map文件中,不同的数字代表不同的地图元素,例如:

这样就可以很方便地导入不同的地图:

其次就是画工具栏:

如此一来,游戏界面的雏形就出来了。接下来就是每隔一段时间产生一批敌人:

通过按键检测和定义一些函数来实现用户与游戏的交互,例如造塔等操作。其中按键检测的代码如下:

操作函数的定义如下:

当然,当检测到暂停按钮被按下时,你需要将游戏切入暂停界面:

其中按键闪烁的实现主要依靠每隔一小段时间显示一次按键实现,其它要点同步骤二。

最后,就是让箭塔可以不停地射箭并且通过碰撞检测来判断箭是否射中了敌人(射中的话敌人生命值会下降,下降到0时敌人才会死掉),画出游戏界面中还存在着的所有元素:

当然,如果城堡死掉了,那么游戏也就结束了:

Step5:实现结束界面

要点同步骤二,主代码如下:

All Done!完整源代码详见相关文件。

Python制作塔防小游戏相关推荐

  1. python html5游戏_【Python】Python制作塔防小游戏

    开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Python自带的模块. 相关文件 原理介绍 游戏规则简介: 玩家通过建造箭塔抵御敌人的进攻. 每隔一段时间,将会有一波 ...

  2. python塔防小游戏代码_Python制作塔防小游戏

    开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Python自带的模块. ​ 原理介绍 游戏规则简介: 玩家通过建造箭塔抵御敌人的进攻. 每隔一段时间,将会有一波敌人从 ...

  3. python 玩公众号游戏_Python入门太难?不如从玩塔防小游戏开始,玩通关就能学会编程...

    我一直认为,在python入门阶段学习基础理论,太枯燥.所以我们整理了很多有关python的项目案例,有详细教程还有源码,希望能帮助更多对python感兴趣的人. 这是其中一个适合入门的Python项 ...

  4. python3小游戏源代码_Python入门塔防小游戏,开发步骤和源码,带你轻松学python...

    在上一篇文章中,我介绍了有关python入门塔防小游戏的一些功能,下面我继续讲解有关这个小游戏的大致开发步骤. 开发工具还是: Python版本:3.6.4 相关的模块有:pygame模块,以及一些p ...

  5. android 小游戏源码_Python入门太难?不如从玩塔防小游戏开始,玩通关就能学会编程...

    我一直认为,在python入门阶段学习基础理论,太枯燥.所以我们整理了很多有关python的项目案例,有详细教程还有源码,希望能帮助更多对python感兴趣的人. 这是其中一个适合入门的Python项 ...

  6. 【源代码】Python制作的赛车小游戏,逆行飙车

    python制作的赛车小游戏,逆行飙车,通过键盘方向键控制 程序运行截图 源代码 import pygame, sys, time, random# pygame 初始化 pygame.init() ...

  7. canvas塔防小游戏-保卫大司马

    项目地址: http://codeape.site:8181/#/protectTheHorse b站地址: https://www.bilibili.com/video/bv1xZ4y1v7ju 基 ...

  8. 年会活跃微信群小游戏有哪些?塔防小游戏经典玩法讲解

    马上接近年底了,很多企业都在准备办一个适合当下环境的年会活动,现在仍是疫情防御阶段,那该如何筹备一个线上活动呢?经调查发现,不少公司会选择TOM小游戏作为一个活动的项目,哪选择什么样的游戏适合呢?一起 ...

  9. Python制作的赛车小游戏源代码,逆行飙车

    python制作的赛车小游戏,逆行飙车,通过键盘方向键控制 程序运行截图: 源代码 import pygame, sys, time, random# pygame 初始化 pygame.init() ...

最新文章

  1. 成功将BlogEngine 1.5 升级到了BlogEngine 2.0
  2. 用python写计算机专业_自学open cv,用Python写的,本人是一名学生党,因为我本专业不是搞计算机的_cc霜_学生党_教育_教育其他...
  3. python 习题集锦
  4. 国内github访问慢的解决方法
  5. mysql实时物化到clickhouse(MaterializeMySQL)
  6. [转]桌面任务栏时间显示为yyyy-M-d,
  7. Module 让 Terraform 使用更简单
  8. 无人值守时代,运维如何保障发布质量?
  9. WPF触发器(Trigger)
  10. linux全符号链接是什么,Linux 下的符号链接到底是个什么鬼?
  11. 实体属性变更历史记录框架(一)-变更历史记录从此无忧
  12. Legion:基于Haskell开发的极简区块链服务器
  13. 新开淘宝店铺如何从0到1
  14. 微信读书产品分析报告(附:信息结构图、功能结构图、产品结构图)
  15. 上位机串口数据检验方式(二)——奇偶校验
  16. 大一新生必看,自学必看,里昂详解数据结构之线性表
  17. python 图灵完备_图灵完备到底是个什么鬼?
  18. 第1部分 基础算法(提高篇)--第1章 贪心算法1425:【例题4】加工生产调度
  19. SpringMVC视频-佟刚-专题视频课程
  20. 图片路径不存在,替换问题图片

热门文章

  1. MuleSoft知识总结-21.Mule组件(Until Successful)
  2. weex android 图标,U乐网址 -官网
  3. GeoServer操作文档
  4. 智能座舱软件平台EX5.0发布,量“声”打造音视觉融合交互体验
  5. 沃尔玛的产品知识图谱
  6. 百度算法大全:更新至2121年
  7. echarts中国地图边缘设置阴影投影效果,并添加散点,大小根据数值改变
  8. 高精速撸project A*B
  9. 算法点滴yan测试+打印
  10. 计算机在航空航天的应用ppt,数字图像处理技术的应用_北京航空航天大学:数字图像处理技术的应用_ppt_大学课件预览_高等教育资讯网...