CGML – kompletní popis

Lumír Bezstarosti

lumirb@email.cz

CGML – kompletní popis Lumír Bezstarosti

Přehled revizí

Revize 1.0 28. 8. 2000

První vydání

Revize 1.1 3. 9. 2000

Grafické schéma přihlášení hráčů a zahájení nové hry. Česká navigace. Předepsání jmen HTML souborů.

Revize 1.2 11. 9. 2000

Přepracování tagu PLAYER. Odsazování tagů. Změna implicitních portů. Oprava schématu přihlašování. Změna tagu COPLAYER na OPPONENT. Nový tag NEWGROUP. Nová kapitola Řídících zpráv. Nové řídící zprávy ABORT, LOAD a DISCONNECT.

Revize 1.3 18. 9. 2000

Převod grafického schématu přihlášení hráčů z ASCII tvaru na obrázek GIF.

Revize 1.4 19. 9. 2000

Přidání alternativního obrázku přihlášení hráčů ve formátu PS.

Revize 1.5 14. 1. 2001

Psaní CGML tagů malými písmeny. Změna implicitních portů, na kterých poslouchají Přihlašovací a Superhrací server. Přidání definice karet. Přidání seznamu podporovaných her. Přidání průběhu hry mariáš od začátku až po flekování.

Revize 1.6 21. 1. 2001

Přidání pauzy ve hře. Přidání průběhu hry mariáš od zahájení vlastní hry až do konce.

Revize 1.7 7. 2. 2001

Ukončení CGML příkazu prázdným řádkem. Specifikace IP adresy a portu Superhracího serveru v odpovědi při sestavení nové hry. Specifikace verze CGML.

Revize 1.8 4. 3. 2001

Změna tagu ID na atribut. Zrušení tagu NEWGAME a jeho sjednocení na tag NEWGROUP. Přihlášení Superhracího serveru k Přihlašovacímu serveru.

Revize 1.9 5. 3. 2001

Změna formátu obrázku z ps na eps. Změna termínu "nová hra" na "nová skupina". Doplnění dotazu na další hru.

Revize 1.10 18. 3. 2001

Přesunutí dotazu na zahájení nové hry před rozdávání. Změna tagu identifikujícícho cílovou pozici při rozdávání karet na atribut. Doplnění zprávy informující o rozdávání karet. Zrušení všech krátkých potvrzovacích zpráv. Přidání her "stovka + dvě sedmy" a "stovka + lepší dvě sedmy" do seznamu mariášových her. Zjednodušení pauzy ve hře.

Revize 1.11 20. 3. 2001

Doplnění atributu "playerid" u všech zpráv typu "info". Změna struktury zprávy shrnující průběh a výsledky odehrané hry. Přepracování zpráv pro licitaci. Oprava pořadí her v tabulce pro licitaci.

Revize 1.12 21. 3. 2001

Změna označování hromádek karet na stole. Zrušení tagu <game> uvnitř tagu <newgame>. Změna označování her.

Revize 1.13 25. 3. 2001

Vyhození barvy trumfu z licitace a zrušení tagu <gametype> uvnitř. Změna označování hromádek karet na stole. Zrušení atributu "visibility" při rozdávání a hraní. Vznik nových zpráv pro zjištění a oznámení barvy trumfů. Zrušení atributu "level" v tagu <flek>. Nahrazení zprávy "Flekování – výsledek" zprávou, která sumarizuje hru, jenž se bude hrát. Zrušení atributu "type" v tagu <round>. Úprava tagu <result>.

Revize 1.14 26. 3. 2001

Přidání atributu "from" do zprávy "Talon – převzetí". Nahrazení tagu <trumf> komplexnějším tagem <gametype>. Oprava zapomenutého tagu <level> ve zprávě "Začátek hry – shrnutí", změna úvodního tagu na <gametype> a doplnění atributu "info".

Revize 1.15 10. 5. 2001

Označování konce řádku. Změna názvu hry z "mariash" na "licitovany_marias". Vyjasnění významu tagu <newgame>. Přidání atributu ID do tagu <player> při navazování spojení s Přihlašovacím serverem. Upřesnění použití atributu "version" v tagu <cgml>. Nový port 7003 na Přihlašovacím serveru.

Revize 1.16 20. 5. 2001

Přepracování tagu <newgroup>. Přepracování tagu <newgame>. Doplnění atributů u tagu <dial>.

Revize 1.17 13. 6. 2001

Aktualizace přihlašovací zprávy Superhracího serveru. Zavedení možnosti dvojího fleku. Zavedení nového tagu <cancelgame>. Aktualizace tagu <disconnect>.

