Jiří Kalvoda
2 years ago
1 changed files with 93 additions and 0 deletions
@ -0,0 +1,93 @@ |
|||
Obsazování území |
|||
================ |
|||
|
|||
API |
|||
--- |
|||
|
|||
Stav: |
|||
```json |
|||
{ |
|||
round: <int> # Kolikáté je aktuální kolo (na počátku 0) |
|||
map: [[{ |
|||
home_for_team: <Optional[int]> |
|||
occupied_by_team: <Optional[int]> |
|||
hill: <bool> |
|||
members: [{ |
|||
type: "soldier" # Pro budoucí rozšiřování |
|||
team: <int> |
|||
id: <int> # Unikátní číslo v rámci týmu |
|||
reaming_rounds: <int> # vždy > 0 |
|||
}] |
|||
}]] |
|||
``` |
|||
|
|||
Je zaručeno, že domeček mají uprostred mapy |
|||
|
|||
Na zvážení: Chceme říct, že aktuální tým == 0 (a přečíslovávat) nebo jim někde posílat číslo týmu |
|||
|
|||
|
|||
Tah: |
|||
```json |
|||
{ |
|||
members: [ |
|||
id: <int> |
|||
action: <Optional[str]> |
|||
# None -> čekej |
|||
# "left", "right", "up", "down" |
|||
] |
|||
} |
|||
``` |
|||
|
|||
Odpověď na tah: |
|||
``` |
|||
{ |
|||
status: "ok" |
|||
} # Vše v pořádku |
|||
|
|||
nebo |
|||
|
|||
{ |
|||
status: "warning" |
|||
members: [ # seznam osob s chybou/varováním |
|||
id: <int> |
|||
description: <str> |
|||
] |
|||
} # Tah jako celek se provede, chyba jen u některých osob |
|||
|
|||
nebo |
|||
|
|||
{ |
|||
status: "error" |
|||
description: <str> |
|||
} # Chyba celého tahu (např. nevalidní json, obsahuje povinné hodnoty ...) |
|||
|
|||
nebo |
|||
|
|||
{ |
|||
status: "too-late" |
|||
} |
|||
``` |
|||
|
|||
|
|||
Interní reprezentace |
|||
==================== |
|||
|
|||
Metadata |
|||
``` |
|||
{ |
|||
# statické pro celou hru |
|||
teams_height: <int> # Počet týmů v mřížce |
|||
teams_width: <int> |
|||
height_per_team: <int> # vzdálenosti startovních ploch |
|||
width_per_team: <int> |
|||
|
|||
# S možnou změnou |
|||
initial_reaming_rounds: <int> |
|||
born_per_round: <List[int]> # pro každý tah počet, pokud je kratší, uvažujeme cyklicky |
|||
} |
|||
``` |
|||
|
|||
Stav: |
|||
{ |
|||
map: [[ jako v API ]] |
|||
} |
Loading…
Reference in new issue