100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Android华容道之一步一步实现-8-开始游戏

Android华容道之一步一步实现-8-开始游戏

时间:2019-02-25 02:14:54

相关推荐

Android华容道之一步一步实现-8-开始游戏

开始游戏指的是开始打乱图片顺序。

效果图如下:

先说产生随机数,利用随机数产生一个[0-14]的整数,代码如下:

private void init_num_arr() {

for (int i = 0; i < 16; i++) {

num_arr[i] = -1;

}

num_arr[15] = 15;

Random random = new Random();

for (int i = 0; i < 15; i++) {

int x = random.nextInt(15);

while (true) {

if (!is_in_arr(num_arr, 15, x)) {

num_arr[i] = x;

break;

} else {

x = x + 1;

if (x > 14)

x = 0;

}

}

}

}

另一个关键点是生成的随机数要是能够还原的顺序,不能太随机,如果不满足条件,则需要重新生成。

如何检测生成的随机数序列一定是可以还原的呢?请看下面的代码,这就是检测是否可以还原的序列。

int dse_num(int[] arr, int arr_num) {

int num = 0;

for (int i = 0; i < arr_num; i++) {

for (int j = i + 1; j < arr_num; j++) {

if (arr[i] > arr[j]) {

num++;

}

}

}

return num;

}

这个函数就是检测一个序列的逆序数的,如果为偶数(因为我们的华容道是4*4的),就是可以还原的,否则,需要重新生成。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。