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 ]] }