An open API service indexing awesome lists of open source software.

https://github.com/huzecong/Connect

Qt project - Flow Free game
https://github.com/huzecong/Connect

algorithm flowfree game material-design qml qt

Last synced: about 4 hours ago
JSON representation

Qt project - Flow Free game

Awesome Lists containing this project

README

          

# Connect

This repository holds Connect, a game implemented in Qt where you need to connect matching colored dots with pipes to fill the entire grid without intersecting or overlapping.

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

You can get a glimpse of the game's mechanics through the GIF below:

![intro-1](https://raw.githubusercontent.com/huzecong/FlowFree/master/doc/image/intro-1.gif)

The game also features an auto-solve function, implementing a fast solving algorithm. You can see it in action below:

![intro-2](https://raw.githubusercontent.com/huzecong/FlowFree/master/doc/image/intro-2.gif)

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.