云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > +c+课程设计打飞碟--大学毕设论文

+c+课程设计打飞碟--大学毕设论文

  • 62 次阅读
  • 3 次下载
  • 2025/12/10 20:44:47

计算机科学与技术系

课程设计报告

2014~2015学年第二学期

课学学专指

业导

班教生

程 程序设计语言综合设计 名 L 号 级 师

课程设计名称 C++课程设计——打飞碟

2015年6月

功能描述

本游戏源自科学幻想打飞碟!

1、 游戏运行,初试界面出现‘空格开始’的提示。

2、 玩家按空格开始游戏,天上开始向下掉飞碟。

3、 游戏开始后,用户每点击一次鼠标左键,发射一个炮弹。

4、 被打到的飞碟会消失,屏幕上方的总分会加上该飞碟对应的分数。 5、 游戏时长一局共30s。

6、 一局游戏完成后,屏幕重新出现“空格开始”的标志,用户按空格可以继续游戏,如此往复。

数据结构

1、int m_iGameState; // 游戏状态,0:结束或者等待开始;1:初始化;2:游戏进行中

2、int m_iGameScore; // 本局游戏积分

3、float m_fGameTime; // 本局游戏当前已经进行的时间,大于设定的时间之后,游戏结束

4、Float m_fDapaoRotation; //大炮初始位置 5、CSprite* m_pDapao; //大炮精灵 6、CTextSprite* m_pTime; //时间文字显示精灵 7、CTextSprite* m_pScore; //分数文字显示精灵 8、CSprite* m_pKaishi; //空格开始精灵 9、CSprite* m_pZhunxing; //准心精灵

10、Float m_fPaodanLeftTime ;// 记录发射一发炮弹后,距离能发射第二发炮弹还剩多少时间

11、float m_fScreenLeft ;// 屏幕上下左右4个边界值 12、float m_fScreenRight ; 13、float m_fScreenTop ; 14、float m_fScreenBottom ;

15、vector m_vPaodan;//炮弹精灵数组

16、int m_iCount; // 游戏中飞碟出现的架数 17、vector m_vUfo;//飞碟数组 18、UFO* m_pHead; // 链表表头 19、static float m_fBaseTime[3] ; // 三种飞碟出现的时间间隔 20、static float m_fCurrentTime[3] ; // 三种飞碟,前一架出现后,距后一架出现剩余的时间 21、static int m_iScore[3] ; // 三种飞碟,击中后,玩家得分

22、static float m_fSpeed[3] ; // 三种飞碟的速度

23、int m_iShootScore ; // 一局游戏得分 24、static int m_iHighScore[5] ;//分数最高的五个

25、CTextSprite* m_vScoreText[5];//游戏下方的文字显示精灵 26、CEffect* m_pGunFire; 27、CEffect* m_pExplode; 28、CSound* m_pKaipao; 29、CSound* m_pBaozha;

流程图

按空格键开始游戏 通过鼠标控制大炮的炮口朝向和发射,准心精灵随鼠标移动 否 准心是否在飞碟上 是 点击鼠标左键,发射炮弹,获得分数

设计思路

本次实验可分为以下八个小的实验。 实验一:实验的创建 实验内容:

步骤一、打开FunCode,创建一个的C++语言项目; 步骤二、导入UFO模板。

实验思路:导入的模板不仅包括界面设计,还包括该游戏可能要用到的其他精灵。添加到“场景”中的精灵,都已经取好名称,并根据程序要求设置好中心点、链接点等,就可以直接编程了。

实验二: 改变大炮炮口朝向 实验内容:

步骤一、准心随鼠标移动 步骤二、剩余时间显示

步骤三、改变大炮炮口朝向

实验思路:将鼠标的坐标赋给准心,同时隐藏掉鼠标。同时计算大炮炮口和鼠标之间连续与x方向的夹角,以此来设置炮口朝向,具体可以参加实验指导。

实验三: 发射炮弹 实验内容:

步骤一、鼠标单击发射炮弹 步骤二、判断炮弹是否越出世界边界

实验思路:系统捕捉到鼠标单击消息的时候,获取大炮炮口中心点的坐标作为炮弹发射点,通过炮弹模板精灵创建炮弹精灵,使用SpriteMoveTo函数使炮弹移动到鼠标位置也即是准心精灵的位置,这样就实现了发射炮弹的效果了。

实验四: 显示多架飞碟 实验内容:

步骤一、初始化显示飞碟

步骤二、处理飞碟与世界边界的碰撞

实验思路:随机飞碟出现的x坐标位置,以精灵模板ufo_muban0创建飞碟精灵,同时调用SetSpriteLinearVelocityY函数使其运动即可。

实验五: 三种飞碟同时出现 实验内容:

步骤一、分情况创建三种飞碟精灵

步骤二、根据飞碟精灵名称创建节点到链表 步骤三、根据飞碟精灵名称删除链表节点

实验思路:使用一个for循环分别创建不同的飞碟精灵,当循环因子为0的时候通过ufo_muban0创建飞碟精灵,循环因子为1的时候以ufo_muban1创建飞碟,循环因子为2的时候以ufo_muban2创建飞碟精灵。同时调用AddToList函数将精灵名称加入链表中。

使用AddToList创建精灵节点,使用一个while循环遍历链表,判断pNode->pNext为NULL的时候,说明已经遍历到了链表的最后一个位置,此时将新添加的精灵名称赋给pNode->pNext即可。

使用DeleteNode删除精灵名称节点,首先要判断链表是否为空,如果不是则判断表头的精灵名称是否和传入的精灵名称相同,如果相同则删除表头,否则使用一个while循环判断节点中与传入精灵名称相同的节点,删除即可。

实验六: 射击飞碟 实验内容:

步骤一、处理炮弹精灵和飞碟精灵的碰撞 步骤二、记录本局分数

搜索更多关于: +c+课程设计打飞碟--大学毕设论文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

计算机科学与技术系 课程设计报告 2014~2015学年第二学期 课学学专指业导班教生姓程 程序设计语言综合设计 名 L 号 级 师 课程设计名称 C++课程设计——打飞碟 2015年6月 功能描述 本游戏源自科学幻想打飞碟! 1、 游戏运行,初试界面出现‘空格开始’的提示。 2、 玩家按空格开始游戏,天上开始向下掉飞碟。 3、 游戏开始后,用户每点击一次鼠标左键,发射一个炮弹。 4、 被打到的飞碟

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com