|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
# Bunco Simulator
Every year my family plays a ≈30-person game of Bunco.
If you’ve never played, [the rules](http://worldbunco.com/rules.html) are complicated but in practice it basically involves rolling a 3d6 repeatedly, as fast as you can, for about half an hour. There is no strategy involved, only lots of dice rolling. This makes it a great candidate for automation. In addition, because the computer is doing everything, there are lots of additional stats you can keep track of and prizes you can award: streaks of point-scoring rolls, percentage of each team score contributed by each player, etc.
## Installation
This code targets Python 3.7+. It needs no additional dependencies.
To clone this repo you need to have Fossil installed.
$ fossil clone https://thenotepad.org/repos/bunco
## Usage
Only console output is supported.
Create a file `players.csv` in the same folder containing a single column, a list of player names.Make sure the number of players is divisible by 4 (since you need four players per table). The best way to make up the number is to add the names of your favourite celebrities (make sure you @ them on Twitter about it too).
$ python3.7
>>> import bunco
>>> g = bunco.Game("players.csv")
>>> g.play_one_round()
## Gameplay
The simulator follows [the official Bunco rules](http://worldbunco.com/rules.html) with the following additional house rules:
* Players sit four to a table, numbered 0 to 3. Players 0 and 2 form Team One, and players 1 and 3 form Team 2.
* Upon the start of a round, the first player to roll at each table is decided randomly.
|