Revize 1.18 25. 11. 2001

Zavedení nového tagu <renonc>. Doplnění tagu <playcard> o možnost vyložení všech karet z ruky při ložené hře. Základní pravidla hraní.

Obsah

1. Základní struktura datové zprávy .......................................................................................................9 2. Přihlášení hráčů a zahájení nové hry.................................................................................................11

Přihlášení Superhracího serveru.......................................................................................................12 Potvrzení přihlášení Superhracího serveru.......................................................................................12 Přihlášení hráče nebo bota ...............................................................................................................12 Žádost o vytvoření nové skupiny .....................................................................................................14 Potvrzení vytvoření nové skupiny....................................................................................................14 Ohlášení nové hry ............................................................................................................................15 Potvrzení nebo odmítnutí nově vytvořené hrací skupiny.................................................................15 Dotaz na zahájení nové hry..............................................................................................................16 Potvrzení nebo odmítnutí zahájení nové hry....................................................................................17 Rozdávání karet – karty ...................................................................................................................17 Rozdávání karet – informace ...........................................................................................................18

3. Průběh jednotlivých her......................................................................................................................19

Mariáš...............................................................................................................................................19 Základní pravidla hraní...........................................................................................................19 Licitace – seznam možných her .............................................................................................19 Licitace – žádost o hru............................................................................................................20 Licitace – nabídka hry ............................................................................................................20 Licitace – informace...............................................................................................................21 Licitace – výsledek.................................................................................................................21 Talon – převzetí ......................................................................................................................21 Talon – odhození ....................................................................................................................22 Talon – informace...................................................................................................................22 Trumfy – dotaz .......................................................................................................................23 Trumfy – odpověď .................................................................................................................23 Trumfy – informace................................................................................................................24 Flekování – nabídka................................................................................................................25 Flekování – potvrzení nebo zvýšení nabídky .........................................................................25 Flekování – informace............................................................................................................25 Začátek hry – shrnutí..............................................................................................................26 Hra – žádost o kartu................................................................................................................27 Hra – zahrání karty .................................................................................................................27 Hra – informace o zahrané kartě ............................................................................................27 Štych.......................................................................................................................................28 Zhodnocení a závěr hry ..........................................................................................................28

4. Řídící zprávy ........................................................................................................................................31 ABORT ............................................................................................................................................31 LOAD...............................................................................................................................................31 DISCONNECT ................................................................................................................................32 PAUSE..............................................................................................................................................32

PAUSE – zahájení...................................................................................................................32 PAUSE – ukončení .................................................................................................................33

CANCELGAME..............................................................................................................................33 RENONC .........................................................................................................................................33

5. Označování karet .................................................................................................................................35 Barvy karet.......................................................................................................................................35 Výšky karet ......................................................................................................................................35 Příklady ............................................................................................................................................35

Seznam tabulek

3-1. Licitace – seznam možných her .........................................................................................................19 5-1. Barvy karet .........................................................................................................................................35 5-2. Barvy karet .........................................................................................................................................35 5-3. Příklady značení karet ........................................................................................................................36

Seznam obrázků

2-1. Přihlášení hráčů a zahájení nové hry..................................................................................................11 8

Kapitola 1. Základní struktura datové zprávy

<cgml version="1.0">
   ...
</cgml>

Datové zprávy jsou textové. Začínají identifikátorem <cgml version="1.0">, následuje tělo zprávy a jsou ukončeny identifikátorem </cgml>. Za zprávou povinně následuje 1 prázdný řádek. Řádky se oddělují dvojznakem CR+LF. Identifikátory musí být uvedeny malými písmeny. Atribut version specifikuje použitou verzi CGML. Pokud není uveden, předpokládá se implicitně verze 1.0.

Přihlašovací server přijímá zprávy implicitně na portu 7001 a Superhrací na portu 7002. Superhrací server se na začátku připojuje k Přihlašovacímu serveru na port 7003.

Kapitola 2. Přihlášení hráčů a zahájení nové hry

Kapitola 1. Základní struktura datové zprávy 10 Následuje popis přihlášení jednotlivých hráčů nebo botů ke hře a zahájení nové hry. Vše probíhá podle následujícího schématu:

Obrázek 2-1. Přihlášení hráčů a zahájení nové hry

Číselná označení u jednotlivých spojů odpovídají číslování následujích kapitol, ve kterých jsou tyto spoje blíže popsány.

