Sudoku

Generatore casuale di Sudoku

La domanda "come si genera un Sudoku" mi ha portato a scrivere questo semplice generatore casuale di Sudoku, che permette anche di giocare il puzzle direttamente all'interno del browser. Il generatore è scritto in TypeScript e l'interfaccia è sviluppata con React.

L'idea iniziale era quella di trovare un algoritmo matematico per creare una sequenza di numeri (81 per una griglia 9x9) che soddisfa le regole del Sudoku (i numeri non sono mai ripetuti all'interno di una riga, una colonna o un quadrante) ma, nonostante diversi tentativi e la lettura di diversi articoli sul tema, non sono riuscito a indivudare una soluzione soddisfacente.

Nell'attesa di raggiungere questo obiettivo, ho scritto il resto del gioco creando i Sudoku in maniera casuale attraverso un algoritmo di backtracking, che usa il seguente processo:

Questo approccio non è, naturalmente, né perfetto né particolarmente efficiente, ma è sufficiente per il caso medio ed è quello adottato da molti altri generatori di Sudoku, sebbene molti giochi analoghi abbiano un elenco di puzzle predefiniti caricati in memoria anziché generati in tempo reale.

Il gioco ha le seguenti feature:

Si tratta di un gioco molto semplice che è possibile giocare direttamente dal browser, sia da Desktop che da Mobile.

Se vuoi giocare, puoi farlo andando su questa pagina.