Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
android_sudoku [2022/10/17 17:29] enrique_mieza_sanchez [Solver de Sudoku amb algorisme de backtracking] |
android_sudoku [2022/10/24 13:19] (actual) enrique_mieza_sanchez [Final de partida] |
||
---|---|---|---|
Línia 1: | Línia 1: | ||
====== Sudoku en Android ====== | ====== Sudoku en Android ====== | ||
- | Guia per fer un joc de Sudoku en Android. | + | Guia per desenvolupar |
+ | |||
+ | {{ https:// | ||
Els principals objectius son: | Els principals objectius son: | ||
Línia 8: | Línia 11: | ||
* Manipular els elements gràfics. | * Manipular els elements gràfics. | ||
* Aplicar el patró MVC (Model-Vista-Controlador) | * Aplicar el patró MVC (Model-Vista-Controlador) | ||
+ | * Conèixer l' | ||
Línia 149: | Línia 153: | ||
- | ===== Final de partida ===== | + | ===== Jugar la partida |
- | És important acabar el joc. Quan totes les cel·les estiguin plenes i alhora compleixin les regles del Sudoku, donarem per finalitzada la partida i traurem un '' | + | Per poder oferir una partida al jugador caldrà que omplim algunes cel·les i les fem fixes. Això vol dir que en aquelles cel·les fixes no haurem de poder entrar valors al '' |
+ | |||
+ | És important acabar el joc, of course. | ||
+ | |||
+ | <WRAP todo> | ||
+ | Implementa els canvis necessaris (atributs i mètodes) al '' | ||
+ | |||
+ | Quan totes les cel·les estiguin plenes i alhora compleixin les regles del Sudoku, donarem per finalitzada la partida i traurem un '' | ||
+ | </ | ||
\\ | \\ | ||
Línia 156: | Línia 168: | ||
===== Solver de Sudoku amb algorisme de backtracking ===== | ===== Solver de Sudoku amb algorisme de backtracking ===== | ||
- | Si has resolt fins aquí i ets dels més agosarats, voldràs provar de trobar solució a la partida que has generat de forma automàtica. Això es pot fer amb un clàssic algorisme de // | + | <WRAP important> |
+ | Secció només per a les més agosarades! | ||
+ | </WRAP> | ||
- | [[https://cacauet.org/wiki/index.php/Algorisme_de_backtracking|Aquí tens una breu explicació i psuedo-codi de l' | + | {{ https://markfisherfitness.com/wp-content/uploads/2013/ |
- | Recomanació: | + | Si has resolt fins aquí i ets dels més agosarats, voldràs provar de trobar solució a la partida que has generat de forma automàtica. Això es pot fer amb un clàssic algorisme de // |
+ | |||
+ | [[https:// | ||
+ | |||
+ | {{ https:// | ||
+ | |||
+ | <WRAP info> | ||
+ | Hi ha moltes tècniques de resolució de sudokus com joc (X-wing, Y-wing, etc). Aquestes són " | ||
+ | |||
+ | En canvi, el // | ||
+ | |||
+ | Una optimització senzilla del // | ||
+ | </ | ||
+ | |||
+ | <WRAP todo> | ||
- Implementar el // | - Implementar el // | ||
- Posar un botó " | - Posar un botó " | ||
+ | </ | ||
\\ | \\ | ||
+ | |||
+ | ===== Check partida resoluble ===== | ||
+ | |||
+ | Quan inicialitzem una partida aleatòriament, | ||
+ | |||
+ | Per assegurar-nos de que una partida és resoluble, quan la creem i abans de passar-la a l' | ||
+ | |||
+ | A més, les regles del Sudoku inclouen un altre requisit: que la partida no tingui vàries solucions, sinó només una de sola. Per tant, haurem de modificar el nostre solver perquè també ens determini si té més d'una solució. Si ens dona una 2a solució, tornarem a descartar la partida. | ||
+ | |||
+ | <WRAP todo> | ||
+ | Crea una partida i, abans de passar-la a l' | ||
+ | </ | ||