Nejprve se k Přihlašovacímu serveru přihlásí Superhrací server (2.1). Přihlašovací server mu toto přihlášení potvrdí (2.2). Potom se k Přihlašovacímu serveru přihlásí jednotliví hráči a/nebo Bot servery (2.3). Přihlašovací server je podle jejich požadavků přiřadí k sobě a požádá Superhrací server o vytvoření nové hry (2.4). Superhrací server vytvoří novou hru a oznámí její parametry Přihlašovacímu serveru (2.5). Přihlašovací server oznámí zúčastněným hráčům a Bot serverům, že byli zapojeni do nové hry, ohlásí její parametry a vyzve k potvrzení účasti ve hře (2.6). Bot server spustí příslušného bota a ten spolu s hráči buď potvrdí nebo odmítne Superhracímu serveru svoji účast v nové hře (2.7). Na závěr

Superhrací server zahájí (všichni potvrdili svoji účast) nebo zruší (někdo odmítl účast) novou hru (2.8).

Přihlášení Superhracího serveru

Superhrací server –> Přihlašovací server

<cgml version="1.0">
  <connect status="server">
     <game>licitovany_marias</game>
     <numplayers>3</numplayers>
     <url>127.0.0.1:7003</url>
  </connect>
</cgml>

connect

Identifikace přihlašovací zprávy. Atribut status s hodnotou server značí přihlašování Superhracího serveru.

game

Druh hry, kterou Superhrací server hraje.

numplayers

Počet hráčů, který je potřeba do hry.

url

IP adresa a port Superhracího serveru, kam Přihlašovací server posílá žádosti o vytvoření nové hrací skupiny.

Potvrzení přihlášení Superhracího serveru

Přihlašovací server –> Superhrací server

Přihlašovací server přihlášení Superhracího serveru nijak nepotvrzuje.

Přihlášení hráče nebo bota

Hráč nebo Bot server –> Přihlašovací server

<cgml version="1.0">
<connect status="passive|active">
<player id="6533">
   <name>Wampaire</name>
   <race>human|bot</race>
</player>
<game>licitovany_marias</game>
<opponent>
   <player>...</player>
   <player>...</player>
</opponent>
</connect>
</cgml>

connect

Identifikace přihlašovací zprávy. Atribut status upřesňuje způsob přihlášení: passive je určeno především pro bota a znamená, že daný hráč je k dispozici ostatním. active je určeno zvláště pro lidského hráče a znamená, že daný hráč má zájem okamžitě hrát.

player

Identifikační údaje hráče nebo bota. Atribut id jednoznačně identifikuje hráče.

name

Jméno hráče nebo bota.

race

Rozlišení "živých" hráčů (human) od botů (bot).

game

Druh hry, o kterou má přihlašovaný hráč zájem. Všechny možné druhy her shrnuje následující tabulka.

Tabulka 2-1. Druhy her

Hra  Značení game

licitovaný mariáš licitovany_marias opponent

Nepovinná položka, jenž oznamuje Přihlašovacímu serveru s kterými protihráči má hráč zájem hrát.

Žádost o vytvoření nové skupiny

Přihlašovací server –> Superhrací server

<cgml version="1.0">
<newgroup status="init">
<game>licitovany_marias</game>
</newgroup>
</cgml>

newgroup

Identifikace zprávy, pomocí které se žádá Superhrací server o vytvoření nové skupiny. Atribut status s hodnotou init signalizuje Superhracímu serveru, že má vytvořit novou skupinu.

game

Specifikace hry, pro kterou má Superhrací server vytvořit novou skupinu.

Potvrzení vytvoření nové skupiny

Superhrací server –> Přihlašovací server

<cgml version="1.0">
<newgroup status="ack">
<game>licitovany_marias</game>
</newgroup>
</cgml>

newgroup

Identifikace zprávy, pomocí které Superhrací server potvrzuje Přihlašovacímu serveru vytvoření nové skupiny. Atribut status s hodnotou ack signalizuje Přihlašovacímu serveru, že se podařilo vytvořit novou skupinu. game

Specifikace hry, kterou Superhrací server vytvořil.

Ohlášení nové hry

Přihlašovací server –> hráč a Bot server

<cgml version="1.0">
<connect status="complete" id="4">
<game>licitovany_marias</game>
<player id="8678">...</player>
<player id="1216">...</player>
<url>192.168.0.1:7002</url>
</connect>
</cgml>

connect

Identifikace zprávy, pomocí které Přihlašovací server oznamuje hráčům a botům vytvoření nové hrací skupiny. Atribut status s hodnotou complete signalizuje jednotlivým hráčům a botům, že byla vytvořena nová hrací skupina a je potřeba ji potvrdit nebo odmítnout. Atribut id s hodnotou 4 tuto skupinu jednoznačně identifikuje.

