找回密码
 立即注册
搜索
热搜: 活动 交友
查看: 11|回复: 1

中B项目:直十出击Gunship

[复制链接]

36

主题

102

回帖

3781

积分

超级版主

积分
3781
发表于 昨天 20:38 | 显示全部楼层 |阅读模式
直10出击

武直-10是中国人民解放军第一种专业武装直升机和亚洲各国第一种自研专业武装直升机。结束了中国人民解放军陆军航空兵长期依赖法国海豚直升机的改型兼当武装直升机的历史,大大提高了中国人民解放军陆军航空兵的航空突击与反装甲能力。




还有我们功勋试飞员的故事




我们要做什么呢?一款横版空战游戏!

游戏分类:横版过关类 (请同学们先了解在游戏分类中什么叫横版过关)
飞机运动:上键控制飞机飞起,松开就下落(类似Flappy Bird)
          左右键加速减速,实际表示为:
          障碍向左运动的速度,就是飞机向右飞行的速度。
计分规则:越过障碍加分
碰撞规则:飞机视为矩形,实际两个矩形碰撞(参考ppball逻辑)
未来考虑实现更多功能,比如shoot!!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

36

主题

102

回帖

3781

积分

超级版主

积分
3781
 楼主| 发表于 昨天 20:42 | 显示全部楼层


请先下载gunship.zip并解压缩到本地硬盘。





这是Gunship V0.9的代码,请先输入并运行调试。
注意L59的self.font = pygame.font.Font('simkai.ttf', 32)  ,zip里没有打包这个font文件,你可以自己找一个font文件来使用,比如以前项目里用过的,当然更欢迎自己找喜欢的。Windows电脑的font文件夹位置:c:\windows\fonts\

Gunship项目从编程角度,引入了新概念:Framework,也就是程序框架。
大家可以看到,有一个framework类定义:
L51:class CLS_framework(object): # 框架类定义
Framework用来实现对整个程序的资源统一管理,可以看到:
__init__()      # 初始化
play()           # game运行中的业务逻辑入口
draw_fileld() # 绘制背景
stone_do()   # 障碍物相关判断
keydown()    # 键盘按下的统一处理
keyup()        # 键盘松开的统一处理
然后,在主程序中,L101: fwork = CLS_framework()  生成框架对象实例instance,完成了程序初始化,也就是说程序正式启动!
后面while True: 里的内容基本不用修改,最后一句fwork调用框架里的代码。

V0.9运行后的到的版本,可以用类似flappy bird的方式控制飞机上下:按上键飞机飞起,松开就下坠。
V0.9还没有进行碰撞检测,因此是“无敌”且“无计分”版本,所以也就还没有到V1.0

作业:输入、调试、运行成功后,尝试增加碰撞检测,判断飞机是否碰到障碍。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|RealDevClub ( 沪ICP备2024093864号-1 )

GMT+8, 3-21-2026 05:04 , Processed in 0.067453 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表