import java.util.Random;
public class Sudoku {
int[][] SquareNumbers = {
{ 4, 3, 5, 8, 7, 6, 1, 2, 9 }, { 8, 7, 6, 2, 1, 9, 3, 4, 5 }, { 2, 1, 9, 4, 3, 5, 7, 8, 6 },
{ 5, 2, 3, 6, 4, 7, 8, 9, 1 }, { 9, 8, 1, 5, 2, 3, 4, 6, 7 }, { 6, 4, 7, 9, 8, 1, 2, 5, 3 },
{ 7, 5, 4, 1, 6, 8, 9, 3, 2 }, { 3, 9, 2, 7, 5, 4, 6, 1, 8 }, { 1, 6, 8, 3, 9, 2, 5, 7, 4 } };
Random Digits = new Random(); // random numbers to exchange Rows
Random HiddenNumbers = new Random();
int Grid[][] = new int[9][9];
public int[][] Generator() {
for (int x = 0; x < Digits.nextInt(); x++) {
for (int da = 0; da < 3; da++) {
}
}
return SquareNumbers;
}
int[][] Hide() {
for (int i = 0; i < 9; i++)
for (int j = 0; j < 9; j++)
Grid[i][j] = SquareNumbers[i][j];
int Row, Columns, Concealer;
Concealer = 55 + Digits.nextInt(1);
for (int i = 0; i < Concealer; i++) {
Row = HiddenNumbers.nextInt(9);
Columns = HiddenNumbers.nextInt(9);
Grid[Row][Columns] = -1;
}
return Grid;
}
public int[][] getSquareNumbers() {
return SquareNumbers;
}
public void setSquareNumbers(int[][] SquareNumbers) {
this.SquareNumbers = SquareNumbers;
}
private static Sudoku instance = null;
protected Sudoku() {
// Exists only to defeat instantiation.
}
public static Sudoku getInstance() {
if (instance == null) {
instance = new Sudoku();
}
return instance;
}
}
Вместо списка двойных массивов существует ли способ рандомизировать его, чтобы он работал как игра в судоку? Как и в нем нет дубликатов в столбцах или строках, и каждые три на три меньше сетки один раз использует число?Java: как рандомизировать список массивов без дубликатов
Что вы хотите? Генератор судоку? Это не так просто, как «перетасовать и исключить числа, которые не совпадают» (хотя это не так сложно). Поиск проблемы с четырьмя королями – SJuan76
Существует большое количество литературы по генераторам судоку. Вы огляделись? – Patashu
Пожалуйста, придерживайтесь условных обозначений Java и начинайте переменные с небольшой буквы. Заглавные буквы предназначены для имен классов! –