game

Specifikace hry, která byla vytvořena.

player

Seznam oponentů, kteří jsou přítomni v nově vytvořené hrací skupině. Atribut id slouží k jednoznačné identifikaci hráče.

url

IP adresa a číslo portu Superhracího serveru, kde se bude nově vytvořená hra hrát a kam se má klient připojit.

Na základě přijetí této zprávy spustí Bot server nového bota, který se bude účastnit hry v nově vytvořené hrací skupině.

Potvrzení nebo odmítnutí nově vytvořené hrací skupiny

Hráč nebo bot –> Superhrací server

<cgml version="1.0">
<newgroup status="accept|reject" id="4">
<game>licitovany_marias</game>
<player id="6533">...</player>
</newgroup>
</cgml>

newgroup

Identifikace zprávy, pomocí které hráč nebo bot potvrzuje nebo odmítá Superhracímu serveru svoji herní účast v nově vytvořené hrací skupině. Atribut status s hodnotou accept znamená potvrzení účasti. Hodnota reject atributu status naopak znamená odmítnutí účasti v hrací skupině. Atribut id s hodnotou 4 jednoznačně identifikuje vytvořenou skupinu.

game

Identifikace hry, ve které hráč nebo bot potvrzuje nebo odmítá svoji účast.

player

Identifikační údaje hráče nebo bota, který potvrzuje nebo odmítá svoji účast v hrací skupině. Rozhodující je opět atribut id.

Dotaz na zahájení nové hry

Superhrací server –> hráč nebo bot

<cgml version="1.0">
<newgame status="ask">
<player id="6533">...</player>
<player id="8678">...</player>
<player id="1216">...</player>
</newgame>
</cgml>

newgame

Identifikace zprávy, pomocí které se Superhrací server ptá hráčů nebo botů, zda může zahájit novou hru. Atribut status s hodnotou ask doplňuje identifikaci zprávy. player

Identifikační údaje hráče nebo bota, který se účastní hry. Rozhodující je opět atribut id.

Potvrzení nebo odmítnutí zahájení nové hry

Hráč nebo bot –> Superhrací server

<cgml version="1.0">
<newgame status="accept|reject">
<player id="6533">...</player>
</newgame>
</cgml>

newgame

Identifikace zprávy, pomocí které hráč nebo bot potvrzuje nebo odmítá Superhracímu serveru zahájení nové hry. Atribut status s hodnotou accept znamená potvrzení zahájení nové hry. Hodnota reject atributu status naopak znamená odmítnutí nové hry.

game

Identifikace hry, jejíž zahájení hráč nebo bot potvrzuje nebo odmítá. V této fázi již je rozhodující atribut id.

player

Identifikační údaje hráče nebo bota, který potvrzuje nebo odmítá zahájení nové hry. Rozhodující je opět atribut id.

Rozdávání karet – karty

Superhrací server –> hráč nebo bot

<cgml version="1.0">
<dial type="cards" to="hand|desk|talon" from="desk|talon">
<card>...</card>
<card>...</card>
...
</dial>
</cgml>

dial

Identifikace zprávy, pomocí které Superhrací server rozdává hráčům nebo botům karty. Atribut type s hodnotou cards doplňuje identifikaci zprávy. Atribut to určuje, kam se karty rozdají, jestli do ruky (hand), na stůl (desk) nebo do talonu (talon). Atribut from specifikuje, odkud se karty rozdávají, jestli ze stolu (desk) nebo z talonu (talon). Zpráva může obsahovat tag dial vícekrát.

card

Identifikační kód rozdávané karty. Pokud není uveden, znamená to, že hráč obdrží kartu, ale nesmí ji zatím znát.

Rozdávání karet – informace

Superhrací server –> hráč nebo bot

<cgml version="1.0">
<dial type="info" to="hand|desk|talon" from="desk|talon" playerid="6533">
<card></card>
<card></card>
...
</dial>
</cgml>

dial

Identifikace zprávy, pomocí které Superhrací server oznamuje ostatním hráčům nebo botům, jak rozdává karty. Atribut type s hodnotou info doplňuje identifikaci zprávy. Atribut to určuje, kam se karty rozdávají, jestli do ruky (hand), na stůl (desk) nebo do talonu (talon). Atribut from specifikuje, odkud se karty rozdávají, jestli ze stolu (desk) nebo z talonu (talon). Atribut playerid identifikuje hráče, který karty obdržel. Zpráva může obsahovat tag dial vícekrát.

