This project is for educational purposes:
its current status should represent the student's starting point.
Hanabi module
A python3 module that knows Hanabi:
card deck and dealer,
CLI (command line interface), lets you play and verifies that your moves are allowed (currently limited to 2 players),
GUI (to do),
AI (currently only one, and it is cheating).
Tasks
There are many possible tasks:
read the current state of the module,
complete its documentation when needed,
share with everyone this improvement,
improve the CheaterAI
-- answer the question (still an open question afaik): what is the best possible score, statistically speaking?
add AIs. Some suggestions:
RandomAI (plays randomly),
DirectAI (plays whatever is hinted),
BGAAI (plays Board Game Arena's standard),
HansimAI (see below),
train a machine learning (I'm not sure if this will give anything interesting without powerful CPU/GPU resources),
design your own, from scratch or by improving an existing one.
Keep track of scores for all these games/AI.
We will want to compare: different AIs on a same deck, or a given AI over a 1000 decks.
We will need to see why a certain AI fails on a certain game.
make it workable for up to 5 players.
make it workable from two separate screens (network?)
you may also design a GUI, but be warned that this is a very time-consuming task.
I like PySide2. Tkinter is more portable but harder to learn imho.
During the project:
make sure you understand the "replay" mode
add tests (UnitTest or whole tests)
keep notes on your questions, decisions, discussions (github's wiki)
Installation
For Linux and Mac:
git clone https://github.com/JDGaraudEnsta/hanabi
cd hanabi
git pull
make # pip installs it in the default directory ~/.local
hanabi
# and now you may play
If hanabi doesn't start (bash: hanabi: command not found), add this to your ~/.bashrc:
请发表评论