Commit graph

22 commits

Author SHA1 Message Date
Felix Bauckholt
e510f7cc5e Switch around ordering of question combining
This has the advantage that for some ModulusInformation object m and
some modulus,

```
a = m.split(modulus);
m.cast_down(x);
```

is equivalent to

```
m.cast_down(x*modulus);
a = m.split(modulus);
```

This means that when using a ModulusInformation object to answer
questions, we can answer the first question without needing to know how
many questions there are.
2019-03-07 21:52:33 +01:00
Felix Bauckholt
8337c61ea2 Auto-update README.md with cargo run --release -- --write-results-table 2019-03-07 19:12:31 +01:00
Felix Bauckholt
e04d242a71 Bug fixes 2019-03-06 12:23:21 +01:00
Felix Bauckholt
35502541a2 If a player discards because nobody needed a hint, make that common knowledge
"Needing a hint" is defined as having a playable card, but not knowing
any specific card is playable. Thus, if a player doesn't know any
playable cards and someone else discards, the player (publicly)
concludes that all their cards are unplayable.
2019-02-26 22:51:04 -08:00
Felix Bauckholt
7ace892f40 Make better decisions between hinting and discarding
I think most of the gains of this change come from the fact
that now we don't discard any potentially useful cards if we have more
than 4 hints remaining.
2019-02-26 22:51:04 -08:00
Felix Bauckholt
385feeb6ba Slight tweaks that increase 3-player win rate to 75%
- When there are less than 5 players, and we're near the discard threshold, prefer
  hinting over discarding, even if there are known useless cards.

- We now ask questions like "what's the first playable card in this list?"

  This means that if a playable card is in the asking player's list,
  the player will learn that it's playable, and that every card before
  it is not playable.

  Additionally, if a player doesn't know of any dead cards in their hand
  and there is enough information available, we use this mechanism so that
  if the player doesn't have a playable card, they will learn about one
  dead card in their hand.

(These were two commits that got joined in a rebase accident, sorry.)
2019-02-21 10:19:54 -08:00
Jeff Wu
bd3824dc7d
Fix broken table 2018-03-23 19:29:59 -07:00
Jeff Wu
cab576f883 minor cleanups 2016-04-04 00:49:10 -07:00
Jeff Wu
d86136889d only ask about playability when needed 2016-04-03 20:57:31 -07:00
Jeff Wu
b19e6ff615 update readme 2016-04-02 14:56:40 -07:00
Jeff Wu
81427e2dd5 smart hinting, silencing/configuring of progress output 2016-04-02 13:51:18 -07:00
Jeff Wu
7f5e32699e various cleanups, fixes 2016-04-02 12:35:53 -07:00
Jeff Wu
ec1fd2eb07 make color = char 2016-03-31 10:36:13 -07:00
Jeff Wu
58c881130a fix sorting wrong order bug... some cleanup, update results 2016-03-31 09:37:50 -07:00
Jeff Wu
38bb323d91 more improve 2016-03-30 23:18:55 -07:00
Jeff Wu
0aad4dfa1c choose index dynamically, use OwnedGameView where possible 2016-03-30 10:28:15 -07:00
Jeff Wu
21e2d05e93 better partitioning, fix card table bug with extra 0 entries 2016-03-30 02:52:03 -07:00
Jeff Wu
79051b51fc tweaks 2016-03-30 02:20:34 -07:00
Jeff Wu
ea2857a9cd make use of dead card discard info 2016-03-30 01:11:41 -07:00
Jeff Wu
9494d549ae make risky plays 2016-03-30 00:38:02 -07:00
Jeff Wu
3d318340eb improve to 24.78 (for 5 players) 2016-03-29 22:59:14 -07:00
Jeff Wu
107d585b19 improvements, cleanup, readme 2016-03-19 14:24:22 -07:00