card

Prázdný tag. Jejich počet odpovídá počtu rozdaných karet. Pouze v případě, že je nějaká karta rozdávána otevřeně, aby ji všichni viděli, je uvnitř uveden identifikační kód karty.

Kapitola 3. Průběh jednotlivých her

Jednotlivé hry se svým průběhem značně liší. Tato kapitola shrnuje jednotlivé hry a způsob jejich hraní.

Mariáš

Základní pravidla hraní

1. Mám původí barvu?

2. ANO – je původní barva netrumfová a šly už trumfy?

3. ANO – dát libovolnou v původní barvě – KONEC.

4. NE – mám vyšší, než zatím nejvyšší v původní barvě?

5. ANO – dát vyšší – KONEC.

6. NE – dát libovolnou v původní barvě – KONEC.

7. NE – mám trumfy?

8. ANO – mám vyšší trumf než zatím nejvyšší?

9. ANO – dát vyšší trumf – KONEC.

10. NE – dát libovolný trumf – KONEC.

11. NE – dát úplně libovolnou – KONEC.

Licitace – seznam možných her

Tabulka 3-1. Licitace – seznam možných her

Hra

Označení (<gametype>)

nic  PASS
obyčejná  G
lepší  BG
sedma  7
lepší sedma  B7

Hra

Označení (<gametype>)

stovka  100

stovka + sedma

107

lepší stovka  B100

lepší stovka + sedma

B107

betl  SMALL
durch  BIG
dvě sedmy  27

stovka + dvě sedmy

127

lepší dvě sedmy

B27

stovka + lepší dvě sedmy

B127

Licitace – žádost o hru

Superhrací server –> hráč nebo bot

<cgml version="1.0">
  <licite type="ask">100</licite>
</cgml>

licite

Identifikace zprávy, pomocí které Superhrací server žádá hráče nebo bota o licitaci hry. Atribut type s hodnotou ask doplňuje identifikaci zprávy. Hodnota uvnitř tagu je nepovinná. Pokud není uvedena, musí hráč nabídnout hru, kterou chce vylicitovat. Pokud je uvedena, obsahuje aktuální stav licitace a dotazovaný hráč může odpovědět pouze YES (ano, mám) nebo NO (ne, nemám). Viz Licitace – nabídka hry.

Licitace – nabídka hry

Hráč nebo bot –> Superhrací server

<cgml version="1.0">
  <licite type="answer">100|YES|NO</licite>
</cgml>

licite

Identifikace zprávy, pomocí které hráč nebo bot oznamuje Superhracímu serveru svoji licitovanou hru. Atribut type s hodnotou answer doplňuje identifikaci zprávy. Hodnota uvnitř tagu označuje licitovanou hru, např 100. Pokud byl v žádosti od Superhracího serveru uveden neprázdný tag <licite>, může hráč odpovědět pouze YES (ano, mám tuto hru) nebo NO (ne, nemám tuto hru).

Licitace – informace

Superhrací server –> hráč nebo bot

<cgml version="1.0">
<licite type="info "playerid="6533">100</licite>
</cgml>

licite

Identifikace zprávy, pomocí které Superhrací server předává hráči nebo botovi informace o průběhu licitace. Atribut type s hodnotou info doplňuje identifikaci zprávy. Atribut playerid identifikuje hráče nebo bota, který danou hru vylicitoval. Uvnitř tagu je označení právě licitované hry.

Licitace – výsledek

Superhrací server –> hráč nebo bot

<cgml version="1.0">
<licite type="result" playerid="6533">100</licite>
</cgml>

licite

Identifikace zprávy, pomocí které Superhrací server oznamuje hráči nebo botovi vylicitovanou hru. Atribut type s hodnotou result doplňuje identifikaci zprávy. Atribut playerid identifikuje hráče, který hru vylicitoval a který následně obdrží talon. Uvnitř tagu je označení vylicitované hry.

Talon – převzetí

Superhrací server –> hráč nebo bot

<cgml version="1.0">

<dial type="cards" from "talon" to="hand">
<card>...</card>
<card>...</card>
</dial>
</cgml>

dial

Identifikace zprávy, pomocí které Superhrací server předává hráči nebo botovi karty z talonu. Atribut type s hodnotou cards doplňuje identifikaci zprávy. Atribut from s hodnotou talon znamená, že se karty vezmou z talonu. Atribut to s hodnotou hand znamená, že karty se dají do ruky. V podstatě se jedná o normální rozdání karet, v tomto případě přesně dvou.

