Risolvere giochi con Excel e VBA

Home
Sudoku 9x9
Sudoku 10x10
Sudoku 12x12
Sudoku 16x16
Sudoku 25x25
Samurai Sudoku
Killer Sudoku
Kakuro - Cross Sums
Mine Sweeper

 

Per ogni gioco elencato nella barra dei collegamenti a sinistra, sono proposti uno o più files realizzati con il VBA di Excel.

I files sono ottimizzati per una risoluzione video di 1024 x 768.

Non sono stati utilizzati componenti aggiuntivi: il codice è costruito esclusivamente con le librerie fornite nella versione standard di Excel.

Risolutori Sudoku & Kakuro

I risolutori funzionano con tutte le versioni di Excel a partire dalla 97 ad eccezione del "Sudoku 9x9 Logic Solver & Report Builder"  e del "Sudoku 9x9 Normal & Disjoint Groups & Windoku Solver" che necessitano almeno della versione 2000 (i "Disjoint Groups Sudoku" sono detti anche "Sudoku-DG" mentre i "Windoku" sono detti anche "NRC-Sudoku" o "Hyperdoku" o "Hypersudoku").

Tutti i risolutori standard di Sudoku basati solo su VBA funzionano con schemi classici e con diagonali, e prevedono varie possibilità di serie di simboli (numerici, alfanumerici, alfabetici, etc.).

Anche i risolutori per schemi "toroidali" e con "riquadri irregolari a incastro" (detti anche "Sudoku with irregular regions", "Sudoku with irregular boxes", "Geometry Sudoku", "Squiggly Sudoku", "Nonomino Sudoku", "Jigsaw Sudoku" e "Kikagaku Nanpure") possono funzionare con più serie di simboli; i risolutori dei tipi "pari e dispari" ("Even-Odd Sudoku" o "Guusuu Kisuu Nanpure") e "killer" ovviamente funzionano solo con numeri (tutti accettano schemi con diagonali).

C'è un unico risolutore di Sudoku 9x9 (Sudoku 9x9 Solver - Formula) che utilizza anche formule e celle di appoggio sul foglio di lavoro: non è comparabile agli altri come velocità e versatilità, ma è un piccolo esempio di uso massivo di formule preimpostate per ridurre il codice scritto.

Infine il "Sudoku 9x9 Logic Solver & Report Builder": è l'unico che non si limita a fornire semplicemente lo schema iniziale risolto, ma genera un report grafico e uno testuale con tutti i passi logici seguiti per arrivare alla soluzione.

Nella pagina dedicata a quest'ultimo risolutore "non standard" si trovano collegamenti a esempi di report da scaricare e a pagine con spiegazioni ed esempi grafici specifici sulle seguenti tecniche di soluzione: "Locked Candidates", "Naked Subsets", "Hidden Subsets", "Basic Fishes" e "Alternating Inference Chains" (dette anche "Forbidding Chains").

Dalla versione - v 2008 04 01 - del "Sudoku 9x9 Logic Solver & Report Builder" è stato introdotto un nuovo foglio per giocare e risolvere manualmente i Sudoku, con una serie completa di comandi e aiuti su un "Pannello di controllo" dedicato (vai alla pagina dedicata con la guida ai comandi e aiuti di gioco); ora è possibile risolvere e importare anche schemi "tipo pencilmark" (che contengono, oltre ai candidati inseriti fissi iniziali, anche i candidati residui nelle altre celle) e i "Sukaku" (altrimenti detti "No-given Sudoku", dove non ci sono candidati inseriti fissi iniziali ma solo candidati residui di cella).

Tutti i file sono stati sviluppati per "gioco" e giusto per esercitarsi un po' con Excel e il suo VBA.

Il codice è stato scritto cercando "un approccio umano" alla soluzione dei vari giochi, simulando le principali tecniche che normalmente si usano con carta e penna.

L'obiettivo non era la ricerca dell'algoritmo unico, del codice più compatto o del codice più veloce.

Oltre agli schemi di esempio allegati ai risolutori, sono disponibili per il download su file Excel (con relative soluzioni) 201037 schemi 9x9 (di cui 7193 con diagonali e 120 Jigsaw), 115 schemi 16x16, 62 schemi Samurai/Gattai-5 e 150 schemi Killer (di cui 8 con diagonali e 32 Jigsaw).

Tutti questi schemi sono stati importati in Excel da files di testo scaricati da internet e le soluzioni sono state elaborate con i risolutori di questo sito.

Mine Sweeper

Non è un risolutore ma un gioco interattivo che riproduce il celeberrimo "Mine Sweeper" di Windows, che nelle varie versioni localizzate in italiano può diventare "Campo Minato" o "Prato Fiorito".

Nella pagina dedicata c'è la descrizione dell'interfaccia di gioco e delle particolarità di utilizzo.

*****

Non c'è alcun scopo di lucro: si può liberamente copiare o distribuire, in tutto o in parte, qualsiasi file.

 


 Sono graditi commenti, suggerimenti e/o segnalazioni di errori a   giochi@mario.pd.it