https://github.com/huzecong/flowfree
Qt project - Flow Free game
https://github.com/huzecong/flowfree
algorithm flowfree game material-design qml qt
Last synced: 16 days ago
JSON representation
Qt project - Flow Free game
- Host: GitHub
- URL: https://github.com/huzecong/flowfree
- Owner: huzecong
- License: mit
- Created: 2015-08-25T03:10:02.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2019-07-27T21:53:38.000Z (almost 6 years ago)
- Last Synced: 2023-10-20T20:16:51.229Z (over 1 year ago)
- Topics: algorithm, flowfree, game, material-design, qml, qt
- Language: C++
- Size: 6.77 MB
- Stars: 81
- Watchers: 7
- Forks: 11
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FlowFree
This repository holds FlowFree, a Qt port of the mobile game [Flow Free](https://www.bigduckgames.com/flowfree).
The code is the product of a summer semester course project.
This project uses [qml-material](https://github.com/papyros/qml-material), the Material Design UI for Qt QML by @papyros.
# Description
FlowFree is a game connecting dots by pipes. No two pipes can intersect or overlap.
You can get a glimpse of the game's mechanics through the GIF below:
The game also features an auto-solve function, implementing a fast solving algorithm. You can see it in action below:
The algorithm is a simple extension of what is known as "connectedness-based state compression dynamic programming" (abbreviated "plug-DP") in the Chinese community of Olympiad in Informatics contestants. It is the algorithm behind the solution to this problem: [URAL 1519 - Formula 1](http://acm.timus.ru/problem.aspx?space=1&num=1519).
A [keynote slide](https://github.com/huzecong/FlowFree/blob/master/solver/FlowFree%E6%B1%82%E8%A7%A3%E7%AE%97%E6%B3%95.key) in Chinese briefly describes the algorithm.