card

Identifikační kód rozdávané karty.

Talon – odhození

Hráč nebo bot –> superhrací server

<cgml version="1.0">
<playcard type="cards" from="hand" to="talon">
<card>...</card>
<card>...</card>
</playcard>
</cgml>

playcard

Identifikace zprávy, pomocí které hráč nebo bot zahraje jednou nebo více svojími kartami. Atribut type s hodnotou cards doplňuje identifikaci zprávy. Atribut from s hodnotou hand specifikuje, odkud se karty vezmou, v tomto případě z ruky. Atribut to s hodnotou talon určuje, kam se karty položí, v tomto případě na stůl do talonu.

card

Identifikační kód zahrané karty.

Talon – informace

Superhrací server –> hráč nebo bot

<cgml version="1.0">
<playcard type="info" playerid="6533" ...>
<card></card>
<card></card>
</playcard>
</cgml>

playcard

Identifikace zprávy, pomocí které Superhrací server informuje ostatní hráče nebo boty o průběhu odhazování talonu. Atribut type s hodnotou info doplňuje identifikaci zprávy. Atribut playerid identifikuje hráče nebo bota, který talon odhodil.

card

Prázdný tag. Jejich počet je vždy 2, protože talon vždy obshuje právě 2 karty.

Trumfy – dotaz

Superhrací server –> hráč nebo bot

<cgml version="1.0">
<gametype type="ask">
<licite>100</licite>
</gametype>
</cgml>

gametype

Identifikace zprávy, pomocí které se Superhrací server ptá hráče nebo bota, jenž vylicitoval hru, na dodatečné informace o hře, v tomto případě na barvu trumfů. Atribut type s hodnotou ask doplňuje identifikaci zprávy.

licite

Identifikace vylicitované hry.

Trumfy – odpověď

Hráč nebo bot –> superhrací server

<cgml version="1.0">
<gametype type="answer">
<licite>100</licite>
<trumf>G</trumf>
</gametype>
</cgml>

gametype

Identifikace zprávy, pomocí které hráč nebo bot oznamuje Superhracímu serveru barvu trumfů. Atribut type s hodnotou answer doplňuje identifikaci zprávy.

licite

Identifikace vylicitované hry. Hráč nebo bot může v této fázi ponechat vylicitovanou hru beze změny nebo ji může ještě zvýšit.

trumf

Nepovinný tag. Obsahuje barvu trumfů, pokud je v dané vylicitované hře potřeba.

Trumfy – informace

Superhrací server –> hráč nebo bot

<cgml version="1.0">
<gametype type="info" playerid="6533">
<licite>100</licite>
<trumf>G</trumf>
</gametype>
</cgml>

gametype

Identifikace zprávy, pomocí které Superhrací server oznamuje hráčům a botům dodatečné informace o hře, v tomto případě barvu trumfů. Atribut type s hodnotou info doplňuje identifikaci zprávy. Atribut playerid identifikuje hráče, který barvu trumfů stanovil. licite

Identifikace vylicitované hry po odhození talonu.

trumf

Barva trumfů.

Flekování – nabídka

Superhrací server –> hráč nebo bot

<cgml version="1.0">
<flek type="ask">1</flek>
</cgml>

flek

Identifikace zprávy, pomocí které Superhrací server dává hráči nebo botovi možnost flekovat hru. Atribut type s hodnotou ask doplňuje identifikaci zprávy. Uvnitř tagu je uvedena aktuální úroveň flekování. Je zde povolena dvojtečková notace (viz dále).

Flekování – potvrzení nebo zvýšení nabídky

Hráč nebo bot –> superhrací server

<cgml version="1.0">
<flek type="answer">1:1</flek>
</cgml>

flek

Identifikace zprávy, pomocí které hráč nebo bot oznamuje Superhracímu serveru svoji úroveň flekování. Atribut type s hodnotou answer doplňuje identifikaci zprávy. Uvnitř tagu je uvedena úroveň flekování, kterou oznamuje hráč nebo bot. Může buď zůstat stejná, jako nabídl Superhrací server, nebo se může zvýšit.

Dvojtečka a hodnota za ní jsou nepovinné (tzv. dvojtečková notace). Použijí se pouze u her se Sedmou, kdy je tímto způsobem možno flekovat hru proti.

Flekování – informace

Superhrací server –> hráč nebo bot

<cgml version="1.0">
<flek type="info" playerid="6533">4</flek>
</cgml>

flek

