A higher resolution is required to access the IDE
Learning Opportunities
This puzzle can be solved using the following concepts. Practice using these concepts and improve your skills.
Statement
The Game
This is a port of the board game Impasse, invented by Mark Steere.
Full rules of the game are available here.
The referee is available here.
Rules
The game is played on a 8x8 board with two players. Each player has 12 checkers. Players take turns, starting with White. The first player to remove all of his checkers from the board wins.
Front row for the White is 1 (thus away is in the direction towards row 8), while front row for the Black is 8. Checkers can be placed upon each other making a double. Normal, unpaired checkers are called singles.
Expert Rules
- It is possible to have two singles in your furthest row (the second single via the impasse rule). Then you can choose any of them for the crown action.
- Be the first to remove all your pieces from the board.
- You fail to remove your pieces before the opponent.
- You do not respond in time or output an unrecognized command.
Acknowledgments
This contribution was developed for the Dr. Mark Winands course Intelligent Search & Games, Maastricht University, 2022.
Authored by Jakub Kowalski (@aCat).
SDK implementation partially based on the source code by @struct and @darkhorse64.
Game Input/Output
Next line: lastMove: the last move by the opponent ("
Next line: moveCount: the number of legal moves for this turn.
Next moveCount lines: move: a string of characters representing a legal move.
This may be 1, 2, or 3 coordinates depending on the context, e.g., "
- You can display a (short) comment in the viewer by adding a space after the move and writing its content, e.g. "
e3d4 message ". - You can play a random move by outputting "
random " instead of a move. This is admittedly only useful for stub code generation.
Response time per turn is ≤
A higher resolution is required to access the IDE