Max score is now 301

This commit is contained in:
Nemo 2020-07-21 02:17:04 +05:30
parent f1c97d60bb
commit 62dd23f1fc
3 changed files with 190 additions and 1 deletions

View File

@ -2,7 +2,7 @@
This is a [MiniZinc](https://www.minizinc.org/) based attempt to solve the [Modern Art: Masters Gallery](https://boardgamegeek.com/boardgame/40381/masters-gallery) game. This is a [MiniZinc](https://www.minizinc.org/) based attempt to solve the [Modern Art: Masters Gallery](https://boardgamegeek.com/boardgame/40381/masters-gallery) game.
The current partial implementation (see below for missing rules) results in a highest possible score of 298 for a 2 player game. See [games/03.md](games/03.md) for the complete episode. There are a few more games available in [the games directory](games/) The current partial implementation (see below for missing rules) results in a highest possible score of 301 for a 2 player game. See [games/04.md](games/04.md) for the complete episode. There are a few more games available in [the games directory](games/)
## Plan ## Plan

28
games/04.json Normal file
View File

@ -0,0 +1,28 @@
{
"visible_count_per_round_per_artist_per_player" : [[[0, 0, 0, 1, 4], [2, 1, 1, 0, 1]], [[4, 0, 0, 1, 4], [1, 1, 4, 3, 0]], [[0, 0, 1, 1, 4], [0, 0, 4, 2, 0]], [[5, 0, 1, 0, 4], [0, 4, 3, 3, 0]]],
"first_player" : [{"e":"Nemo"}, {"e":"Nemo"}, {"e":"Nemo"}, {"e":"Nemo"}],
"last_player" : [{"e":"Jana"}, {"e":"Jana"}, {"e":"Jana"}, {"e":"Nemo"}],
"total_score_per_round_per_artist" : [[6, 0, 0, 1, 9], [9, 0, 0, 2, 11], [9, 0, 3, 3, 13], [12, 0, 4, 3, 15]],
"CardsForArtist" : [[2, 1, 1, 1, 5], [5, 1, 4, 4, 4], [0, 0, 5, 3, 4], [5, 4, 4, 3, 4]],
"NominalTurnCount" : [5, 9, 6, 10],
"Score" : [301, 66],
"MaxVisibleCards" : 5,
"TotalCardsPlayed" : [[5, 5], [9, 9], [6, 6], [10, 10]],
"StartingCardsInHand" : [[13, 13], [14, 15], [11, 13], [11, 10]],
"CardsDealtPerRound" : [13, 6, 6, 3],
"PlayableCards" : [[13, 14], [14, 16], [14, 13], [11, 10]],
"sorted_artists_per_round" : [{"e":"LiteMetal"}, {"e":"Krypto"}, {"e":"Yoko"}, {"e":"ChristinP"}, {"e":"KarlGitter"}, {"e":"Krypto"}, {"e":"LiteMetal"}, {"e":"Yoko"}, {"e":"ChristinP"}, {"e":"KarlGitter"}, {"e":"ChristinP"}, {"e":"LiteMetal"}, {"e":"Yoko"}, {"e":"KarlGitter"}, {"e":"Krypto"}, {"e":"Krypto"}, {"e":"LiteMetal"}, {"e":"ChristinP"}, {"e":"KarlGitter"}, {"e":"Yoko"}],
"Pn1" : {"set":[{"e":"Nemo"}, {"e":"Jana"}]},
"Pn2" : {"set":[{"e":"Nemo"}, {"e":"Jana"}]},
"Pn3" : {"set":[{"e":"Nemo"}, {"e":"Jana"}]},
"Pn4" : {"set":[{"e":"Jana"}]},
"award_bonus_per_round_per_artist" : [[4, 0, 0, 0, 6], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]],
"AwardGiven" : [true, true, true, true, true],
"AwardPlayedInRound" : [{"e":"Round1"}, {"e":"Round1"}, {"e":"Round1"}, {"e":"Round1"}, {"e":"Round1"}],
"AwardedArtist" : [{"e":"LiteMetal"}, {"e":"Krypto"}, {"e":"Krypto"}, {"e":"LiteMetal"}, {"e":"LiteMetal"}],
"ranking_score_per_artist_per_round" : [[2, 0, 0, 1, 3], [3, 0, 0, 1, 2], [0, 0, 3, 1, 2], [3, 0, 1, 0, 2]],
"IsArtistRanked" : [[true, false, false, true, true], [true, false, false, true, true], [false, false, true, true, true], [true, false, true, false, true]],
"RoundScore" : [[37, 21], [82, 15], [58, 18], [124, 12]],
"ArtistScore" : [[6, 0, 0, 1, 9], [9, 0, 0, 2, 11], [0, 0, 3, 3, 13], [12, 0, 4, 0, 15]],
"DrawOneCard" : [[[false, false, false, false, false], [true, false, false, false, false]], [[false, false, false, false, false], [false, true, false, false, false]], [[false, false, true, true, true], [false, false, false, false, false]], [[false, false, false, false, false], [false, false, false, false, false]]]
}