Identifikace zprávy, pomocí které Superhrací server oznamuje hráčům a botům aktuální informace a průběhu flekování. Atribut type s hodnotou info doplňuje identifikaci zprávy. Atribut playerid identifikuje hráče, který flekuje. Uvnitř tagu je uvedena aktuální úroveň flekování. Je zde povolena dvojtečková notace.

Začátek hry – shrnutí

Superhrací server –> hráč nebo bot

<cgml version="1.0">
<gametype type="info" playerid="6533">
<licite>100</licite>
<trumf>G</trumf>
<flek>4</flek>
</gametype>
</cgml>

gametype

Identifikace zprávy, pomocí které Superhrací server shrnuje parametry hry, která se bude hrát. Atribut type s hodnotou info doplňuje identifikaci zprávy. Atribut playerid identifikuje hráče, který vyhrál licitaci.

licite

Označení vylicitované hry.

trumf

Barva trumfů. flek

Konečná úroveň flekování. Je zde povolena dvojtečková notace.

Hra – žádost o kartu

Superhrací server –> hráč nebo bot

<cgml version="1.0">
<playcard type="ask"></playcard>
</cgml>

playcard

Identifikace zprávy, pomocí které Superhrací server žádá hráče nebo bota o kartu do hry. Atribut type s hodnotou ask doplňuje identifikaci zprávy.

Hra – zahrání karty

Hráč nebo bot –> Superhrací server

<cgml version="1.0">
<playcard type="cards" from="hand" to="desk">
<card>...</card>
</playcard>
</cgml>

playcard

Identifikace zprávy, pomocí které hráč nebo bot zahraje svoji kartu. Atribut type s hodnotou cards doplňuje identifikaci zprávy. Další atributy v uvedeném pořadí říkají, že se hraje z ruky (from="hand") na stůl na hlavní hromadu (to="desk").

card

Identifikace zahrané karty. Hráč nebo bot může zahrát najednou všechny zbývající karty z ruky. Tímto způsobem dá najevo, že má zbytek hry ložený.

Hra – informace o zahrané kartě

Superhrací server –> hráč nebo bot

<cgml version="1.0">
<playcard type="info" from="hand" to="desk" playerid="6533">
<card>...</card>
</playcard>
</cgml>

playcard

Identifikace zprávy, pomocí které Superhrací server informuje ostatní hráče nebo boty o právě zahrané kartě. Atribut type s hodnotou info doplňuje identifikaci zprávy. Další atributy v uvedeném pořadí říkají, že se hraje z ruky (from="hand") na stůl na hlavní hromadu (to="desk"). Atribut playerid identifikuje hráče, který zahrál tuto kartu.

card

Identifikace zahrané karty.

Štych

Superhrací server –> hráč nebo bot

<cgml version="1.0">
<round number="1" playerid="6533">
<card>...</card>
<card>...</card>
<card>...</card>
</round>
</cgml>

round

Identifikace zprávy, pomocí které Superhrací server informuje ostatní hráče nebo boty o právě odehraném štychu. Atribut number v sobě nese číslo štychu. Atribut playerid identifikuje hráče, který štych získal.

card

Identifikace zahrané karty.

Zhodnocení a závěr hry

Superhrací server –> hráč nebo bot

<cgml version="1.0">
<result>
<game>licitovany_marias</game>
<licite>100</licite>
<trumf>G</trumf>
<flek>4</flek>
<round number="1" playerid="6533">
  <card>...</card>
  <card>...</card>
  <card>...</card>
</round>
<round number="2" playerid="1216">
  <card>...</card>
  <card>...</card>
  <card>...</card>
</round>
.
.
.
<round number="10" playerid="6533">
  <card>...</card>
  <card>...</card>
  <card>...</card>
</round>
<winer playerid="6533">
  <money type="get">100</money>
</winer>
<loser playerid="8678">
  <money type="lost">50</money>
</loser>
<loser playerid="1216">
  <money type="lost">50</money>
</loser>
</result>
</cgml>

result

Identifikace zprávy, pomocí které Superhrací server informuje ostatní hráče nebo boty o výsledcích právě ukončené hry. game

Název ukončené hry. licite

Typ vylicitované hry. trumf

Barva trumfů, pokud byly použity. flek

Konečná úroveň flekování. Je zde povolena dvojtečková notace. round

Seznam odehraných štychů. Bližší popis viz Štych – informace. winer

Informace o vítězi ve hře. Atribut playerid identifikuje hráče, který vyhrál. loser

Informace o poražených ve hře. Atribut playerid identifikuje hráče, který prohrál. money

