中国石油大学(华东)程序设计实训报告 “黄金矿工”实验报告游戏截图图一:开始游戏图二:按下空格键开始游戏,出现金块,钩子转动图三:按下↓键,钩子停止转动,开始下放,抓取金块图四:抓完金块后返回初始界面功能描述1、游戏运行,初始界面出现“空格开始”的提示。2、玩家按下空格键,开始游戏。3、游戏开始后,界面随机出现 20 个大小不同的金子,并且钩子开始转动。4、按下↓键,钩子停止转动,下放,抓取金子。5、抓到金子后,返回到初始位置,被抓到的金子消逝。6、用户继续按下↓键,继续抓取金子,直到金子被抓取完,这样一局游戏完成。7、一局游戏完成后,屏幕重新出现“空格开始”的标志,用户按下空格可以继续游戏,如此往复。流程图:数据结构:1、g_fGoldBornMinX 金子左边界2、g_fGoldBornMaxX 金子右边界3、g_fGoldBornMinY 金子上边界4、g_fGoldBornMaxY 金子下边界5、g_iGoldCount 屏幕中金子数目6、g_iGameState 设置游戏状态7、szGotGoldName[20] 当前抓到金子的名称8、g_fHookRotation 钩子的转动的角速度9、 g_fEmptyHookSpeed 钩子的下放的初始速度10、g_fHookStartPosX 存储钩子的初始 X 位置11、g_fHookStartPosY 存储钩子的初始 Y 位置算法描述:游戏状态 g_iGameState 分为三种状态 0,1,2 ,其中 0 表示游戏结束状态,1 表示游戏初始化,2 则表示游戏运行状态;0 1 的转换为“空格开始”;1 2 的转换自然发生,即游戏初始化函数后会自动将游戏状态从 1 置为 2;2 表示游戏运行状态,在该状态,按下↓键可以抓取金子;2 0 的转换为当金子全被抓完后会自动将游戏状态从 2 置为0;金子精灵的初始化:1、创建金子精灵的对象; 2、生成大小为 4 的小金块 10 个、 大小为 6 的中金块 6 个、大小为 8 的大金块 4 个,并保存 tmpName 数组中,随机猎取每个金子的坐标;3、隐藏“空格开始”精灵;4、设置屏幕中剩下的金子数目为 20,每当被抓走的一块金子消逝后屏幕中剩下的金子数目减 1;5、当屏幕中剩下的金子数目为 0 时,一局游戏结束,返回初始界面,“空格开始”精灵出现;6、重新进行金子精灵的初始化;dOnKeyDown(const intiKey, const boolbAltPress, const boolbShiftPress, const boolbCtrlPress )游戏开始和控制按钮:1、游戏还未开始,即游戏状态为 0,假如空格按被下,则将游戏状态改为 1,此时对程序的数据进行初始化,...