java游戏开发--连连看2-实现游戏算法.doc
《java游戏开发--连连看2-实现游戏算法.doc》由会员分享,可在线阅读,更多相关《java游戏开发--连连看2-实现游戏算法.doc(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、. .将游戏地图转换为数组来描述 算法总是很枯燥的,没有直接设计界面来得舒服,然而,算法却是整个程序的核心,所以,仅管枯燥,我们还是得耐心地完成这一步。 在进行程序算法的设计时,我们首先要尽可能抛开一些无关紧要的部分,这样可以使算法看起来直接明了,但同时也要考虑弹性,以便将来扩充。 在前面已经说过了,整个游戏的核心算法也就是以二维数组为主体的算法,那么,定义一个二维数组是必不可少的了。 二维数组究竟应该有多大呢? 10X10 是不是小了, 20*20 呢,大了?究竟多大比较合适?为了考虑到程序以后改动的需要,我们还是定义成变量吧,这样以后要改动的时候,只需要改动一下变量的值就行了,因此,我们现
2、在为程序增加一个类,使之专门用来保存与程序有关的一些数据。/Setting.java public static final int ROW = 8; / 假设地图有 8 行 public static final int COLUMN = 8; / 假设地图有 8 列 至于为什么要定义成 public static final ,这个,自己想想就知道了:)还不知道?晕,看看书吧:( 现在,我们将这个类起名为 Map ,同时,我们规定,为了描述地图中空白的区域,我们使用 0 来表示。 /Map.java private int map = new intSetting.ROWSetting.C
3、OLUMN; 初始化游戏地图 在地图初始化的时候,我们需要用一些“随机”的数字来填充这X地图,之所有将“随机”用引号括起来,是因为这些数字并不是真正意义上的随机:首先,数组中具有相同值的元素只能出现 4 次(具有 0 值的元素除外),其次,这些数字是被散乱的分布在数组中的。要使元素出现 4 次,那么数组中所有不重复的元素个数最大为数组的大小 /4 ,为了简单起先,我们使这些元素的值用 1 、 2 、 3 进行编号。 要想将这些分配好的元素再分配到二维数组中,我们需要一个一维数组来辅助完成这项工作。 首先,我们按照二维数组的大小来建立一个大小相同的一维数组,并且,我们规定数组中出现的不重复的元素
4、的个数(元素个数的多少代表了地图的填充率,填充率越高,表示游戏难度越高),同时,我们也要保证数组的长度能被 4 整除(目前是这样,其实不是必需的),因为相同的元素会出现 4 次。因此,我们定义一个变量,用来表示地图上可能出现元素种类的最大个数,同时也定义一个变量,表示目前地图上出现的元素的个数。/Map.java int array = new intSetting.ROW * Setting.COLUMN; / 辅助的一维数组 int maxElement = 16; /maxElement 的值不能超过 map 总元素 /4 int elements = 16; / 先假设 maxElem
5、ent 和 elements 相等 在,我们将这些元素放置在一维数组中: for (int i = 0; i 0; i-) int j = random.nextInt(i); int temp = arrayj; arrayj = arrayi - 1; arrayi - 1 = temp; return array; / 其实也可以不返回,因为数组的操作总是改变引用的 现在,一维数组中的元素已经被打乱了,现在我们只需要按顺序依次填充回二维数组中就行了,这样,二维数组中的值就一定是乱的。 for (int i = 0; i ROW; i+) for (int j = 0; j = 0; y-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 游戏 开发 连连 实现 算法
限制150内