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