You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
1.5 KiB
94 lines
1.5 KiB
2 years ago
|
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 ]]
|
||
|
}
|