SuSol

Solver a generátor sudoku, implementovaný do aplikace pro všechny nadšence sudoku

Dokumentace pro uživatele

Aplikace, která dokáže vyřešit uživatelem zadané sudoku, poradit mu při řešení, nebo vygeneruje úplně nové a změří řešiteli čas.

Intuitivní ovládání vás (snad) dovede k cíli :). Kdyby ne, v aplikaci je odkaz na manuál.

Další informace zde.

Instalace

  • Na Linuxu nainstalovat balíčky "pyqt4-common", "python2-pyqt4" a "python2"
  • Na Windows nainstalovat Python zde a PyQt dle návodu zde

Spuštění

Pythonem spustit SuSol.py

Dokumentace pro programátory

Algoritmy pro solver a generátor jsou poměrně variabilní, stačí pouze dodržet formu, kdy na vstup jde matice 9x9 představující sudoku (0 je prázdné políčko) a na výstup jde totožný datový typ stejného rozměru.

Implementované funkce jsou zdokumentovány zde.

Development

Zdrojové kódy (soubory.py) se dají otevřít ve vhodném IDE (osobně používám PyCharm) a editovat. Doporučuji zasahovat pouze do souborů "solver2.py" a "generator.py", ostatní jsou poměrně komplikované a hrozí nevratné narušení funkčnosti (mně už se to stalo, naštěstí máme git :) ). Vše se potom musí interpretovat Pythonem 2.x.

Struktura kódu

Kód je rozdělený na solver, generátor a všechno ostatní (GUI, databáze a některé banální algoritmy dohromady - typicky například kontrola chyb v sudoku); některé funkce GUI jsou zvlášť v souboru misc.py

Další informace zde.

Screenshoty, obrázky

Úvodní obrazovka Alt text

Zadávání sudoku Alt text

Řešení sudoku s použití podbarvování Alt text

Vyřešené sudoku s pomocí počítače Alt text

Výběr z databáze Alt text