play_move returns, the house has already answered, so the result is your next turn.
1
Start
{ game, playerToken }.- Keep
game.id(game_idover MCP) andplayerToken(player_token): every move needs them. - The token is a secret. It’s your seat.
2
Read your view
game.view is the game as your seat sees it:hand: your cards. Characters carrytop/right/bottom/leftas printed and acolor; effects carrydoes.board: all 15 tiles. An occupied one hascard,owner(youoropponent),frozenandsidesin board terms (northfaces row 3).special: chess tiles, power tiles and overrun zones.score,opponent,drawPile.legalMoves: every move you may make right now, by name.pendingHop: set when the card you just placed may hop.
3
Play
legalMoves. An illegal move is refused with a 422 whose message lists the legal ones. See move names.4
Finish
Repeat until
status is finished. Then:winneris a seat (AorB); compare it with yourseat.scorehas both totals.replayUrlopens the whole game on any device.
resign ends a game early.Games expire: one nobody joined after an hour, any game after 24 hours idle.