03-实验报告范例

03-实验报告范例

ID:37955518

大小:3.24 MB

页数:13页

时间:2019-06-03

03-实验报告范例_第1页
03-实验报告范例_第2页
03-实验报告范例_第3页
03-实验报告范例_第4页
03-实验报告范例_第5页
03-实验报告范例_第6页
03-实验报告范例_第7页
03-实验报告范例_第8页
03-实验报告范例_第9页
03-实验报告范例_第10页
资源描述:

《03-实验报告范例》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、“猴子选大王”实验报告游戏截图图一:开始游戏图二:猴子队列就绪图三:游戏中,按空格键淘汰猴子图四:选出大王,即最后剩下的一只图五:重新开始一局功能描述本游戏源自典故猴子称大王!1、游戏运行,初试界面出现‘空格开始’的提示。2、玩家按空格开始游戏,6只猴子排成一列。3、游戏开始后,用户每按一次空格键,随机从猴子队列中产生一个被淘汰的猴子4、被淘汰的猴子会出局,加入屏幕下方的淘汰者猴子队列中。5、站在被淘汰猴子后方的选手依次往前移,填补空白6、用户继续按空格淘汰猴子,值到剩下唯一的猴子,就是大王!这样,一局游戏完成。7、一局游戏完成后,屏幕重新

2、出现“空格开始”的标志,用户按空格可以继续游戏,如此往复。流程图数据结构1.CSprite*m_Monkeys[6]用一个CSprite的指针数组来保存猴子精灵2.floatm_fLocation[6];用一个浮点型数组存储猴子位置(因为6只猴子站成一排,y坐标值是相同的,因此该数组保存6只猴子的x坐标值)。其中m_Monkeys[i]对应的位置为m_fLocation[i]3.m_iNumMokeys当前备选猴子数量,即截图中上层队列的猴子数4.m_iNumLoseMonkeys淘汰的猴子数量,即下层队列中的猴子数5.m_iChooseM

3、onkey本轮淘汰的猴子编号6.m_iMoveMonkey淘汰猴子后,后面需要移动的猴子数7.m_fDelayTime猴子向前移动的延迟时间算法描述有六只猴子,存储在m_Monkeys数组中,对应的位置则在m_fLocation中,对应关系为m_Monkeys[i]àm_fLocation[i];游戏状态m_iGameState分为三种状态0,1,2,其中0表示游戏结束状态,1表示游戏初始化,2则表示游戏运行状态;0à1的转换为“空格开始”,初始化函数为GameInit函数;1à2的转换自然发生,即游戏初始化函数后会自动将游戏状态从1置为2

4、2表示游戏运行状态,在该状态,敲击空格可以选出淘汰的猴子2à0的转换为当猴子的备选队列中只剩下一只猴子的时候发生,该猴子便是大王了CGameMain::CGameMain()构造函数完成初始化工作1、设置游戏状态为1。2、初始化精灵类start,对应“空格开始”精灵。3、设置随机数种子CGameMain::GameMainLoop(floatfDeltaTime)游戏的主循环,根据游戏的状态切换逻辑1、当当游戏状态为0时,主循环一直循环,但不做处理,而是等待空格键按下,开始游戏。2、当游戏状态为1时,调用GameInit()方法初始化游戏,

5、然后置游戏状态为2。3、当游戏状态为2时,调用GameRun(fDeltaTime)方法,移动淘汰猴子后续队列中的一只猴子补齐空缺。跳出该状态的条件是备选队列中只剩下最后一只猴子且该猴子移动到最前端,游戏结束时会执行GameEnd且置状态为0CGameMain::GameInit()负责猴子精灵的初始化1、创建猴子精灵的对象,并保存CSprite数组中,依次设置每只精灵的坐标。2、将参选大王的猴子数设为6,每只猴子移动的时间间隔设为1.0秒。3、淘汰的猴子数目设为0。4、隐藏“空格开始”精灵CGameMain::GameRun(floatf

6、DeltaTime)处理猴子移动,即淘汰猴子后,备选队列中的猴子前移1、当有猴子需要移动时且经过1秒的移动时间后,移动猴子,且将待移动的猴子数目减1CGameMain::OnKeyDown(constintiKey,constboolbAltPress,constboolbShiftPress,constboolbCtrlPress)游戏开始和控制按钮1、如果空格按下时,游戏未开始,即游戏状态为0,则将游戏状态改为1,运行游戏初始化函数(GameInit)2、如果按下空格时,剩下的猴子数大于1,游戏状态为2且备选队列中没有需要向前移动的猴子

7、时,则随机选中1个猴子淘汰,并将被淘汰的猴子移动到屏幕下方淘汰者队列。3、移动完成后,将淘汰猴子的数量标志m_iNumLoseMonkeys加1,备选猴子数keys减1,同时计算出需要移动的猴子数量,并将猴子精灵数组中的猴子均向前移动一位,同位置数组相对应;源代码LessionX.h:CGameMain类的声明#ifndef_LESSON_X_H_#define_LESSON_X_H_//#include//////////////////////////////////////////////////////////

8、///////////////////////////游戏总管类。负责处理游戏主循环、游戏初始化、结束等工作classCGameMain{private:intm_iGameSt

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。