开发工具

Python版本:3.6.4

相关模块:

pygame模块;

以及一些Python自带的模块。

相关文件

欢迎与我交流

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

原理简介

游戏规则简介:

游戏模式包括单人模式和双人模式。

单人模式中,玩家通过↑↓←→控制飞船行动,J键发射炮弹;双人模式中,玩家一通过↑↓←→控制飞船行动,J键发射炮弹,玩家二通过wsad控制飞船行动,空格键发射炮弹。每击碎一个小行星(或者说陨石),玩家得分加一,若所有玩家均被小行星击中,则游戏结束。

逐步实现:

Step1:定义精灵类

首先,我们定义一下游戏中涉及到碰撞检测的三个精灵类,也就是小行星(陨石)类:

图片

子弹类:

图片

飞船类:

图片

子弹发射后,只需要一直向前飞就行了,小行星和子弹类似,产生后,只需要一直向前飞,然后顺便旋转一下就行了,飞船类则需要拥有发射子弹的能力以及被小行星击中后爆炸的"能力"。

Step2:实现游戏主循环

先初始化:

图片

然后就可以进入游戏主循环了,主循环包括按键检测并根据检测结果行动飞船:

图片

向下移动背景图实现飞船向上移动的效果:

图片

画子弹、飞船和小行星,并进行必要的碰撞检测等操作:

图片

Step3:制作简易的游戏开始和结束界面

游戏开始界面:

图片

游戏结束界面:

图片

Step4:整合游戏开始、游戏进行和游戏结束界面

图片

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

python做飞机大战游戏单机_Python制作简易版飞机大战小游戏相关推荐

  1. c语言小游戏 精简_一个简易的贪吃蛇小游戏C语言源码

    /* *程序名称:贪吃蛇v2.1 *程序描述:一个简易的贪吃蛇小游戏 *版本信息:v2.1 *v1.1版本更新:1:加入菜单选择项 *v1.2版本更新:1:修复菜单选择bug *v1.3班本更新:1: ...

  2. python拍七游戏代码_python实现逢七拍腿小游戏的思路详解

    逢七拍腿游戏 几个小朋友在一起玩逢七拍腿的游戏,从1开始数数,当数到7的倍数或者尾号是7时,拍一下腿.现在从1数到99,假设每个人都没有错,计算一下共要拍腿几次? 第一种实现思路:通过在for循环语句 ...

  3. python如何在前面加井_python入门之井字棋小游戏

    引言: 刚学python好几天了,从java到python,基础学起来确实比较容易,语法掌握,基本概念上都比较容易入脑. 唯一比较郁闷的是老想着用java的语法去学python代码,这点还需要后面慢慢 ...

  4. python开发音乐播放器教程_python开发简易版在线音乐播放器示例代码

    在线音乐播放器,使用python的Tkinter库做了一个界面,感觉这个库使用起来还是挺方便的,音乐的数据来自网易云音乐的一个接口,通过urllib.urlopen模块打开网址,使用Json模块进行数 ...

  5. JavaGUI简易版贪吃蛇小游戏

    做这个小游戏,主要是学习一下游戏制作的基本逻辑,加深对面向对象的理解. 游戏引擎: /*** 大牛程序员写的游戏的公共类 * 使用Game.init()方法初始化游戏* 使用Game.gameOver ...

  6. JS自制简易版数字华容道小游戏

    最近复习了下前端基础知识HTML+JS(是真的非常基础那种,久不用,基本忘完了). 复习了一小部分内容,闲暇之余打算利用刚复习的js基础知识做个小游戏,刚好手机上下载的游戏集中就有一个数字益智游戏-- ...

  7. 基于JAVA实现简易版泡泡堂小游戏

    一.简介--童年记忆 <泡泡堂>是由韩国游戏公司Nexon开发的一款休闲游戏(Casual Game),于2003年在中国大陆上线,由盛大网络运营.游戏讲述了在哈巴森林的一个村落的村民们利 ...

  8. [源码和文档分享]基于JAVA实现简易版泡泡堂小游戏

    一.简介--童年记忆 <泡泡堂>是由韩国游戏公司Nexon开发的一款休闲游戏(Casual Game),于2003年在中国大陆上线,由盛大网络运营.游戏讲述了在哈巴森林的一个村落的村民们利 ...

  9. python做疫情数据分析的框架_Python制作新冠疫情世界地图

    目录 pyecharts模块 简介 Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可.而 Python 是一门富有表达力的语言,很适合用于数据处 ...

最新文章

  1. python中read table_Python Pandas pandas.read_sql_table函数方法的使用
  2. 【福利贴】拿去!1024凑个整!
  3. 阿里云云计算服务 备案期间服务器免费
  4. 记一次WiFi芯片W600上串口只能回显的问题
  5. Spring中RedirectAttributes的用法
  6. python很简单。。。。
  7. 英语------------单词复数形式的规律
  8. 问题 | golang开发之go.mod的使用方法
  9. php不使用插件导出excel
  10. H.264/AVC率失真优化( RDO) 策略研究
  11. Ubuntu下apache启动出错:Permission denied: make_sock: could not bind to address
  12. AD元件库和封装库转换成KiCAD库方法
  13. hmcl手机版下载_【HMCL启动器下载】HMCL我的世界启动器电脑版 v3.2.144 最新版-开心电玩...
  14. 慕课版软件质量保证与测试(第四章.课后作业)
  15. 计算机实验excel总结,EXCEL实验报告
  16. NXP S32K1 Timer之LPIT模块Driver分析
  17. php页面背景url不显示图片,background-image:url(XXXX.gif)为何不显示背景图片_html/css_WEB-ITnose...
  18. 声纹识别demo_声纹识别 iOS SDK 文档
  19. Tecplot进阶——如何用Tecplot制作一张满足论文投稿要求的图片
  20. REST-Assured,接口自动化的 “瑞士军刀“- 断言篇

热门文章

  1. 东芝21vf6c_东芝开发21寸高清裸眼3D立体液晶屏
  2. cvc-complex-type.2.4.d: 发现了以元素 ‘base-extension‘ 开头的无效内容。此处不应含有子元素。
  3. Swift-27个知识点
  4. python2基础难点_第2课Python基础知识,第二课,python,要点
  5. 51Sim-One V2X车联网标准与发展系列文章
  6. CentOS7安装MySQL8.0和Nginx
  7. 四象限法推导lm曲线_四象限法规划问题?
  8. 汇编指令lea 和 mov 区别
  9. 用TL494实现单回路控制器
  10. Centos8安装vsftpd