Camp
Camp (aka Tents and trees, Tents) is a logic puzzle with simple rules and challenging solutions. The rules of Camp are simple:
- Pair each tree with a tent adjacent horizontally or vertically. This should be a 1 to 1 relation.
- Tents never touch each other even diagonally
- The clues outside the grid indicate the number of tents on that row/column.
Generating a random task
GET https://shadify.yurace.pro/api/camp/generator
Parameter | Description |
---|---|
width | Optional A number from 5 to 15 which corresponds to the width of the generated field. The default value is 7. |
height | Optional A number from 5 to 15 which corresponds to the height of the generated field. The default value is 7. |
solution | Optional The true/false value that specifies whether the solution should be sent with the task or not. The default value is true. |
Returned response:
{
"width": 7,
"height": 7,
"trees": 9,
"rowTents": [1, 2, 2, 1, 0, 2, 1],
"columnTents": [1, 1, 0, 2, 0, 2, 3],
"task": [
[0, 0, 0, 1, 0, 0, 1],
[0, 0, 0, 0, 0, 1, 0],
[0, 0, 0, 0, 0, 0, 0],
[0, 1, 0, 0, 0, 1, 0],
[0, 0, 0, 0, 0, 0, 1],
[0, 0, 0, 0, 0, 0, 1],
[1, 0, 0, 1, 0, 0, 0]
],
"solution": [
[0, 0, 0, 1, 0, 2, 1],
[0, 0, 0, 2, 0, 1, 2],
[0, 2, 0, 0, 0, 2, 0],
[0, 1, 0, 0, 0, 1, 2],
[0, 0, 0, 0, 0, 0, 1],
[2, 0, 0, 2, 0, 0, 1],
[1, 0, 0, 1, 0, 0, 2]
]
}
width
– the width of the generated field.heigth
– the height of the generated field.trees
– the total number of trees on the field (and therefore the total number of tents that need to be set up).rowTents
– an array of values that corresponds to the number of tents that should be placed in the corresponding row from 1 to theheight
value.columnTents
– an array of values that corresponds to the number of tents that should be placed in the corresponding column from 1 to thewidth
value.task
– the task that needs to be solved. Values of ones are trees around which you must place values of twos, which correspond to tents.solution
– a completely solved task, where the values of ones are trees, and the values of twos are tents.
Verifying a completed task
POST https://shadify.yurace.pro/api/camp/verifier
Example of JSON body:
{
"rowTents": [1, 2, 2, 1, 0, 2, 1],
"columnTents": [1, 1, 0, 2, 0, 2, 3],
"solution": [
[0, 0, 2, 1, 0, 2, 1],
[0, 0, 0, 0, 0, 1, 2],
[0, 2, 0, 0, 0, 2, 0],
[0, 1, 0, 0, 0, 1, 2],
[0, 0, 0, 0, 0, 0, 1],
[2, 0, 0, 2, 0, 0, 1],
[1, 0, 0, 1, 0, 0, 2]
]
}
Returned response:
{
"isValid": false,
"position": "row-1",
"message": "the number of tents in each row must match the assignment"
}