Package: onono
Onono! The Puzzle GameImplementation of a knownpuzzlegameNonogram, consisting of coloring
a white grid based on given instructions. Game was created using thepygamelibrary, responsible for all the GUI interactions.One of the main extensions of this game is the possibility of converting any image (PNG) to a game puzzle. This results
in a quick and an efficient way of creating new puzzles and brings a whole new level of replayability to the game. Puzzles
can also be generated completely randomly.Closer information about the project itself, algorithms used and possible extensions can be found in the attachedreport.pdffile.Dependencies, installationDependencies are listed in therequirements.txttext file. Most notable of them are:pygame (GUI)numpy (savegame representation, game logic operations)PIL (image operations)pytest, pylint, pyautogui (testing)Installation process:Make sure you are in the root repository (same one as this README).Install the dependencies with thepip install -r requirements.txtcommand.Launch the game with thepython ononocommand.You can exit the game from the GUI window or by pressing Ctrl+C in the terminal.TestingTest files were contained in thetests/directory. Further directory structure is determined by the logical modules of the code.Some of the things that are tested:Linting with PEP-8 (usingpylint)Basic GUI testing (usingpyautogui)Incorrect save files, corrupted imagesInternal game logicTests can be launched with thepytestcommand.Onono! The Puzzle Game - CzechSemestrální práce implementuje známoupuzzlehruNonogram, spočívající v obarvování bílé mřížky na základě zadaných instrukcí. Hra je implementována za pomocí knihovnypygame, která se stará o veškeré vykreslování GUI.Jedním z hlavních rozšíření této hry je možnost nahrát libovolný obrázek formátu PNG a nechat jej převést na samotnou hádanku. To umožní ve hře rychlé a jednoduché vytváření hádanek a velkou míru znovuhratelnosti.Bližší informace o práci jako takové, jejím vývoji a možném rozšíření se nachází tzv.reportuv souborureport.pdf.Závislosti a instalaceZávislosti jsou popsány v souborurequirements.txt. Jediné velké externí balíčky, o které se práce opírá, jsoupygame(pro celé vykreslování GUI),numpy(pro práci s herními savy a víceméně veškeré operace s poli) aPIL(tj.Python Imaging Library; pro zpracování vstupního obrázku). Pro testování jsou dále využity balíčkypytest,pylintapyautogui.Proces instalace a spuštění:Ujistěte se, že se nacházíte v kořenovém adresáří.Nainstalujte veškeré závislosti pomocí příkazupip install -r requirements.txt.Spusťte hru pomocí zadání příkazupython ononodo příkazové řádky.Hru můžete ukončit tlačítkem v menu, zavřením okna nebo klávesovou zkratkou Ctrl+C v terminálu.TestováníTestovací soubory jsou obsaženy v adresářítests. Některé z nich pracují i s vlastními herními savy (mezní případy nesprávných vstupů), takové jsou v adresářisaves\tests, resp.saves\images\tests. V souborutest_lintse nachází automatická kontrola linterempylint, všechny moduly by měly (s vyjímkou uvedených odůvodněných varování) procházet na plné skóre, což znamená že zdrojový kód semestrální práce je v souladu s PEP 8.Testy je možné spustit pomocí příkazupytest, spuštěného v domovském adresáří.