Commit graph

50 commits

Author SHA1 Message Date
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
f0257a1292
fix: CLI argument name 2023-11-15 23:25:30 +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
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
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
0a8facb585
better output: display when draw pile size not feasible 2023-11-11 22:57:09 +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
6190040c25
fix assertions 2023-11-11 13:29:55 +01:00
1266791750
add missing game_state.cpp file 2023-11-11 12:40:36 +01:00
59709e2375
rework -r option: solve state in reverse order 2023-11-11 11:44:06 +01:00
7eb1364e36
catch games where specified draw pile is not feasible 2023-11-11 07:58:10 +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
acece2a952
add command line option to print all future game states as well 2023-11-10 21:44:29 +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
89bab62032
add option to select game state by draw pile size 2023-11-10 15:08:37 +01:00
c40aae3c4b
respect option on whether to start interactive shell 2023-11-10 14:17:55 +01:00
2debafe5d6
use option-driven command line interface 2023-11-10 14:12:50 +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
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
3fd64bc70f
CLI: sort by probability when asking for draw
Also better alignment of output in list of drawable cards
2023-09-26 22:26:36 +02:00
f300c61c81
cli: treat currently played card as trash in draw selection 2023-09-22 15:27:27 +02:00
f02870c975
clean up unused var 2023-09-19 18:17:42 +02:00
71dbc0d473
Improve quitting: catch SIGINT and ask for confirmation 2023-09-19 17:54:21 +02:00
05d348b7e4
correct action parsing 2023-09-14 17:06:06 +02:00
3211a20c9c
better usage printing in cli 2023-09-06 12:05:29 +02:00
3d7015f63d
fix color-initials command 2023-08-13 00:10:00 +02:00
62bf71a2f2
print duration 2023-08-12 23:13:16 +02:00
78a703434d
adjust getter method for games to start turn counting at 1 2023-08-12 20:10:28 +02:00
70a6000884
clean up imports 2023-08-12 19:43:22 +02:00
034a7a95a1
split download.h into separate header and source 2023-08-12 19:15:05 +02:00
4e860f49cc
better user output/error handlin when game cannot be initialized 2023-08-12 18:58:12 +02:00
b1c1f41c6e
add cli command to dump id parts 2023-08-12 18:48:01 +02:00
1c716ffeab
remove unused methods, put into own files 2023-08-12 12:17:55 +02:00
23978ada76
improve error handling 2023-08-12 12:17:55 +02:00
46554a7e33
split into src and include folder 2023-08-12 11:44:56 +02:00