-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSudokuGrid.java
More file actions
executable file
·139 lines (125 loc) · 2.59 KB
/
SudokuGrid.java
File metadata and controls
executable file
·139 lines (125 loc) · 2.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
public class SudokuGrid {
private int id;
private char status;
private SudokuCell[][] cells;
private int difficulty;
private int N;
private int SRN; // Square root name
SudokuGrid(int id, int difficulty, int N, char status){
this.id = id;
this.difficulty = difficulty;
this.N = N;
this.SRN = (int) Math.sqrt(N);
this.status = status;
cells = new SudokuCell[N][N];
}
/**
* Ritorna l'id
* @return id
*/
int getId() {
return id;
}
/**
* Ritorna lo stato
*
* @return status
*/
char getStatus() {
return status;
}
/**
* Imposta lo stato
*
* @param status
*/
void setStatus(char status) {
this.status = status;
}
/**
* Ritorna la variabile privata cells[][]
*
* @return SudokuCell[][]
*/
SudokuCell[][] getCells() {
return cells;
}
/**
* Ritorna SRN
*
* @return SRN
*/
int getSRN() {
return SRN;
}
/**
* Ritorna la lunghezza
*
* @return N
*/
int getN() {
return N;
}
/**
* default resetGrid
*/
void resetGrid(){
resetGrid(false);
}
/**
* Imposta tutte le celle della grid a -1
*
* @param isEditable determina se le celle sono editabili
*/
void resetGrid(boolean isEditable) {
for(int row = 0; row < N; row++)
for(int col = 0; col < N; col++)
this.cells[row][col] = new SudokuCell(-1, isEditable);
}
/**
* Imoposta la grid con la grid passata
*
* @param cells
*/
void setCells(SudokuCell[][] cells) {
for(int row = 0; row < N; row++)
for(int col = 0; col < N; col++)
this.cells[row][col] = cells[row][col];
}
/**
* Imposta la difficolta
*
* @param difficulty
*/
void setDifficulty(int difficulty) {
this.difficulty = difficulty;
}
/**
* Ritorna la difficolta
*
* @return difficulty
*/
int getDifficulty() {
return difficulty;
}
/**
* Ritorna la difficolta in formato scelta
*
* @return difficulty
*/
int getDifficultyToChoose() {
switch(this.difficulty) {
case 10:
return 1;
case 25:
return 2;
case 42:
return 3;
case 50:
return 4;
case 60:
return 5;
}
return 0;
}
}