1、 计算机程序设计实训报告选题名称专业班级: 实习时间:2015 年 7 月 2 日至 7 月 5 日 实习地点: 文理楼 147 成 员 1: 成 员 2: 个人分考勤(10%)文档(30%)创意及实现(30%)视频(30%)总成绩(100%) 成员 1 成员 2黑体,小二,居中对齐,长题目换行后,两行汉字的第一个字要上下对齐,有副标题的用“ ”连接(另起一行,右对齐) 。1一、作品概述作品的创意,实现的主要功能,有什么创新点。二、功能设计1. 游戏运行,初试界面出现空格开始的提示。2. 玩家按空格开始游戏,6 只猴子排成一列。3. 游戏开始后,用户每按一次空格键,随机从猴子队列中产生一个被淘
2、汰的猴子4. 被淘汰的猴子会出局,加入屏幕下方的淘汰者猴子队列中。5. 站在被淘汰猴子后方的选手依次往前移,填补空白6. 用户继续按空格淘汰猴子,值到剩下唯一的猴子,就是大王!这样,一局游戏完成。7. 一局游戏完成后,屏幕重新出现“空格开始” 的标志,用户按空格可以继续游戏,如此往复。三、功能实现含每个功能的具体实现,可以用流程图(不要贴代码)等描述。3.1 数据结构(说明:主要写用到的各类型的全局变量、含义)1. g_iMonkeys6 用一个 int 类型的数组来保存猴子精灵编号2. g_flocation6 用一个浮点型数组存储猴子位置(因为6只猴子站成一排,y坐标值是相同的,因此该数组
3、保存6只猴子的x坐标值) 。其中g_Monkeysi 对应的位置g_fLocation3. g_iNumMokeys 当前备选猴子数量,即截图中上层队列的猴子数。4. g_iNumLoseMonkeys 淘汰的猴子数量,即下层队列中的猴子数。5. g_iChooseMonkey 本轮淘汰的猴子编号。6. g_iMoveMonkey 淘汰猴子后,后面需要移动的猴子数。7. g_fDelayTime 猴子向前移动的延迟时间。一级标题,三号黑体两端对齐,1.5 倍行间距,段前后 0.5 行距。正文。小四号宋体,外文选用“Times New Roman”,每段首行缩进 2 字符,1.5 倍行距。二级标
4、题。序数后空一格写标题,四号黑体,1.5 倍行间距。23.2 算法描述有六只猴子,存储在 g_Monkeys 数组中,对应的位置则在 g_fLocation 中,对应关系为 g_Monkeysi g_fLocationi。游戏状态 g_iGameState 分为三种状态 0,1,2 ,其中 0 表示游戏结束状态,1 表示游戏初始化,2 则表示游戏运行状态。0 1 的转换为“空格开始”。1 2 的转换自然发生,即游戏初始化函数后会自动将游戏状态从 1 置为 2。2 表示游戏运行状态,在该状态,敲击空格可以选出淘汰的猴子。2 0 的转换为当猴子的备选队列中只剩下一只猴子的时候发生,该猴子便是大王了
5、。3.2.1 猴子精灵的初始化1. 创建猴子精灵的对象,并保存 CSprite 数组中,依次设置每只精灵的坐标。2. 将参选大王的猴子数设为 6,每只猴子移动的时间间隔设为 1.0 秒。3. 淘汰的猴子数目设为 0。4. 隐藏“空格开始”精灵。5. 当有猴子需要移动时且经过1秒的移动时间后,移动猴子,且将待移动的猴子数减1。3.2.2 游戏开始和控制按钮1. 游戏还未开始,即游戏状态为 0,如果空格按被下,则将游戏状态改为 1,此时对程序的数据进行初始化。循环一次之后,游戏的转太变为 2,此时游戏开始运行。2. 如果按下空格时,剩下的猴子数大于 1,游戏状态为 2 且备选队列中没有需要向前移动
6、的猴子时,则随机选中 1 个猴子淘汰,并将被淘汰的猴子移动到屏幕下方淘汰者队列。3. 移动完成后,将淘汰猴子的数量标志 g_iNumLoseMonkeys 加 1,备选猴子数keys 减 1,同时计算出需要移动的猴子数量,并将猴子精灵数组中的猴子均向前移动一位,同位置数组相对应;四、系统界面(说明:不要超过 3 个图)三级标题。序数后空一格写标题,小四号黑体,1.5 倍行间距。3图 4-1 开始游戏图 4-2 猴子队列就绪图 4-3 游戏中,按空格键淘汰猴子正文中插图。所有图要写明图号和图题,图号和图题应放在图位下方居中处,1.5 倍行距,五号宋体,外文选用“Times New Roman”。图号与图题间空一格,图号按一级标题编排,如一级标题是“四” ,图为该级标题的第 1 个图,则图号为“图 4-1”,依次类推。4五、总结(主要写实习的收获、心得体会和意见建议等,每个人一段)