Commit Graph

246 Commits

Author SHA1 Message Date
Maximilian Keßler 0687e176d5
first version of greedy solver: winrate roughly 80% 2023-03-14 15:20:18 +01:00
Maximilian Keßler 8991d30826
GameState: fix clued value, add to_json method 2023-03-14 09:14:40 +01:00
Maximilian Keßler bdbcc28edd
sat solving database: add timer, skip 2-player seeds (too costly atm) 2023-03-14 09:14:14 +01:00
Maximilian Keßler abdbc02c6b
adjust downloading of actions: log if VoteTerminate action is found 2023-03-14 09:13:10 +01:00
Maximilian Keßler e04d3a9025
fix compression: value of voteTerminate now set to 0 to prevent index overflow 2023-03-14 09:12:46 +01:00
Maximilian Keßler 0e7deaf0dd
clean up sat.py file: json exporting now easier 2023-03-14 09:12:21 +01:00
Maximilian Keßler 4489087a0d
add GameState class to model progress of hanabi game 2023-03-14 09:04:08 +01:00
Maximilian Keßler 725d08d67b
implement multi-processing for instance solving with sat 2023-03-14 00:31:21 +01:00
Maximilian Keßler 151e15177f
add method to solve seeds. start to implement threading 2023-03-13 23:47:59 +01:00
Maximilian Keßler 91aa786ef9
add method to directly generate link to replay 2023-03-13 17:21:25 +01:00
Maximilian Keßler ba8313b4bb
restructure sat.py: clean up and more general interface 2023-03-13 17:21:07 +01:00
Maximilian Keßler ab2cda2207
fix export function 2023-03-13 14:58:51 +01:00
Maximilian Keßler 5c06ef7887
implement proper method to find feasible instances 2023-03-13 13:22:54 +01:00
Maximilian Keßler a40361b7f3
first version of updating max-score games in DB 2023-03-13 11:46:23 +01:00
Maximilian Keßler 777d374ba4
update export method: parses extra parameters and returns if game was cheaty 2023-03-11 20:10:40 +01:00
Maximilian Keßler 46cc2c50ee
add interface to read variants.json file 2023-03-11 20:01:29 +01:00
Maximilian Keßler d0ba1f4b4a
fix compression: shift encoded values by 1 to differentiate 0 and null 2023-03-03 11:17:31 +01:00
Maximilian Keßler d7387574ea
rewrite instance_finder
now contains utilities to fetch data from hanab.live / update DBs
2023-03-02 22:16:43 +01:00
Maximilian Keßler 9b976f6552
add method to export games and store actions/seed in database 2023-03-02 22:16:25 +01:00
Maximilian Keßler a8a53c7690
update database: add columns for actions and deck 2023-03-02 22:16:04 +01:00
Maximilian Keßler bfc72c497d
add action for voting to terminate the game 2023-03-02 22:15:47 +01:00
Maximilian Keßler a4a3cc90f0
clean up file 2023-03-02 21:28:37 +01:00
Maximilian Keßler 7c82aff384
remove lots of 'tests' 2023-03-02 21:27:29 +01:00
Maximilian Keßler 4dab0de216
add code to decompress json games 2023-03-02 21:27:00 +01:00
Maximilian Keßler 26f5e2f3f1
add code to compress whole json games 2023-03-02 21:13:47 +01:00
Maximilian Keßler b19fc187d6
implement decompressing action string 2023-03-02 20:38:48 +01:00
Maximilian Keßler 174e8276f2
add compression methods for decks/replays 2023-03-02 20:16:26 +01:00
Maximilian Keßler 0bd0b42230
add seeds table 2023-03-02 15:18:08 +01:00
Maximilian Keßler 6077c64f06
add variants.json file from hanabi-live repo 2023-03-02 14:52:16 +01:00
Maximilian Keßler cee4796b34
refactor code to download games into separate file 2023-03-02 13:27:26 +01:00
Maximilian Keßler cae4a44703
move site api for hanab.live into own file 2023-03-02 13:11:12 +01:00
Maximilian Keßler bbbdae0611
download game database 2023-03-02 13:07:53 +01:00
Maximilian Keßler 5e537423e9
add storing / loading of games to database 2023-03-02 13:03:05 +01:00
Maximilian Keßler 9a771b0782
start implementation of database framework: create table 2023-03-02 11:52:15 +01:00
Maximilian Keßler a90ff5d451
instance_finder: find hard instances on hanab.live
searches for instances with no known full score in hanab.live database
and tackles these with SAT solver
2023-03-02 11:04:45 +01:00
Maximilian Keßler f8c2919a85
add gitignore 2023-03-02 11:04:33 +01:00
Maximilian Keßler 698d72e021
implement other player counts 2023-03-02 11:03:33 +01:00
Maximilian Keßler 80f9e7bca5
better function handling 2023-02-28 22:33:06 +01:00
Maximilian Keßler aae9dec351
refactor file: use methods dependent on deck type 2023-02-28 22:30:50 +01:00
Maximilian Keßler 8abe9fd257
rename MOVES -> MAX_MOVES 2023-02-28 19:11:23 +01:00
Maximilian Keßler 63555cfa85
adjust json output to arbitrary move count 2023-02-28 19:10:43 +01:00
Maximilian Keßler b1340713bd
implement dummy turns 2023-02-28 19:09:13 +01:00
Maximilian Keßler 9f10d002c8
start implementation of general move number
extraround is marked accordingly, no cards are drawn in it
2023-02-28 18:59:41 +01:00
Maximilian Keßler df7c8c0845
convert found solutions into hanab.live json replay format 2023-02-28 17:28:34 +01:00
Maximilian Keßler 43f86aaea1
implement handling of strikes 2023-02-28 15:41:23 +01:00
Maximilian Keßler 369fc03158
initial version from matthias 2023-02-28 14:19:01 +01:00