From af49fb6294345275d394ad1e95f02706854ce8f5 Mon Sep 17 00:00:00 2001 From: En Yi Date: Wed, 5 Jun 2019 13:58:42 +0100 Subject: [PATCH] Add README and example rng seed --- .gitignore | 2 +- README.md | 48 +++++++++++++++++++++++++++++++++++++++ seeds/low_point_hand.rng | Bin 0 -> 3760 bytes 3 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 README.md create mode 100644 seeds/low_point_hand.rng diff --git a/.gitignore b/.gitignore index 9d36f27..6fc150e 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,4 @@ test* math_ext.py .idea __pycache__/ -*.rng \ No newline at end of file +last_game_rng.rng \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..68b46a4 --- /dev/null +++ b/README.md @@ -0,0 +1,48 @@ +# SingBridge +A python implementation of the Singaporean version of the Bridge Card game. + +# Requirements +Python 3.6, pygame, signalslot + +# Installation +1. Clone this repository +2. Make a virtual environment (optinal but recommended). Remember to activate it. +3. Install the required packages from requirements.txt: +`pip install -r requirements.txt` +4. Run main.py: +`python main.py` + +# Run Options +When running `main.py`, you can give options: + +`python main.py [options]` + +3 options are availables: +* `-a` or `--autoplay`: To run the game with all bots +* `-va` or `--view-all`: All player cards are revealed +* `-s` or `--seed` followed by a file path: To run the game with a specified RNG seed + +An example command: + +`python main.py -a -s ./seeds/low_point_hand.rng` + +This command runs the game with all bots and a seed from `./seeds/low_point_hand.rng` + +# Controls +I hope that you know how to play the Singaporean version of Bridge. + +Currently, the `p` key has to be pressed to begin the game. +During the game, **all inputs are done through the terminal**. +Instructions on the input format should appear in the terminal. + +I'm looking into changing the input to be mouse-based as a separate version. + +When closing the game, please be a bit patient. It should close within a second or two. +You may also close it via Keyboard Interrupt (i.e. `Ctrl+c`) in the terminal. + +# Bugs and Suggestions +Please report any bugs, specifying how the bug can be recreated. +The more specific it is, the better. + +Suggestions for improvements on the code are welcomed. + diff --git a/seeds/low_point_hand.rng b/seeds/low_point_hand.rng new file mode 100644 index 0000000000000000000000000000000000000000..4896d6627584a386da9d837aebb23f238ee7df6e GIT binary patch literal 3760 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