Open ionutab opened 6 years ago
De acord cu faptul ca trebuie sa fie o dimensiune variabila. De acord ca mySudoku trebuie sa fie din clasa MySudoku ( m-am gandit si eu inainte ); dar totusi mySudoku nu trebuie sa fie totodata o matrice? Ma gandesc sa incep astfel:
private int n; private MySudoku mySudoku = new MySudoku(n);
public MySudoku(int n) { this.n = n; int[][] mySudoku = new int[n][n]; }
Ai 2 lucruri diferite ce le-ai referentiat cu denumirea mySudoku
.
mySudoku
din main
ce e o variabila de tip MySudoku
MySudoku
Si poate din cauza asta ar putea sa fie confuzie intre clasa si starea jocului din clasa.As recomanda sa schimbi denumirea matricei din clasa MySudoku
din mySudoku
in game
spre exemplu.
int[][] game = new int[n][n];
Astfel nu o sa mai ai confuzie de nume.
Iar pe game
e ideal sa operezi din din cadrul clasei MySudoku
.
Pana acum am crezut ca obiectul mySudoku este acelasi lucru cu starea. Acum am inteles ca obiectul este un joc complet, dus pana la capat, care difera de alte obiecte ( jocuri duse pana la capat ). Iar starea este un stadiu intermediar al unui obiect mySudoku, rezultat dupa o mutare ( care este alt obiect -> sudokuMove ). Am facut redenumirile in MySudoku si modificarile in Main. Tot nu merge dar simt ca ma apropii.
https://github.com/MihutBalasanu/sudoku/blob/8c09db3ea174d9a4b0b8995ddd6a3da00fda5dc8/20181003_Sudoku/src/sudoku/Main.java#L11
Ai declarat
n
dar nu l-ai folosit. De asemenea ai declarat si o matricemySudoku
, dar nu mai este necesara.Ai folosit
9
in mai multe locuri din cod insa. Daca vrei sa ai o dimensiune variabila la jocul de sudoku, foloseste n cand construiesti un nou joc de sudoku.MySudoku mySudoku = new MySudoku(n);