Hsudoku
A native gtk sudoku game written in haskell
Install / Use
/learn @mmsbrggr/HsudokuREADME
λsudoku
<p align="center"> <a href="#appearance">Appearance</a> • <a href="#motivation">Motivation</a> • <a href="#installation">Installation</a> • <a href="#installation">Usage</a> • <a href="#tests-and-coverage">Tests</a> • <a href="#documentation">Documentation</a> </p>
Appearance
<h3 align="center"> <img width="400px" src="gui/menu.png" alt="Menu" /> <img width="400px" src="gui/play.gif" alt="Gameplay" /> </h3>Motivation
λsudoku was born in a haskell universty course at the technical university in Vienna. The goal was to create a neat looking and user-friendly haskell game using modern technologies and libraries, namely GTK3 and haskell-gi. The sudokus get loaded from the internet, parsed in haskell and made playable through a native gtk interface. Special thank goes to Kjell Ericson for letting me use is sudoku generator web-app.
Installation
λsudoku has a few prerequesites. If they are already installed on your system, you can skip the following steps.
- At least GHC 8.0.2 and cabal 1.24
sudo add-apt-repository -y ppa:hvr/ghc
sudo apt-get update
sudo apt-get install cabal-install-1.24 ghc-8.0.2
export PATH=/opt/ghc/8.0.2/bin:/opt/cabal/1.24/bin:$PATH
- GTK+3.20 and other packages needed for the UI
sudo add-apt-repository ppa:gnome3-team/gnome3-staging
sudo apt-get update
sudo apt-get install build-essential libgtk-3-dev libgirepository1.0-dev libcairo2-dev libgdk-pixbuf2.0-dev
- The happy haskell package
cabal update
cabal install happy
With all dependencies in place, the hsudoku game can be installed:
git clone git@github.com:marcelmoosbrugger/hsudoku.git
cd hsudoku
cabal install --only-dependencies
cabal build
Usage
If everything is installed the game can be run from the installation folder:
dist/build/hsudoku/hsudoku
Tests and Coverage
Tests can easily be run with:
cabal test
Documentation
Documentation of the code and the hackage package can be found on hackage/hsudoku
Licence
This project is licensed under the terms of the MIT license. See the LICENSE file.
Related Skills
node-connect
334.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
82.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
334.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
82.1kCommit, push, and open a PR
