Funcode编程C++实现坦克大战游戏课程设计
1.内容
在一个战场上,玩家控制坦克,消灭敌方坦克,并防止敌方坦克摧毁我方基地。
2.任务和要求
1).游戏有一个初始游戏页面。
2).按下任意键开始游戏,玩家控制坦克在战场上穿梭,碰到墙时,不能通过。
3).敌方坦克自由移动,每隔2秒改变一个方向,每隔3秒发射一发子弹。
4).敌方坦克共有20辆,每隔5秒,从屏幕上方的左、中、右三个位置依次出现。
5).当玩家被消灭或者我方基地被摧毁时,游戏结束。
二、设计思路
1.数据结构
CSprite* m_pSplash;//开始的静态图
CSprite* m_pStart;//开始的静态图画
CTankPlayer* m_pTankplayer;//指向我方坦克的指针
CBullet* m_pBullet;//指向子弹的指针
CWeapon* m_pAim_nor;//家
流程图:
case 2 case1 case3
(此处略去部分文件内容)
2.算法
定义了四个类,他们分别是子弹类(用来描述子弹的移动,碰撞等),敌方坦克类(用来描述敌方坦克的移动,碰撞等),我方坦克类(用来描述我方坦克的移动,碰撞等),武器类(作为子弹类,敌方坦克类,我方坦克类的基类。)
CGameMain::CGameMain()构造函数:
完成初始化工作:
1、为指针数据分配内存空间,普通数据设置初值。
2、初始化精灵类start,对应“空格开始”精灵。
CGameMain::GameMainLoop(float fDeltaTime )
游戏的主循环,根据游戏的状态切换逻辑
1、当游戏状态为0时,主循环一直循环,但不做处理,而是等待空格键按下,开始游戏。
2、当游戏状态为1时,调用GameInit()方法初始化游戏,然后置游戏状态为2。
3、当游戏状态为2时: 1.调游戏进行中,处理各种游戏逻辑
2.修改游戏结束状态为结束
(查看超全完整文件请下载观看,良心文档谢谢您的支持!)
1