Strategická: Popis API
This commit is contained in:
parent
8fe759b9ad
commit
9578edb331
1 changed files with 93 additions and 0 deletions
93
obsazovani.md
Normal file
93
obsazovani.md
Normal file
|
@ -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 a new issue