835bf3421b
remove print
2024-01-12 15:59:51 +01:00
8398173939
implement discarding dupes and sacrifice discards
2024-01-12 15:18:30 +01:00
43477b1023
better state printing: ignore trash
2024-01-12 14:59:47 +01:00
e18937c599
Revert "add card orders to deck"
...
This reverts commit 8b42819704
.
2024-01-12 14:51:13 +01:00
4ba61b0450
implement criticality of cards
2024-01-12 14:27:16 +01:00
8b42819704
add card orders to deck
2024-01-09 15:07:14 +01:00
c6a7eec903
fix assertions and when to consider stalling
2024-01-09 04:13:13 +01:00
486e459c68
handle CS games on download
2024-01-09 02:21:01 +01:00
5b6e877a51
add debug macro
2024-01-09 01:10:27 +01:00
930ba9b408
game_state: support clue starved variants
2024-01-09 01:10:19 +01:00
c7eac217a8
Implement missing output operator
2023-11-24 16:11:36 +01:00
8cc30eb270
add comments
2023-11-16 16:29:41 +01:00
3eea38ae05
fix comments
2023-11-16 16:22:49 +01:00
ea881c5e6a
reformat code
2023-11-16 16:20:04 +01:00
43b4bec7c6
simplify functions
2023-11-16 16:03:42 +01:00
04e071c97c
use own header for producing state to reduce compilation time
2023-11-16 15:55:19 +01:00
9887d104b8
better interface for cli
2023-11-16 15:14:31 +01:00
7dc9d41aa7
pass by const&
2023-11-16 15:06:45 +01:00
bdc65411ae
simplify types
2023-11-15 23:23:21 +01:00
6e0e88b97a
clean up imports
2023-11-15 23:07:39 +01:00
3244213daa
Split GameState into multiple files
...
This now allows to import a light-weight header containing
the abstract interface separately from the templated header
that manages the actual backtracking, thus speeding up compilation.
2023-11-15 22:58:09 +01:00
0dbeb6e202
remove unused hash function
2023-11-15 22:09:34 +01:00
4b427c40f9
Code cleanup: split download into parsing + downloads
2023-11-15 21:47:50 +01:00
6ce692a06f
improve program output and CLI documentation
2023-11-15 16:53:49 +01:00
ac4cf5e797
Fix unique ids to allow for discarded / lost cards
2023-11-14 14:32:49 +01:00
27b8c08ed4
more debug checks: do not use tablebase lookup and therefore check tablebase consistency
2023-11-14 13:19:33 +01:00
88cfbe21f3
set clue modifier to 0 by default
2023-11-14 13:13:49 +01:00
812a5dc790
add assertion: check no double-initialization
2023-11-12 23:50:48 +01:00
d3328725c7
better output in case of too short replays
2023-11-12 18:32:19 +01:00
32af52ae9e
Rework CLI
...
This should cover all use cases / exceptions now and is in a reasonably
good code state.
2023-11-12 17:30:44 +01:00
3f69d0ac71
rename file
2023-11-12 14:58:25 +01:00
6f5419b2d8
fix find_card_in_hand function: respect different representation of trash
2023-11-11 23:30:01 +01:00
a615733350
Fix: Correctly handle bombing of cards and reverting thereof
2023-11-11 22:52:28 +01:00
5308eeaf6e
rework moving forward/backward in game
2023-11-11 22:32:30 +01:00
571011d7b5
Revert "add more checks: same draw pile after reverting single moves (bug detected)"
...
This reverts commit a3972fe637
.
2023-11-11 13:32:18 +01:00
6190040c25
fix assertions
2023-11-11 13:29:55 +01:00
ab31588dbb
bugfix: correctly revert manual cases even when rotate_next_draw was used
2023-11-11 13:28:43 +01:00
b9b73406f2
bugfix: have switch for card cycling in play/discard methods as well
2023-11-11 13:07:15 +01:00
a3972fe637
add more checks: same draw pile after reverting single moves (bug detected)
2023-11-11 12:41:14 +01:00
5b0834bc22
bugfix: card cycling on reverting only used internally
...
This ensures that when doing a regular revert,
we revert to exactly the same state (i.e. also identical
ordering of draw pile by default)
and only rotate the draw pile in case we ensure internally
that we iterate over all possible draws so that the ordering
is restored in the end.
2023-11-11 12:15:54 +01:00
b6a2dfb855
add integrity check for draw pile
2023-11-11 11:44:37 +01:00
59709e2375
rework -r option: solve state in reverse order
2023-11-11 11:44:06 +01:00
8f6d8c68fe
add option to analyze all different clue counts
2023-11-11 01:27:54 +01:00
280833ff1f
add options to alter clue counts
2023-11-11 00:01:18 +01:00
6dd2b07c09
game state: fix taking actions: rotate draw correctly
2023-11-10 21:42:09 +01:00
9af6ef3368
rework downloading interface: return game consisting of state and actions
2023-11-10 20:35:05 +01:00
4e67ffa9ee
Add optional argument to define score being optimized for
...
A third CLI argument is now accepted, describing a score goal.
The program will then treat reaching this score as a win and
calculate lines optimized for this score, ignoring any (possible)
higher scores.
2023-11-04 13:02:16 +01:00
87c429e586
remove extra ;
2023-10-13 00:18:08 +02:00
b69cb6d974
Rework probability printing
...
Outputting of probabilities is now done in unified way.
This ensures that we can handle both rational and floating-point
probabilities in all program parts properly.
The compile-time macro
NUSE_RATIONAL_PROBABILITIES
can now be defined to use floating-point probabilities instead
of real rational ones.
Using floating-point results in roughly 10% speedup.
2023-10-02 12:37:24 +02:00
0cc069485d
CLI: align action probabilities in output
2023-09-26 23:20:49 +02:00