All Projects → andreaiacono → GoShapesPuzzle

andreaiacono / GoShapesPuzzle

Licence: other
A simple puzzle solver in Go

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to GoShapesPuzzle

AbsTK
The Abstract Toolkit – a widget toolkit for GUI and text-mode applications.
Stars: ✭ 67 (+168%)
Mutual labels:  gtk3
libappindicator-rs
Rust safe bindings for the libappindicator library
Stars: ✭ 27 (+8%)
Mutual labels:  gtk3
Me-TV
It's TV for me computer.
Stars: ✭ 39 (+56%)
Mutual labels:  gtk3
tym
Lua-configurable terminal emulator
Stars: ✭ 119 (+376%)
Mutual labels:  gtk3
gxkb
🇫🇷🇬🇧🇩🇪 X11 keyboard indicator and switcher
Stars: ✭ 101 (+304%)
Mutual labels:  gtk3
vulcan
A minimalistic text editor designed for both ordinary use and software development
Stars: ✭ 46 (+84%)
Mutual labels:  gtk3
postcss-gtk
Processes GTK+ CSS into browser CSS
Stars: ✭ 23 (-8%)
Mutual labels:  gtk3
avizo
A neat notification daemon
Stars: ✭ 108 (+332%)
Mutual labels:  gtk3
niki
Media Player, DLNA, Music, Video and Streaming
Stars: ✭ 14 (-44%)
Mutual labels:  gtk3
capnet-assist
Captive Portal Assistant
Stars: ✭ 47 (+88%)
Mutual labels:  gtk3
switchboard-plug-applications
Switchboard Applications Plug
Stars: ✭ 14 (-44%)
Mutual labels:  gtk3
hazzy
Touchscreen UI for LinuxCNC
Stars: ✭ 30 (+20%)
Mutual labels:  gtk3
tempus-themes
[Mirror] Tempus is a collection of themes for Vim, text editors, and terminal emulators that are compliant at the very least with the WCAG AA accessibility standard for colour contrast
Stars: ✭ 48 (+92%)
Mutual labels:  gtk3
markdown-rs
Simple Markdown editor
Stars: ✭ 47 (+88%)
Mutual labels:  gtk3
live-chart
A real-time charting library for Vala and GTK3 based on Cairo
Stars: ✭ 47 (+88%)
Mutual labels:  gtk3
adw-gtk3
The theme from libadwaita ported to GTK-3
Stars: ✭ 660 (+2540%)
Mutual labels:  gtk3
jack mixer
A multi-channel audio mixer desktop application for the JACK Audio Connection Kit.
Stars: ✭ 66 (+164%)
Mutual labels:  gtk3
hsudoku
A native gtk sudoku game written in haskell
Stars: ✭ 31 (+24%)
Mutual labels:  gtk3
payton
Payton! Kickstart any 3D OpenGL + GTK Ideas in a few seconds!
Stars: ✭ 45 (+80%)
Mutual labels:  gtk3
tundra
MyAnimeList scrobbler for Linux
Stars: ✭ 33 (+32%)
Mutual labels:  gtk3

Shapes Puzzle

is a GUI application written in Go to solve shapes puzzles:

Shapes Puzzle Application

Install

This project uses the Gotk3 provides bindings for the GTK+3. Follow the project's instructions at https://github.com/gotk3/gotk3/wiki#installation to install it.

Build

After having satisfied the Gotk3 dependencies, you can compile the application with

go build

Run

Once built, you can run the application with:

./shapes

The application takes two parameters:

  • gui=[true|false] (defaults to true) if the application is to be run with a GUI or on the command line
  • filename=filename (defaults to 'models/5x6.model')

This is the command to launch it on command line with the 4x4.model:

./shapes -gui=false -filename=models/4x4.model 

Models

This repo contains some models of the puzzles. If you want to solve a new one, just create a new .model file; the format is simply the disposition of the pieces where every piece is specified by a number (greater then 0) or a letter. So, the puzzle can have a maximum of 35 pieces (26 case unsensitive letter and 9 numbers).

More info

The application uses a basic backtracking algorithm to find the solutions with some branch cutting for improving performances. There's a complete explanation of the internals here: https://medium.com/@andreaiacono/backtracking-explained-7450d6ef9e1a

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].