diff --git a/engine-tests/hills-and-sheep/flock-deploy-on-closed-farm.jcz b/engine-tests/hills-and-sheep/flock-deploy-on-closed-farm.jcz new file mode 100644 index 00000000..6ed1ccbd --- /dev/null +++ b/engine-tests/hills-and-sheep/flock-deploy-on-closed-farm.jcz @@ -0,0 +1,176 @@ +{ + "appVersion": "5.7.3", + "gameId": "b1d978b00c7e453b8707efc13c63619f", + "name": "", + "initialRandom": 0.9444126853125474, + "created": "2021-08-22T20:02:22.502Z", + "clock": 45376, + "test": { + "description": "Shepherd deployed on closed farm", + "assertions": [ + "Bob has 2 points" + ] + }, + "setup": { + "sets": { + "basic:1": 1, + "hills-and-sheep:1": 1 + }, + "elements": { + "small-follower": 7, + "farmers": true, + "shepherd": 1, + "hill": true, + "vineyard": true + }, + "rules": {}, + "timer": null, + "start": [ + { + "tile": "BA/RCr", + "x": 0, + "y": 0, + "rotation": 0 + } + ], + "options": {} + }, + "players": [ + { + "name": "Alice", + "slot": 0 + }, + { + "name": "Bob", + "slot": 1 + } + ], + "replay": [ + { + "type": "PLACE_TILE", + "payload": { + "tileId": "BA/RRRR", + "rotation": "R0", + "position": [ + 1, + 0 + ] + }, + "player": 0, + "clock": 2015 + }, + { + "type": "PASS", + "payload": {}, + "player": 0, + "clock": 2799 + }, + { + "type": "COMMIT", + "payload": { + "random": 0.2038562799118535 + }, + "player": 0, + "clock": 2806 + }, + { + "type": "PLACE_TILE", + "payload": { + "tileId": "BA/Rr", + "rotation": "R0", + "position": [ + 2, + 0 + ] + }, + "player": 1, + "clock": 3534 + }, + { + "type": "PASS", + "payload": {}, + "player": 1, + "clock": 4254 + }, + { + "type": "COMMIT", + "payload": { + "random": 0.7374325362669172 + }, + "player": 1, + "clock": 4261 + }, + { + "type": "PLACE_TILE", + "payload": { + "tileId": "BA/Rr", + "rotation": "R90", + "position": [ + 2, + 1 + ] + }, + "player": 0, + "clock": 5375 + }, + { + "type": "PASS", + "payload": {}, + "player": 0, + "clock": 5601 + }, + { + "type": "COMMIT", + "payload": { + "random": 0.37092481091376195 + }, + "player": 0, + "clock": 5622 + }, + { + "type": "PLACE_TILE", + "payload": { + "tileId": "BA/Rr", + "rotation": "R180", + "position": [ + 1, + 1 + ] + }, + "player": 1, + "clock": 6856 + }, + { + "type": "DEPLOY_MEEPLE", + "payload": { + "pointer": { + "position": [ + 1, + 1 + ], + "location": "NR.EL", + "feature": "Field" + }, + "meepleId": "1.shepherd.1" + }, + "player": 1, + "clock": 8553 + }, + { + "type": "COMMIT", + "payload": { + "random": 0.6789012327508657 + }, + "player": 1, + "clock": 8569 + } + ], + "gameAnnotations": { + "drawOrder": [ + "BA/RRRR", + "BA/Rr", + "BA/Rr", + "BA/Rr" + ] + } +} diff --git a/engine-tests/hills-and-sheep/flock-expand-on-closed.jcz b/engine-tests/hills-and-sheep/flock-expand-on-closed.jcz new file mode 100644 index 00000000..bf182ac3 --- /dev/null +++ b/engine-tests/hills-and-sheep/flock-expand-on-closed.jcz @@ -0,0 +1,185 @@ +{ + "appVersion": "5.7.3", + "gameId": "079bbe45300740ce82442384b65c4658", + "name": "", + "initialRandom": 0.7970761732960339, + "created": "2021-08-22T20:37:41.114Z", + "clock": 145034, + "test": { + "description": "Expand just before field is closed", + "assertions": [ + "Bob has 5 points" + ] + }, + "setup": { + "sets": { + "basic:1": 1, + "hills-and-sheep:1": 1 + }, + "elements": { + "small-follower": 7, + "farmers": true, + "shepherd": 1, + "hill": true, + "vineyard": true + }, + "rules": {}, + "timer": null, + "start": [ + { + "tile": "BA/RCr", + "x": 0, + "y": 0, + "rotation": 0 + } + ], + "options": {} + }, + "players": [ + { + "name": "Alice", + "slot": 0 + }, + { + "name": "Bob", + "slot": 1 + } + ], + "replay": [ + { + "type": "PLACE_TILE", + "payload": { + "tileId": "BA/RRRR", + "rotation": "R0", + "position": [ + 1, + 0 + ] + }, + "player": 0, + "clock": 1552 + }, + { + "type": "PASS", + "payload": {}, + "player": 0, + "clock": 2511 + }, + { + "type": "COMMIT", + "payload": { + "random": 0.2871258536493768 + }, + "player": 0, + "clock": 2518 + }, + { + "type": "PLACE_TILE", + "payload": { + "tileId": "BA/Rr", + "rotation": "R0", + "position": [ + 2, + 0 + ] + }, + "player": 1, + "clock": 3735 + }, + { + "type": "DEPLOY_MEEPLE", + "payload": { + "pointer": { + "position": [ + 2, + 0 + ], + "location": "SR.WL", + "feature": "Field" + }, + "meepleId": "1.shepherd.1" + }, + "player": 1, + "clock": 5184 + }, + { + "type": "COMMIT", + "payload": { + "random": 0.9363003271811956 + }, + "player": 1, + "clock": 5196 + }, + { + "type": "PLACE_TILE", + "payload": { + "tileId": "BA/Rr", + "rotation": "R90", + "position": [ + 2, + 1 + ] + }, + "player": 0, + "clock": 6783 + }, + { + "type": "PASS", + "payload": {}, + "player": 0, + "clock": 7884 + }, + { + "type": "COMMIT", + "payload": { + "random": 0.7475661157229303 + }, + "player": 0, + "clock": 7891 + }, + { + "type": "PLACE_TILE", + "payload": { + "tileId": "BA/Rr", + "rotation": "R180", + "position": [ + 1, + 1 + ] + }, + "player": 1, + "clock": 8823 + }, + { + "type": "PASS", + "payload": {}, + "player": 1, + "clock": 9826 + }, + { + "type": "FLOCK_EXPAND_OR_SCORE", + "payload": { + "value": "EXPAND", + "random": 0.6360293561663699 + }, + "player": 1, + "clock": 13174 + }, + { + "type": "COMMIT", + "payload": { + "random": 0.014721646189038706 + }, + "player": 1, + "clock": 13185 + } + ], + "gameAnnotations": { + "drawOrder": [ + "BA/RRRR", + "BA/Rr", + "BA/Rr", + "BA/Rr" + ] + } +} diff --git a/engine-tests/hills-and-sheep/flock-inner-farm.jcz b/engine-tests/hills-and-sheep/flock-inner-farm.jcz new file mode 100644 index 00000000..4aa73375 --- /dev/null +++ b/engine-tests/hills-and-sheep/flock-inner-farm.jcz @@ -0,0 +1,96 @@ +{ + "appVersion": "5.7.3", + "gameId": "90cf979ae5354e95bd81b4210db4cca8", + "name": "", + "initialRandom": 0.5669692151459806, + "created": "2021-08-22T19:59:10.006Z", + "clock": 39009, + "test": { + "description": "Shepherd deployed on inner farm", + "assertions": [ + "Alice has 3 points" + ] + }, + "setup": { + "sets": { + "basic:1": 1, + "hills-and-sheep:1": 1, + "inns-and-cathedrals:1": 1 + }, + "elements": { + "small-follower": 7, + "farmers": true, + "shepherd": 1, + "hill": true, + "vineyard": true, + "big-follower": 1, + "cathedral": true, + "inn": true + }, + "rules": {}, + "timer": null, + "start": [ + { + "tile": "BA/RCr", + "x": 0, + "y": 0, + "rotation": 0 + } + ], + "options": {} + }, + "players": [ + { + "name": "Alice", + "slot": 0 + }, + { + "name": "Bob", + "slot": 1 + } + ], + "replay": [ + { + "type": "PLACE_TILE", + "payload": { + "tileId": "IC/CCCC", + "rotation": "R0", + "position": [ + 0, + -1 + ] + }, + "player": 0, + "clock": 1699 + }, + { + "type": "DEPLOY_MEEPLE", + "payload": { + "pointer": { + "position": [ + 0, + -1 + ], + "location": "I", + "feature": "Field" + }, + "meepleId": "0.shepherd.1" + }, + "player": 0, + "clock": 3435 + }, + { + "type": "COMMIT", + "payload": { + "random": 0.6808754389086455 + }, + "player": 0, + "clock": 3452 + } + ], + "gameAnnotations": { + "drawOrder": [ + "IC/CCCC" + ] + } +} diff --git a/engine-tests/hills-and-sheep/flock-multiple-shepherds.jcz b/engine-tests/hills-and-sheep/flock-multiple-shepherds.jcz new file mode 100644 index 00000000..11c2ed3f --- /dev/null +++ b/engine-tests/hills-and-sheep/flock-multiple-shepherds.jcz @@ -0,0 +1,357 @@ +{ + "appVersion": "5.7.3", + "gameId": "529b6d037fbc48e4933e76c05f5d7e21", + "name": "", + "initialRandom": 0.5810601404932261, + "created": "2021-08-22T20:54:52.548Z", + "clock": 175411, + "test": { + "description": "Multiple shepherds, grown once, scored once", + "assertions": [ + "Alice has 15 points" + ] + }, + "setup": { + "options": {}, + "sets": { + "basic:1": 1 + }, + "elements": { + "small-follower": 7, + "farmers": true, + "shepherd": 2 + }, + "rules": {}, + "timer": null, + "start": [ + { + "tile": "BA/RCr", + "x": 0, + "y": 0, + "rotation": 0 + } + ] + }, + "players": [ + { + "name": "Alice", + "slot": 0 + }, + { + "name": "Bob", + "slot": 1 + } + ], + "replay": [ + { + "type": "PLACE_TILE", + "payload": { + "tileId": "BA/RFr", + "rotation": "R0", + "position": [ + 1, + 0 + ] + }, + "player": 0, + "clock": 1231 + }, + { + "type": "DEPLOY_MEEPLE", + "payload": { + "pointer": { + "position": [ + 1, + 0 + ], + "location": "ER.SL.SR.WL", + "feature": "Field" + }, + "meepleId": "0.shepherd.1" + }, + "player": 0, + "clock": 4951 + }, + { + "type": "COMMIT", + "payload": { + "random": 0.5373521429789723 + }, + "player": 0, + "clock": 4963 + }, + { + "type": "PLACE_TILE", + "payload": { + "tileId": "BA/RFr", + "rotation": "R0", + "position": [ + -1, + 0 + ] + }, + "player": 1, + "clock": 7158 + }, + { + "type": "PASS", + "payload": {}, + "player": 1, + "clock": 7993 + }, + { + "type": "COMMIT", + "payload": { + "random": 0.7316116867684335 + }, + "player": 1, + "clock": 7999 + }, + { + "type": "PLACE_TILE", + "payload": { + "tileId": "BA/C", + "rotation": "R0", + "position": [ + -1, + -1 + ] + }, + "player": 0, + "clock": 10398 + }, + { + "type": "DEPLOY_MEEPLE", + "payload": { + "pointer": { + "position": [ + -1, + -1 + ], + "location": "EL.ER.SL.SR.WL.WR", + "feature": "Field" + }, + "meepleId": "0.shepherd.2" + }, + "player": 0, + "clock": 11582 + }, + { + "type": "COMMIT", + "payload": { + "random": 0.8149788241851554 + }, + "player": 0, + "clock": 11590 + }, + { + "type": "PLACE_TILE", + "payload": { + "tileId": "BA/C", + "rotation": "R180", + "position": [ + 0, + -1 + ] + }, + "player": 1, + "clock": 17414 + }, + { + "type": "PASS", + "payload": {}, + "player": 1, + "clock": 18182 + }, + { + "type": "COMMIT", + "payload": { + "random": 0.3625642318395643 + }, + "player": 1, + "clock": 18191 + }, + { + "type": "PLACE_TILE", + "payload": { + "tileId": "BA/RFr", + "rotation": "R0", + "position": [ + 2, + 0 + ] + }, + "player": 0, + "clock": 20190 + }, + { + "type": "PASS", + "payload": {}, + "player": 0, + "clock": 21518 + }, + { + "type": "FLOCK_EXPAND_OR_SCORE", + "payload": { + "value": "EXPAND", + "random": 0.00358313429918522 + }, + "player": 0, + "clock": 76520 + }, + { + "type": "FLOCK_EXPAND_OR_SCORE", + "payload": { + "value": "EXPAND", + "random": 0.7711628230972922 + }, + "player": 0, + "clock": 78159 + }, + { + "type": "COMMIT", + "payload": { + "random": 0.7600289616113878 + }, + "player": 0, + "clock": 78172 + }, + { + "type": "PLACE_TILE", + "payload": { + "tileId": "BA/LR", + "rotation": "R90", + "position": [ + 3, + 0 + ] + }, + "player": 1, + "clock": 109109 + }, + { + "type": "PASS", + "payload": {}, + "player": 1, + "clock": 110699 + }, + { + "type": "COMMIT", + "payload": { + "random": 0.5513726534218524 + }, + "player": 1, + "clock": 110704 + }, + { + "type": "PLACE_TILE", + "payload": { + "tileId": "BA/L", + "rotation": "R0", + "position": [ + 1, + -1 + ] + }, + "player": 0, + "clock": 124771 + }, + { + "type": "PASS", + "payload": {}, + "player": 0, + "clock": 125613 + }, + { + "type": "FLOCK_EXPAND_OR_SCORE", + "payload": { + "value": "EXPAND", + "random": 0.8217567823185794 + }, + "player": 0, + "clock": 126518 + }, + { + "type": "COMMIT", + "payload": { + "random": 0.9270480344405714 + }, + "player": 0, + "clock": 126544 + }, + { + "type": "PLACE_TILE", + "payload": { + "tileId": "BA/Rr", + "rotation": "R180", + "position": [ + 2, + -1 + ] + }, + "player": 1, + "clock": 133851 + }, + { + "type": "PASS", + "payload": {}, + "player": 1, + "clock": 135818 + }, + { + "type": "COMMIT", + "payload": { + "random": 0.21809542591046038 + }, + "player": 1, + "clock": 135824 + }, + { + "type": "PLACE_TILE", + "payload": { + "tileId": "BA/CRRR", + "rotation": "R0", + "position": [ + 2, + -2 + ] + }, + "player": 0, + "clock": 137371 + }, + { + "type": "PASS", + "payload": {}, + "player": 0, + "clock": 138173 + }, + { + "type": "FLOCK_EXPAND_OR_SCORE", + "payload": { + "value": "SCORE", + "random": 0.0547869002929382 + }, + "player": 0, + "clock": 139786 + }, + { + "type": "COMMIT", + "payload": { + "random": 0.8662810195657087 + }, + "player": 0, + "clock": 139797 + } + ], + "gameAnnotations": { + "drawOrder": [ + "BA/RFr", + "BA/RFr", + "BA/C", + "BA/C", + "BA/RFr", + "BA/LR", + "BA/L" + ] + } +} diff --git a/engine-tests/hills-and-sheep/flock-opponent-close-flock.jcz b/engine-tests/hills-and-sheep/flock-opponent-close-flock.jcz new file mode 100644 index 00000000..686baedf --- /dev/null +++ b/engine-tests/hills-and-sheep/flock-opponent-close-flock.jcz @@ -0,0 +1,186 @@ +{ + "appVersion": "5.7.3", + "gameId": "a4ed80704c6b465988105aed4ab686b6", + "name": "", + "initialRandom": 0.19052858108530812, + "created": "2021-08-22T20:33:10.167Z", + "clock": 62798, + "test": { + "description": "Opponents flock is closed", + "assertions": [ + "Alice has 1 point" + ] + }, + "setup": { + "sets": { + "basic:1": 1, + "hills-and-sheep:1": 1 + }, + "elements": { + "small-follower": 7, + "farmers": true, + "shepherd": 1, + "hill": true, + "vineyard": true + }, + "rules": {}, + "timer": null, + "start": [ + { + "tile": "BA/RCr", + "x": 0, + "y": 0, + "rotation": 0 + } + ], + "options": {} + }, + "players": [ + { + "name": "Alice", + "slot": 0 + }, + { + "name": "Bob", + "slot": 1 + } + ], + "replay": [ + { + "type": "PLACE_TILE", + "payload": { + "tileId": "BA/RRRR", + "rotation": "R0", + "position": [ + 1, + 0 + ] + }, + "player": 0, + "clock": 1703 + }, + { + "type": "PASS", + "payload": {}, + "player": 0, + "clock": 2799 + }, + { + "type": "COMMIT", + "payload": { + "random": 0.8236636758396612 + }, + "player": 0, + "clock": 2806 + }, + { + "type": "PLACE_TILE", + "payload": { + "tileId": "BA/Rr", + "rotation": "R0", + "position": [ + 2, + 0 + ] + }, + "player": 1, + "clock": 6373 + }, + { + "type": "PASS", + "payload": {}, + "player": 1, + "clock": 12912 + }, + { + "type": "COMMIT", + "payload": { + "random": 0.004985319150610845 + }, + "player": 1, + "clock": 12919 + }, + { + "type": "PLACE_TILE", + "payload": { + "tileId": "BA/Rr", + "rotation": "R90", + "position": [ + 2, + 1 + ] + }, + "player": 0, + "clock": 14021 + }, + { + "type": "DEPLOY_MEEPLE", + "payload": { + "pointer": { + "position": [ + 2, + 1 + ], + "location": "NL.WR", + "feature": "Field" + }, + "meepleId": "0.shepherd.1" + }, + "player": 0, + "clock": 16623 + }, + { + "type": "COMMIT", + "payload": { + "random": 0.8847251170665873 + }, + "player": 0, + "clock": 16636 + }, + { + "type": "PLACE_TILE", + "payload": { + "tileId": "BA/Rr", + "rotation": "R180", + "position": [ + 1, + 1 + ] + }, + "player": 1, + "clock": 21438 + }, + { + "type": "DEPLOY_MEEPLE", + "payload": { + "pointer": { + "position": [ + 1, + 1 + ], + "location": "NL.ER.SL.SR.WL.WR", + "feature": "Field" + }, + "meepleId": "1.shepherd.1" + }, + "player": 1, + "clock": 25022 + }, + { + "type": "COMMIT", + "payload": { + "random": 0.7428788380181055 + }, + "player": 1, + "clock": 25039 + } + ], + "gameAnnotations": { + "drawOrder": [ + "BA/RRRR", + "BA/Rr", + "BA/Rr", + "BA/Rr" + ] + } +} diff --git a/engine-tests/hills-and-sheep/flock-scores-all-players.jcz b/engine-tests/hills-and-sheep/flock-scores-all-players.jcz new file mode 100644 index 00000000..1aa064b4 --- /dev/null +++ b/engine-tests/hills-and-sheep/flock-scores-all-players.jcz @@ -0,0 +1,168 @@ +{ + "appVersion": "5.7.3", + "gameId": "48b44dc08cbd465e8346ec9d1edbc154", + "name": "", + "initialRandom": 0.18055938044892073, + "created": "2021-08-22T20:04:41.541Z", + "clock": 50956, + "test": { + "description": "Guide the flock to the stable scores all shepherd on the field", + "assertions": [ + "Alice has 4 points", + "Bob has 4 points" + ] + }, + "setup": { + "sets": { + "basic:1": 1, + "hills-and-sheep:1": 1 + }, + "elements": { + "small-follower": 7, + "farmers": true, + "shepherd": 1, + "hill": true, + "vineyard": true + }, + "rules": {}, + "timer": null, + "start": [ + { + "tile": "BA/RCr", + "x": 0, + "y": 0, + "rotation": 0 + } + ], + "options": {} + }, + "players": [ + { + "name": "Alice", + "slot": 0 + }, + { + "name": "Bob", + "slot": 1 + } + ], + "replay": [ + { + "type": "PLACE_TILE", + "payload": { + "tileId": "BA/C", + "rotation": "R90", + "position": [ + 0, + 1 + ] + }, + "player": 0, + "clock": 2828 + }, + { + "type": "DEPLOY_MEEPLE", + "payload": { + "pointer": { + "position": [ + 0, + 1 + ], + "location": "NL.NR.SL.SR.WL.WR", + "feature": "Field" + }, + "meepleId": "0.shepherd.1" + }, + "player": 0, + "clock": 3664 + }, + { + "type": "COMMIT", + "payload": { + "random": 0.7083015696377595 + }, + "player": 0, + "clock": 3679 + }, + { + "type": "PLACE_TILE", + "payload": { + "tileId": "BA/RFr", + "rotation": "R0", + "position": [ + -1, + 0 + ] + }, + "player": 1, + "clock": 6270 + }, + { + "type": "DEPLOY_MEEPLE", + "payload": { + "pointer": { + "position": [ + -1, + 0 + ], + "location": "NL.NR.EL.WR", + "feature": "Field" + }, + "meepleId": "1.shepherd.1" + }, + "player": 1, + "clock": 7334 + }, + { + "type": "COMMIT", + "payload": { + "random": 0.5940742508963572 + }, + "player": 1, + "clock": 7351 + }, + { + "type": "PLACE_TILE", + "payload": { + "tileId": "BA/LR", + "rotation": "R90", + "position": [ + 1, + 0 + ] + }, + "player": 0, + "clock": 9773 + }, + { + "type": "PASS", + "payload": {}, + "player": 0, + "clock": 11184 + }, + { + "type": "FLOCK_EXPAND_OR_SCORE", + "payload": { + "value": "SCORE", + "random": 0.9602309281902375 + }, + "player": 0, + "clock": 14491 + }, + { + "type": "COMMIT", + "payload": { + "random": 0.3175794168057924 + }, + "player": 0, + "clock": 14504 + } + ], + "gameAnnotations": { + "drawOrder": [ + "BA/C", + "BA/RFr", + "BA/LR" + ] + } +}