'k ben bezig met een javascript sudoku-cracker ;)

Hij werkt nu nog vrij simpel; het script streept gewoon steeds waarden af, en als een kolom nog maar 1 waarde over heeft wordt deze ingevuld als hoofdwaarde. Zodra er geen waarden meer afgestreept kunnen worden, zoekt de cracker naar waarden die t.o.v. de rij/kolom/vak op nog maar 1 plek ingevuld kunnen worden.

Simpele sudoku puzzels zijn op deze manier via de cracker in no-time opgelost, maar iets moeilijkere puzzels nog niet.

Nu heb ik een poging gewaagd om complexere situaties te kraken, zoals de situatie als 2 velden in een rij beide dezelfde 2 opties bevatten, dat je dan deze opties van de overige velden in de rij kunt schrappen..

maar goed, dit lijkt al snel te complex te worden voor JS.. de browser gaat klagen dat het scripts veels te vee werk heeft, enz..

anyway.. ik zie ff door de bomen het bos niet meer ;) Nu mijn vraag of iemand slimme input heeft om deze tool verder te ontwikkelen.

Over de tool: klik op '(re)load values' om de puzzel op te starten.. de waarden in de textarea komen overeen met rij/kolom/waarde in het veld en worden BOLD weergegeven in de puzzel. Gevonden waarden worden vervolgens UNDERLINED weergegeven. Wanneer een veld meerdere opties overhoud, worden deze in ITALIC, in het rood weergegeven.

Indien de puzzel niet opgelost kan worden, blijven er dus rode waarden zichtbaar. Deze waarden aanklikbaar. Er verschijnt dan een popup waarin je een 'waarde' op kunt geven voor het betreffende veld..

Linkje: http://www.pholeron.nl/javascript/sudoku/

Ik heb de puzzel van http://www.sudokunet.nl/ gejoopt ;)
firefox zegt dat het script te lang duurt en of ik het wil stoppen of wil laten doorgaan wanneer ik op reload values klik.
Als je zegt 'doorgaan'
dan laat ie um wrl goed! Dus euhm.. ff op doorgaan klikken ;)
Ik ken het spel niet goed. Is de bedoeling dat je zowel horizontaal als verticaal elk cijfer van 1 t/m 9 maar één keer tegenkomt?
Ik krijg een error als ik steeds iets invul d.m.v. die popup.
@Jan Koehoorn, ja, en om het nog maar iets makkelijker te maken, mag elk cijfer (1-9) ook maar 1 keer in 1 hokje van 3 x 3 zitten.
Jan Koehoorn schreef op 30.09.2006 20:08
Ik ken het spel niet goed. Is de bedoeling dat je zowel horizontaal als verticaal elk cijfer van 1 t/m 9 maar één keer tegenkomt?

Ja, horizontaal, verticaal en binnen een blok van 9 hokjes m,ag elk cijfer maar een keer voorkomen.
Okee, thanks. Hier werkt het script in FF en IE inderdaad heel traag.
@ Pholeron: dat afstrepen, werkt dat zo:

1) alle getallen die al in het eigen vierkantje ingevuld zijn wegstrepen
2) alle getallen die al in dezelfde rij ingevuld zijn wegstrepen
3) alle getallen die al in dezelfde kolom ingevuld zijn wegstrepen

- als je er 1 overhoudt, die invullen
- als je er meer overhoudt, die onthouden voor dat veld
het script werkt bij mij zonder foutmeldingen, netjes gedaan ;)

Reageren