1、 目录目录 1. 设计任务及要求 1 2. 总体设计思路及功能描述 1 2.1 设计思路 1 2.2 功能描述 2 2.3 程序流程图 . 2 3. 各部分程序功能及详细说明 . 3 3.1 游戏界面函数 . 3 3.2 方块显示基本函数游戏界面函数 . 4 3.2.1 绘制方块 4 3.2.2 擦除方块 4 3.2.3 随机生成一个方块 5 3.3 方块处理基本函数游戏界面函数 . 5 3.3.1 左移函数 5 3.3.2 变形函数 6 3.3.3 碰撞函数 6 3.3.4 消行函数 7 4. 调试的步骤及调试过程中出现的问题以及解决方法 . 8 4.1 碰撞函数调试方块 8 4.2 其它函
2、数调试方块 9 4.2.1 随机生成一个方块变形函数. 9 4.2.2 变形函数 9 4.2.3 消行函数与得分、等级计算. 10 5. 设计心得体会 10 附录: 11 (一)源程序(主函数) 11 (二)参考文献 13 1 1.1. 设计任务及要求设计任务及要求 本实验主要是用 arm 实验箱实现一个简单的游戏设计,我选择的是设计一个俄罗斯方 块小游戏,主要任务是实现方块的移动、变形、随机出现下一个方块、触屏控制、停止、嵌 套、消行、计分等功能。要求:良好的方块形状设计,绘制七种常见的基本图形(方形、长 条形、7 形、反 7 形、Z 形、反 Z 形、T 形) ,各个方块要实现它的移动、变形
3、;良好的用 户界面,有关分数和等级显示等。 2.2. 总体设计思路及功能描述总体设计思路及功能描述 2.12.1 设计思路设计思路 1) 整个游戏界面的设计和控制:整个游戏界面的设计和控制:设计一个左边是 10X15 带有框格的游戏界面。右边为控 制和显示的界面, 控制自然是绘制按键图案通过触屏控制来实现。 显示的内容有下一个、 得分、等级。 2) 方块的移动:方块的移动:通过定时器 1,改变方块左右移动的地址来实现。 3) 方块的变形:方块的变形:可通过运用三维数组储存 7 个基本方块形状, 采用线性代数转置的思路改 变数组的值并设定一个缓冲区储存变形数组,从而达到变形的效果。 4) 方块的
4、碰边处理:方块的碰边处理:可设定一个二维数组储存整个游戏界面的最新状态,有方块为 1,没 有则为 0, 并在游戏界面周围填入 1, 通过方块地址和数组位置的转换判定数组中的值, 为 0 说明可走,为 1 则不能通过,从而实现碰边处理。 5) 方块的嵌套:方块的嵌套: 与碰边原理相似, 可将之前停止在界面上的方块位置对应数组中的值赋 1, 再判断当前方块每一列的最后一行下是否有方块,实现方块嵌套。 6) 方块的方块的随机出现随机出现:当方块到达最后一行或嵌套成功后停止,然后将出现下一个方块,可 通过定时器取出末尾三位实现随机性。并在右边显示下一个方块的形状。 7) 消行处理:消行处理:可通过处理界面的数组判断某一行是否都为 1,若为 1 就执行将上一行赋给 下一行,并将第一行赋为 0。 8) 分数及等级的计算:分数及等级的计算:当方块到达最后一行或嵌套成功后停止分数加1 分, 当消行成功加 10 饭呢,当分数超过 100 分时等级加 1。 2 2.22.2 功能描述功能描述 a) 左、右、下移动; b) 方块变形; c) 随机出现下一个方块; d) 触屏控制界面(左、右、下、变