Množství vyhraných (type="get") nebo prohraných (type="lost") peněz.

Kapitola 4. Řídící zprávy

Řídící zprávy slouží celému hracímu systému k udržování a předávání základních systémových a herních informací.

ABORT

Superhrací server –> hráč nebo bot

<cgml version="1.0">
  <abort>
     <player>...</player>
     <message>Timeout</message>
  </abort>
</cgml>

abort

Identifikace zprávy, pomocí které Superhrací server oznamuje hráčům nebo botům předčasné ukončení rozehrané hry.

player

Identifikace hráče, jenž zapříčinil předčasné ukončení rozehrané hry.

message

Popis příčiny předčasného ukončení rozehrané hry.

LOAD

Bot server –> Přihlašovací server

<cgml version="1.0">
  <load>48</load>
</cgml>

load

Hodnota zátěže Bot serveru v rozsahu 0 az 100, kde 0 nízkou a 100 vysokou zátěž. Podle tohoto údaje se Přihlašovací server rozhoduje, který Bot server požádá o spuštění nového bota. Bot server tento údaj posílá podle svého uvážení. Přihlašovací server si udržuje tabulku zátěže všech přihlášených Bot serverů.

DISCONNECT

Hráč nebo bot –> Superhrací server

Superhrací server –> Hráč nebo bot

<cgml version="1.0">
  <disconnect>Overload</disconnect>
</cgml>

disconnect

Oznámení fatální chyby, kvůli které se ukončuje spojení. Uvnitř tagu je uveden bližší popis chyby nebo důvod ukončení spojení.

PAUSE

Sada zpráv pro obsluhu pauzy ve hře.

PAUSE – zahájení

Hráč nebo bot –> Superhrací server

<cgml version="1.0">
  <pause type="start">
     <message>...</message>
  </pause>
</cgml>

pause

Identifikace zprávy, pomocí které hráč nebo bot žádá Superhrací server o dočasné přerušení hry. Atribut type s hodnotou start doplňuje identifikaci zprávy. Superhrací server po přijetí této zprávy odešle identickou zprávu i ostatním hráčům ve hře, čímž dočasné přerušení hry zahájí.

message

Nepovinná zpráva pro ostatní hráče s popisem důvodu přerušení hry.

PAUSE – ukončení

Hráč nebo bot –> Superhrací server

<cgml version="1.0">
<pause type="finish">
</pause>
</cgml>

pause

Identifikace zprávy, pomocí které hráč nebo bot oznamuje Superhracímu serveru, že končí pauzu. Atribut type s hodnotou finish doplňuje identifikaci zprávy. Superhrací server po přijetí této zprávy odešle identickou zprávu i ostatním hráčům ve hře, čímž dočasné přerušení hry ukončí.

CANCELGAME

Superhrací server –> hráč nebo bot

<cgml version="1.0">
<cancelgame>renonc</cancelgame>
</cgml>

cancelgame

Oznámení od Superhracího serveru hráčům a botům o předčasném ukončení rozehrané hry. Uvnitř tagu je uveden důvod tohoto předčasného ukončení hry. V žádném případě se nejedná o chybu, ale o možnost předčasně a regulérně ukončit hru.

RENONC

Superhrací server –> hráč nebo bot

<cgml version="1.0">
  <renonc>
     <player>...</player>
     <message>You must play red!</message>
  </renonc>
</cgml>

renonc

Oznámení od Superhracího serveru hráčům a botům o porušení pravidel hry.

player

Identifikace hráče nebo bota, který porušil pravidla hry.

message

Bližší popis porušení pravidel hry.

Kapitola 5. Označování karet

Všechny karty mají značení v jednotném tvaru. Jedná se o následující obecný tříznakový kód bvv, kde b znamená barvu a vv výšku.

Barvy karet

Všechny přípustné hodnoty barev karet shrnuje následující tabulka. Tabulka 5-1. Barvy karet

Barva  Kód b
červené  R
kule  B
zelené  G
žaludy  A
taroky  T
žolíky  J

Výšky karet

Všechny přípustné hodnoty výšek karet shrnuje následující tabulka. Tabulka 5-2. Barvy karet

Výška  Kód vv
žolík  00
1 – 22  01 – 22
spodek  0J
filek  0Q
král  0K
eso  0A

Kapitola 5. Označování karet

Příklady

Následuje několik příkladů označování karet.

Tabulka 5-3. Příklady značení karet

Kód bvv  Karta

R07

červená sedma

B10

kulová desítka

G0J

zelený spodek

A0A  žaludové eso
T18  tarok č. 18
J00  žolík