import java.util.Scanner;
import java.util.Random;
public class LinkGame {
public static void main(String[] args){
int rows = 0;
int cols = 0;
int range = 0;
Scanner sc = new Scanner(System.in);
do{
System.out.println("请输入行数:");
rows = sc.nextInt();
}while(rows<2);
do{
System.out.println("请输入列数:");
cols = sc.nextInt();
}while(cols<2 || cols%2!=0);
do{
System.out.println("请输入游戏等级:");
range = sc.nextInt();
}while(range<5 || range>20);
int [][] board = new int[rows][cols];
genBoard(board,range);
showBoard(board);
System.out.println("************************");
shuffleBoard(board);
showBoard(board);
}
//给棋盘赋值
public static void genBoard(int [][] board, int range){
if(null==board){
System.out.println("数组为空");
return;
}
Random rd = new Random();
for(int i=0; i<board.length; i++){
for(int j=0; j<board[i].length-1; j+=2){
board[i][j] = rd.nextInt(range)+1;
board[i][j+1] = board[i][j];
}
}
}
//打印棋盘
public static void showBoard(int [][] board){
if(null==board){
System.out.println("数组不能为空");
}
for(int[] arr:board){
for(int a:arr){
System.out.print(a+"\t");
}
System.out.println();
}
}
//打乱棋盘顺序
public static void shuffleBoard(int[][] board){
Random rd = new Random();
for(int i=0; i<board.length*board[0].length*200; i++){
int x1 = rd.nextInt(board.length);
int y1 = rd.nextInt(board[0].length);
int x2 = rd.nextInt(board.length);
int y2 = rd.nextInt(board[0].length);
int temp = board[x1][y1];
board[x1][y1] = board[x2][y2];
board[x2][y2] = temp;
}
}
}
