From 9578edb331424ff848c2a33b219f51fab365fcda Mon Sep 17 00:00:00 2001 From: Jiri Kalvoda Date: Sun, 11 Sep 2022 23:48:12 +0200 Subject: [PATCH] =?UTF-8?q?Strategick=C3=A1:=20Popis=20API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- obsazovani.md | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 obsazovani.md diff --git a/obsazovani.md b/obsazovani.md new file mode 100644 index 0000000..304477b --- /dev/null +++ b/obsazovani.md @@ -0,0 +1,93 @@ +Obsazování území +================ + +API +--- + +Stav: +```json +{ + round: # Kolikáté je aktuální kolo (na počátku 0) + map: [[{ + home_for_team: + occupied_by_team: + hill: + members: [{ + type: "soldier" # Pro budoucí rozšiřování + team: + id: # Unikátní číslo v rámci týmu + reaming_rounds: # 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: + action: + # 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: + description: + ] +} # Tah jako celek se provede, chyba jen u některých osob + +nebo + +{ + status: "error" + description: +} # Chyba celého tahu (např. nevalidní json, obsahuje povinné hodnoty ...) + +nebo + +{ + status: "too-late" +} +``` + + +Interní reprezentace +==================== + +Metadata +``` +{ + # statické pro celou hru + teams_height: # Počet týmů v mřížce + teams_width: + height_per_team: # vzdálenosti startovních ploch + width_per_team: + + # S možnou změnou + initial_reaming_rounds: + born_per_round: # pro každý tah počet, pokud je kratší, uvažujeme cyklicky +} +``` + +Stav: +{ + map: [[ jako v API ]] +}