中国石油大学(华东)程序设计实训报告 “黄金矿工”实验报告游戏截图图一:开始游戏图二:按下空格键开始游戏,出现金块,钩子转动图三:按下↓键,钩子停止转动,开始下放,抓取金块图四:抓完金块后返回初始界面功能描述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;金子精灵的初始化: