자바 게임 생 성
3995 단어 자바
/**
*
*/
public class ShuDu {
/** */
static int[][] n = new int[9][9];
/** , */
static int[] num = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
public static void main(String[] args) {
//
for (int i = 0; i < 9; i++) {
//
int time = 0;
//
for (int j = 0; j < 9; j++) {
//
n[i][j] = generateNum(time);
// 0, ,
// : , ,
if (n[i][j] == 0) {
// ,
if (j > 0) {
j -= 2;
continue;
} else {// ,
i--;
j = 8;
continue;
}
}
//
if (isCorret(i, j)) {
// time,
time = 0;
} else { //
// 1
time++;
//
j--;
}
}
}
//
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
System.out.print(n[i][j] + " ");
}
System.out.println();
}
}
/**
* 、 3X3
*
* @param row
*
* @param col
*
* @return true
*/
public static boolean isCorret(int row, int col) {
return (checkRow(row) & checkLine(col) & checkNine(row, col));
}
/**
*
*
* @param row
*
* @return true
*/
public static boolean checkRow(int row) {
for (int j = 0; j < 8; j++) {
if (n[row][j] == 0) {
continue;
}
for (int k = j + 1; k < 9; k++) {
if (n[row][j] == n[row][k]) {
return false;
}
}
}
return true;
}
/**
*
*
* @param col
*
* @return true
*/
public static boolean checkLine(int col) {
for (int j = 0; j < 8; j++) {
if (n[j][col] == 0) {
continue;
}
for (int k = j + 1; k < 9; k++) {
if (n[j][col] == n[k][col]) {
return false;
}
}
}
return true;
}
/**
* 3X3
*
* @param row
*
* @param col
*
* @return true
*/
public static boolean checkNine(int row, int col) {
//
int j = row / 3 * 3;
int k = col / 3 * 3;
//
for (int i = 0; i < 8; i++) {
if (n[j + i / 3][k + i % 3] == 0) {
continue;
}
for (int m = i + 1; m < 9; m++) {
if (n[j + i / 3][k + i % 3] == n[j + m / 3][k + m % 3]) {
return false;
}
}
}
return true;
}
/**
* 1-9 : 8-time , time ,
* : , , , , ,
*
*
* @param time
* ,0
* @return
*/
public static int generateNum(int time) {
// ,
if (time == 0) {
for (int i = 0; i < 9; i++) {
num[i] = i + 1;
}
}
// 10 , , 0,
if (time == 9) {
return 0;
}
//
// , , num
int ranNum = (int) (Math.random() * (9 - time));
// time ,
int temp = num[8 - time];
num[8 - time] = num[ranNum];
num[ranNum] = temp;
//
return num[8 - time];
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.