Commit Graph

83 Commits

Author SHA1 Message Date
87524addd6
hanabi.py: support adding arbitrary clues for nicer replays 2023-05-06 22:03:23 +02:00
9fe456f0f9
hanabi.py add attribute to retrieve max score of instance 2023-05-06 20:13:36 +02:00
303158bc25
sat: annotate function return type. use deep copy for returning solution to avoid modifying passed game state 2023-05-06 19:41:50 +02:00
bdefe7aa34
hanabi.py: do not set values when reading discard or play actions from json. add equality operator to Action type 2023-05-06 19:02:38 +02:00
71951ac929
adjust download method also for games whose seed is unknown before 2023-05-06 17:42:27 +02:00
3a00879e03
hanabi.py: implement taking arbitrary actions, support striking out 2023-05-06 17:41:33 +02:00
9cd87445f2
fix missing self. in hanabi.py 2023-05-06 12:29:52 +02:00
0e6067ffe3
add try/except block around subprocess 2023-05-06 09:06:01 +02:00
1172405994
add requirements.txt dependency file 2023-05-06 08:50:00 +02:00
ce3d38537f
add pretty print method for decks 2023-03-18 15:18:04 +01:00
63146046e0
add methods to analyze individual suits and what cards to pick 2023-03-18 15:17:47 +01:00
dee13938cf
adjust deck analyzer to use hanabi instances 2023-03-18 14:08:27 +01:00
ddeb19265d
adjust sat solver to new files 2023-03-18 13:18:16 +01:00
8730551055
refactor greedy solver for new hanabi classes 2023-03-18 10:17:24 +01:00
a056c83869
fix a few missing self attributes 2023-03-18 10:17:09 +01:00
a90423e5c4
fix a few typos yielding errors 2023-03-18 01:27:32 +01:00
7aa8a78a9d
rewrite compress methods for new GameState object, proper error handling 2023-03-18 01:19:04 +01:00
b0d0aaae1b
refactor: proper classes for hanabi instances and games 2023-03-18 01:17:32 +01:00
c43b0fc475
deck_analyzer: also find seeds where handsize is too small to store all
valuables
2023-03-17 11:58:04 +01:00
93eca1f0b1
greedy_solver: remove global variables. allow exporting games with no actions 2023-03-17 11:55:46 +01:00
0851f83e12
compress.py: add method for colored output 2023-03-17 11:55:07 +01:00
c381a4c129
compress.py: make executable and decompress argument from command line 2023-03-17 11:54:55 +01:00
0756bba205
better testing for greedy solver. implement better handling of copies of cards 2023-03-16 14:07:42 +01:00
27055fd07f
deck_analyzer: check for out of hand size (mostly 2p games) 2023-03-16 09:34:03 +01:00
b819886ec5
add detection methods for seeds running out of pace 2023-03-15 16:41:22 +01:00
054112e272
add better method for instance solving: try greedy solver first 2023-03-15 15:45:22 +01:00
07d95e99f5
do not execute stuff when importing 2023-03-15 15:44:50 +01:00
b2ab5be3d9
rename solve -> solve_sat, change output type to be an actual game 2023-03-15 15:44:33 +01:00
1a43648ac7
greedy solver: do not crash when crit is lost, just mark this 2023-03-15 15:44:03 +01:00
2807d2672a
ignore some output files 2023-03-15 15:43:14 +01:00
b6b62e376f
add logger setup 2023-03-15 15:42:22 +01:00
f9abc8b2f5
assertions in GameState class 2023-03-15 11:16:45 +01:00
f0c1f112a0
adjust sat solver to handle mid-game states 2023-03-15 11:14:56 +01:00
d71dba523c
add deck index to be stored with card, add hash method 2023-03-14 21:15:20 +01:00
9704411001
fix bug in replay creation: equal cards with different deck idx: replace correct one 2023-03-14 18:47:07 +01:00
4c98c4f645
compute winning percentage at end 2023-03-14 18:27:29 +01:00
97d2bf379d
implement handling of dupes in same players hands 2023-03-14 18:15:15 +01:00
0687e176d5
first version of greedy solver: winrate roughly 80% 2023-03-14 15:20:18 +01:00
8991d30826
GameState: fix clued value, add to_json method 2023-03-14 09:14:40 +01:00
bdbcc28edd
sat solving database: add timer, skip 2-player seeds (too costly atm) 2023-03-14 09:14:14 +01:00
abdbc02c6b
adjust downloading of actions: log if VoteTerminate action is found 2023-03-14 09:13:10 +01:00
e04d3a9025
fix compression: value of voteTerminate now set to 0 to prevent index overflow 2023-03-14 09:12:46 +01:00
0e7deaf0dd
clean up sat.py file: json exporting now easier 2023-03-14 09:12:21 +01:00
4489087a0d
add GameState class to model progress of hanabi game 2023-03-14 09:04:08 +01:00
725d08d67b
implement multi-processing for instance solving with sat 2023-03-14 00:31:21 +01:00
151e15177f
add method to solve seeds. start to implement threading 2023-03-13 23:47:59 +01:00
91aa786ef9
add method to directly generate link to replay 2023-03-13 17:21:25 +01:00
ba8313b4bb
restructure sat.py: clean up and more general interface 2023-03-13 17:21:07 +01:00
ab2cda2207
fix export function 2023-03-13 14:58:51 +01:00
5c06ef7887
implement proper method to find feasible instances 2023-03-13 13:22:54 +01:00