⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 restorableconfuse.java

📁 Java版拼图游戏
💻 JAVA
字号:
/*
 * @(#)RestorableConfuse.java 1.0 03/08/22
 * Copyright 2003 Entao Zhang, All rights reserved.
 */

/**
 * 拼图一般方式的打乱算法(存在路径起始点).此算法为已进行优化的可逆算法.
 */
public class RestorableConfuse extends ConfuseArray {

	public int runConfuse(int[] grids, int x, int y){
		int arrayLength=x*y;
		if (arrayLength < 2 || arrayLength!=grids.length){
			throw new ArrayIndexOutOfBoundsException("SrcArray very small or srcArray's length not equals x*y!!!");
		}

		int up=x, right=1;
		int ir=0, swap;
		int temp;
		swap=r.nextInt(arrayLength);
		for (int i=0; i<10000; i++){
			if (swap%x==(x-1)) 	right=-1;
			if (swap%x==0) 		right=1;
			if (swap/x==(y-1))	up=-x;
			if (swap/x==0) 		up=x;
			ir = r.nextBoolean() ? up : right;
			ir += swap;
			temp = grids[swap];
			grids[swap] = grids[ir];
			grids[ir] = temp;
			swap = ir;
		}
		return swap;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -