Sudoku
je taková divná hra, kterou dobře zvládá počítač. Takže to necháme do velké
míry právě na něm. Jde o to najít pozici na které je nejméně možností, jaká čísla
vložit. Nejlépe pokud je tato možnost jediná. Člověku to trvá dlouho, počítač
to udělá celkem rychle.
Používají se následující klávesy :
- ESC - vygeneruje novou hru.
- Šipky umožňují pohyb po hrací ploše.
- Číslice se vkládají do prázdného pole, pokud je to možné.
- ENTER vloží správnou číslici do pole, pokud je to jediná možnost.
- BACKSPACE vrátí hru na začátek nebo k uloženému stavu, pokud jsou už vyčerpány všechny možnosti (GAME OVER)
- INSERT kdykoli během hry uloží stávající stav, ke kterému se lze vrátit pomocí BACKSPACE.
Pokud by to mělo sloužit jako pomůcka pro řešení sudoku z externího zdroje, byly přidány
ještě dvě klávesy :
- DELETE, která vytvoří prázdné pole a přepne hru do módu editace, kdy jdou zadávat do buněk číslice.
V tomhle módu pak tato klávesa číslo vymaže (nelze jej jednoduše přepsat, číslice se kontrolují).
Mód editace se ukončí klávesou ENTER.
- END celou hru vyřeší.
Po každém tahu se aktuální pozice nastaví na pole, kde je nejméně možností a tyto jsou
vypsány jako nápověda v pravém horním rohu. Pokud už další možnost není, hra končí.
Zdrojové kódy.
19.01.2003 - Přepsáno pro kompilaci jen pomocí clang (+wasm-ld). Emscripten je sice hezký projekt,
ale není nezbytně nutný. Původní verze byla psána pro jednočip, neobsahuje tedy žádné složité knihovny
a dá se to napsat jako bare bone webassembly modul. Odpadne tak složité lepidlo javascriptu.