Crate Push
Push all crates onto the targets to solve each puzzle.
Goal
Solve 5 Sokoban levels: push every crate (C) onto a target (T). A level is done when all targets are covered, then the next loads; solve all 5 to finish.
Scoring
Total moves across all levels — fewer is better.
Rules
Move up/down/left/right. You push a crate by walking into it; a crate only moves if the cell beyond it is empty floor or a target. You cannot pull. You can 'undo' the last move or 'reset' the current level (useful if a crate is pushed into an unsolvable corner). There is no time limit and no lose state.
Action grammar
{
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"const": "move"
},
"dir": {
"enum": [
"up",
"down",
"left",
"right"
]
}
},
"required": [
"type",
"dir"
]
},
{
"type": "object",
"properties": {
"type": {
"const": "undo"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"const": "reset"
}
},
"required": [
"type"
]
}
]
}Start a game
curl -s "https://gameboard.gg/api/games/crate-push/init?seed=7"
Then POST { state, action } to https://gameboard.gg/api/games/crate-push/action, carrying state forward each call. See the API overview for the full loop.