161
games/04.md Normal file
View File

@ -0,0 +1,161 @@
### Round (1)
Player 1 : BAAAA
Player 2 : EEDCA
Count(E=Krypto) = 2 (SECOND=2)
Count(D=KarlGitter) = 1
Count(C=ChristinP) = 1
Count(B=Yoko) = 1 (THIRD=1)
Count(A=LiteMetal) = 5 (FIRST=3)
Awards: E>LiteMetal, D>Krypto, C>Krypto, B>LiteMetal, A>LiteMetal
**Artist Scores**:
Krypto:6
KarlGitter:0
ChristinP:0
Yoko:1
LiteMetal:9
**Player Scores**
Player 1 : 37
Player 2 : 21
### Round (2)
Player 1 : EEEEBAAAA
Player 2 : EDCCCCBBB
Count(E=Krypto) = 5 (FIRST=3)
Count(D=KarlGitter) = 1
Count(C=ChristinP) = 4
Count(B=Yoko) = 4 (THIRD=1)
Count(A=LiteMetal) = 4 (SECOND=2)
**Artist Scores**:
Krypto:9
KarlGitter:0
ChristinP:0
Yoko:2
LiteMetal:11
**Player Scores**
Player 1 : 82
Player 2 : 15
### Round (3)
Player 1 : CBAAAA
Player 2 : CCCCBB
Count(C=ChristinP) = 5 (FIRST=3)
Count(B=Yoko) = 3 (THIRD=1)
Count(A=LiteMetal) = 4 (SECOND=2)
**Artist Scores**:
Krypto:0
KarlGitter:0
ChristinP:3
Yoko:3
LiteMetal:13
**Player Scores**
Player 1 : 58
Player 2 : 18
### Round (4)
Player 1 : EEEEECAAAA
Player 2 : DDDDCCCBBB
Count(E=Krypto) = 5 (FIRST=3)
Count(D=KarlGitter) = 4
Count(C=ChristinP) = 4 (THIRD=1)
Count(B=Yoko) = 3
Count(A=LiteMetal) = 4 (SECOND=2)
**Artist Scores**:
Krypto:12
KarlGitter:0
ChristinP:4
Yoko:0
LiteMetal:15
**Player Scores**
Player 1 : 124
Player 2 : 12
## Final Scores
Player 1 : 301
Player 2 : 66
### Info
A=LiteMetal (17)
B=Yoko (18)
C=ChristinP (19)
D=KarlGitter (20)
E=Krypto (21)
Since this is a 2-player game, the maximum number of visible cards for any artist is 5Scores for unranked artists are 0 for that round.
The syntax for awards is AwardTokenArtist > Awarded Artist (ie, the Award card for `AwardTokenArtist` was played, and the award was given to the `Awarded Artist`).