This is a dynamic program written in C++ to solve Hanabi endgames.
Some optimizations are performed, but it is not particularly well-written at the moment and could also use some code cleanup.
As of now, you can run the executable with an id from a hanab.live game and a turn number (shifted by 1, since we start counting at 0 and hanab.live at 1) and the winning
percentage for the corresponding game state with optimum play will be calculated.
Here, optimum play refers to the assumption that everbody knows their cards, but not the draw pile.
For example, if the output of the program is 1, then this means that even if an evil adversary is allowed to pick the next card in the deck each time a card is drawn, there is still a strategy that guarantees a win.
-`readline` should be installed already, otherwise try your package manager as well.
-`cpr` is a bit more complicated:
- On Arch, there is a package in the [AUR](https://aur.archlinux.org/packages/cpr).
- On Fedora, there is also a package via [rpm][https://src.fedoraproject.org/rpms/cpr].
- There might be packages for other distributions, check out the [CPR project on Github](https://github.com/libcpr/cpr#packages-for-linux-distributions).
- If there is no package available for your distribution, see [below](# Installing cpr as a local CMAKE dependency)
Mac OS:
- I recommend installing packages with [Homebrew](https://brew.sh).