# 飞机大战 **Repository Path**: etimesyh/AircraftBattle ## Basic Information - **Project Name**: 飞机大战 - **Description**: 飞机大战,是一款经典的飞机游戏,训练学生的面向对象思维,并掌握cocos的库。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2019-06-14 - **Last Updated**: 2023-02-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 飞机大战 #### 介绍 飞机大战,是一款经典的飞机游戏,训练学生的面向对象思维,并掌握cocos的库。 #### 软件架构 1.界面架构(游戏开始界面;游戏主界面;游戏结束界面) 2.使用cocos2d + pygame + pyglet进行绘制; 3.由于是单机游戏,无需使用数据库; 4. 游戏开始界面元素(背景 + 飞机大战 + 飞机 + menu(进入、退出)) 5. 游戏主界面元素(滚动背景 + 英雄 + 敌机(周期性、随机出现) + 子弹 + 暂停键 + 积分表示) 6. 游戏结束界面(背景 + 飞机 + 积分 + menu(重新开始、退出)等) #### 重要技术 1. cocos中的基本角色概念(director、scene、layer、menu、sprite、text等) 2. pygame中的音效功能(pygame.mixer; Sound对象(.ogg), music对象(.mp3)) 3. pyglet的主要功能(一般纹理对象/动画对象的创建与管理) 4. cocos中的不同对象的事件通知技术(事件注册、分发、监听与响应) 5. cocos中的碰撞检测技术(.cshape属性;collision_model相关处理(碰撞管理、碰撞结果判断等) 6. cocos中的时间调度技术(schedule, schedule.interval) 7. cocos中的基本操作事件(on_mouse_press/release/drag等) 8. 面向对象的继承概念(优化代码:如BaseMenu;nodes等) 9. 面向对象的封装概念(将对象自己的行为封装;如敌机的rush_out,子弹的run) 10.面向对象的多态概念(鸭子函数;如:子弹、飞机、敌机的explode) 11.设计优化(如:子弹库、敌机库、活动子弹库、活动敌机库、活动子弹库等;batchnode渲染~测试一下) 12. 设计模式中的单例、消息通知等。 13. 使用公共模块(如:roles, config、events等) 14. 消息屏蔽(director.director.window.push_handlers/remove_handlers的处理,is_event_handler属性的处理) #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 1. 进入游戏界面,可以选择开始游戏(游戏开始),也可退出游戏(游戏结束); 2. 玩家飞机最初出现在屏幕底部中央,玩家可以拖拽鼠标左右移动飞机,飞机子弹自动生成; 3. 游戏开始时,敌机按照随机出现在天空中,屏幕中向下移动; 4. 玩家的任务是击落敌机,每击落一架敌机计分100; 5. 游戏过程中可以暂停游戏(子弹、敌机、自己飞机无法移动);也可以恢复游戏(均恢复移动); 5. 当只要有敌机撞到了玩家的飞机,飞机爆炸游戏结束;进入游戏结束界面; 6. 游戏结束页面中可以选择“重新游戏”,也可以“退出游戏”;并在结束页面中显示积分。 #### 开发计划 1. 添加积分文本(显示在gameplay中) 2. 添加暂停按钮和功能 3. 添加GameOver页面功能 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)