{"task": {"agent_timeout": 1800, "task": "polyglot_go_bowling", "verifier_timeout": 1800, "instruction": "# Instructions\n\nScore a bowling game.\n\nBowling is a game where players roll a heavy ball to knock down pins arranged in a triangle.\nWrite code to keep track of the score of a game of bowling.\n\n## Scoring Bowling\n\nThe game consists of 10 frames.\nA frame is composed of one or two ball throws with 10 pins standing at frame initialization.\nThere are three cases for the tabulation of a frame.\n\n- An open frame is where a score of less than 10 is recorded for the frame.\n  In this case the score for the frame is the number of pins knocked down.\n\n- A spare is where all ten pins are knocked down by the second throw.\n  The total value of a spare is 10 plus the number of pins knocked down in their next throw.\n\n- A strike is where all ten pins are knocked down by the first throw.\n  The total value of a strike is 10 plus the number of pins knocked down in the next two throws.\n  If a strike is immediately followed by a second strike, then the value of the first strike cannot be determined until the ball is thrown one more time.\n\nHere is a three frame example:\n\n|  Frame 1   |  Frame 2   |     Frame 3      |\n| :--------: | :--------: | :--------------: |\n| X (strike) | 5/ (spare) | 9 0 (open frame) |\n\nFrame 1 is (10 + 5 + 5) = 20\n\nFrame 2 is (5 + 5 + 9) = 19\n\nFrame 3 is (9 + 0) = 9\n\nThis means the current running total is 48.\n\nThe tenth frame in the game is a special case.\nIf someone throws a spare or a strike then they get one or two fill balls respectively.\nFill balls exist to calculate the total of the 10th frame.\nScoring a strike or spare on the fill ball does not give the player more fill balls.\nThe total value of the 10th frame is the total number of pins knocked down.\n\nFor a tenth frame of X1/ (strike and a spare), the total value is 20.\n\nFor a tenth frame of XXX (three strikes), the total value is 30.\n\n## Requirements\n\nWrite code to keep track of the score of a game of bowling.\nIt should support two operations:\n\n- `roll(pins : int)` is called each time the player rolls a ball.\n  The argument is the number of pins knocked down.\n- `score() : int` is called only at the very end of the game.\n  It returns the total score for that game.\n\n----\nUse the instructions above to modify the supplied files: bowling.go\nDon't change the names of existing functions or classes, as they may be referenced from other code like unit tests.\nOnly use standard libraries; don't install additional packages.\n", "memory": "4g", "runnable": false, "difficulty": "medium", "language": "go", "cpus": 1, "instruction_truncated": false, "category": "coding-exercises", "compose": false, "has_solution": true, "oracle": null, "docker_image": "", "taskset": "aider_polyglot", "tags": ["aider_polyglot", "exercise:bowling", "go"]}, "runs": []}