Syntaxe: Handviewer a soubory LIN
Formáty
Kdo je trochu znalý šachu, tak se setkal s formátem PGN. Je to lidsky čitelný formát. Uložený soubor partie lze otevřít v Poznámkovém bloku, gEditu a jiných editorech. Z tohoto formátu vznikl i formát pro bridž, formát PBN.
Tyto formáty však ne každému vyhovují. Míchají se totiž tagy (hranaté závorky) s dalšími informacemi jako je licitace, sehrávka a komentáře. Přecejenom musíte mít trochu solidnější parsovátko, abyste s tím mohli pracovat. Proto si autoři, například Pavlickův RBN, a některé firmy vyvinuli své formáty a pro uživatele též příslušné konverze z/do. Pro účely tohoto článku dále nerozvádím.
Handviewer
Jedním z těchto formátů, který se dá zároveň využít jako webová služba, je Handviewer firmy Bridge Base Inc., provozovatel BBO.
Kdo je obeznámen, tak je to podobná služba jako Google Chart.
To je už pro nás zajímavé. Formát, neboli syntaxe jazyka, je rozepsán na
Zkusíme si klíčové informace shrnout a vyzkoušet. Formát se bez písemného souhlasu firmy BBO nemůže používat pro komerční účely. Pro správný chod je potřeba ve webovém prohlížeči mít aktivovaný JavaScript. Kdo ze čtenářů neví, nechť poprosí zkušenějšího znalce počítačů.
Můžeme tímto formátem zobrazit:
- Jeden list vybraného hráče.
- Libovolnou kombinaci dvou a tří listů.
- Diagram dražby s/bez listů.
- Celé rozdání s/bez licitace.
- Kompletní rozdání, včetně sehrávky, s GIBem.
- V licitaci můžeme mít alertované hlášky.
- Můžeme přidat komentáře, bohužel bez diakritiky.
Handviewer: užití
Tento formát můžeme získat přímo na BBO z výsledků z pravé části nakliknutím rozdání a volbou vpravo ve spodní části: Nastavení→Exportovat rozdání→Odkaz pro Handviewer. Následně Ukázat. V otevřeném novém okně prohlížeče vidíte URL, které si lze vykopírovat.
Syntaxe a užití v prohlížeči je:
http://www.bridgebase.com/tools/handviewer.html
Za tím následuje otazník a seznam parametrů oddělený et (&). Hodnotu parametrům přiřadíme rovná se. Zkuste ve svém prohlížeči:
http://www.bridgebase.com/tools/handviewer.html?s=sakqhakqdakqcakqj&d=w&a=3hpp
Vložit celý objekt na svou webovou stránku (Facebook, Blog atp.) lze pak obalením do iframe (lze mít celé na jednom řádku):
<iframe src="http://www.bridgebase.com/tools/handviewer.html?s=sakqhakqdakqcakqj&d=w&a=3hpp"
width="200px" height="350px">
</iframe>
Dostáváme:
Přidáváním a odebíráním parametrů dosáhneme chtěného stavu. Úpravou width
(délka okna) a height
(výška okna) si nastavujeme tak, abychom se vyhnuli zbytečnému bílému prostoru.
Já vyzkoušel následující:
- 150×150 pixelů pro jeden list či licitaci.
- 150×300 pixelů pro dva listy.
- 250×200 pixelů pro dva listy s licitací.
- 350×400 pro celé rozdání.
Vyzkoušejme si:
Postupně zadané v jednom či na více řádcích jako:
<iframe src="http://www.bridgebase.com/tools/handviewer.html?s=s234h234d234c2345"
width="150px" height="150px">
</iframe>
<iframe src="http://www.bridgebase.com/tools/handviewer.html?s=s234h234d234c2345&n=st98ht98dt98ct987"
width="150px" height="300px">
</iframe>
<iframe src="http://www.bridgebase.com/tools/handviewer.html?s=s234h234d234c2345&n=st98ht98dt98ct987&a=1cpp1dppp"
width="250px" height="200px">
</iframe>
<iframe src="http://www.bridgebase.com/tools/handviewer.html?b=1&s=s234h234d234c2345&n=st98ht98dt98ct987&e=s567h567d567c6jqk&w=sjqkahjqkadjqkaca&a={Ahojte!}1cpp1dppp"
width="350px" height="400px">
</iframe>
Handviewer: souhrn syntaxe
Přejdeme k tomu nejdůležitějšímu, popisu parametrů, není to nic těžkého, jen je to trochu nezvyk. Výhodou je, že zdrojový kód zůstává součástí HTML stránky a lze si jej kdykoliv zobrazit, včetně u článků na tomto serveru.
- Jak bylo již ukázáno, n, s, e a w slouží k zadání karet samotných (Sever, Jih, Východ, Západ). Můžeme zapsat malými i velkými písmeny. Následuje rovná se, poté zkratky karetní barvy (s pro piky, h pro srdce, d pro kára a c pro trefy) a seznam karet. Na pořadí karet nezáleží. Opakování karet je ignorováno jako renonc. Pro desítku užíváme t nebo T. Lze užít i x a X.
- Zadání jmen hráčů provádíme nn (North's Name), sn, en a wn.
- Rozdávajícího upřesníme přes d jako Dealer. Hodnoty jsou n, s, e a w.
- Určení hry se zadává v jako Vulnerability. Hodnoty jsou n (North-South), e (East-West), b (Both) a - (None).
- Číslo rozdání upřesníme pomocí b jako Board.
- Licitaci zadáváme pomocí a jako Auction. Zadáváme číslo a zkratku karetní barvy, pak p jako Pass, d nebo x jako Double, r jako Redouble a n jako Notrump.
- Alertovanou hlášku zaznačíme do oblých závorek v licitaci.
- Při koncovkách užíváme formu a=-sc (- jako vše předtím odehrané, South na výnosu a c jako trefy trumfy).
- Sehrávka se zadává parametrem p jako Play. Zadává se zkratka karetní barvy a hodnota karty. Zkratku je nutné uvést u každé karty.
- Komentáře do licitace či sehrávky zadáváme ve složených závorkách. Budou nám však zlobit diakritické znaky, řešení poskytne v další části textu formát LIN souboru.
- Vyčistit komentáře ve spodní části okna můžeme pomocí {}.
- Karetní barvy zadáváme !S (piky), !H (srdce), !D (kára) a !C (trefy).
- Komentáře mohou obsahovat tagy jako <b>, <i>, ale užití et (&) je problém, neb je to oddělovač parametrů. Takže zadání HTML entity nebo diakritického znaku touto cestou nelze.
- Možnost určit stranu ke sledování lze parametrem k jako Kibitzing. Hodnoty jsou n, s, e a w.
- Vzití závěrečných zdvihů lze zaznačit pomocí c jako Claim, je to počet zdvihů.
- Jakékoliv zapnutí komentářů na celém rozdání vypíná GIB.
Nevýhodou zůstává, že při obnovení stránky při úpravě webové stránky se <iframe> nepřepočítává. Obcházím to označením a otevřením toho samého URL ještě jednou v novém okně či panelu. Po označení URL: Ctrl+C (uložení URL do schránky), Ctrl+T (otevření nového okna v prohlížeči) a Ctrl+V (vložení URL ze schránky). Přesněji držím Ctrl a pomačkám CTV, poté Enter.
Další nevýhodou je, že se GIB nezobrazuje při koncovkách.
Soubory LIN: možnosti načtení
Základem ukládání VuGraph záznamů je soubor LIN. Zde lze nahlédnout na aktuální archív BBO, případně více o celém projektu zde. Má svou (a)typickou syntaxi. Podobně jako u programu Handviewer i zde zapsání komentářů vypíná GIB. Výhodou však je, že lze v komentářích mít češtinu a slovenštinu, obecně diakritické znaky a ČJKV (čínštinu, japonštinu, korejštinu a vietnamštinu).
Převaděč mezi formátem pro Handviewer a soubory typu LIN jsem nepotkal a zatím nepotřeboval. Pro účely menších článků se dalo přeházet ručně. Jen se museli vyhodit komentáře se znakem et a znaky karetních barev z vykřičník a symbol (!S) změnit na ampersand a symbol (@S), a obráceně.
LIN soubor se dá importovat na BBO (web verze) pomocí: Moje BBO→Rozdání a výsledky→Importovat soubor LIN.
Možnosti načtení jsou parametry lin
(zápis přímo v HTML souboru), linurl
(externí LIN nebo XML soubor) a myhand
. Zápis pro lin
vypadá takto.
<iframe src="http://www.bridgebase.com/tools/handviewer.html?lin=
md|1S2389JHTD3JC237KA,S7TH4QKD678TC4569,S456KAH25D25KACJQ,|rh|
|ah|Board 7|sv|b|mb|p|mb|p|mb|1S|mb|2H|mb|3S|mb|p|mb|4D|mb|p|mb|4S|
mb|p|mb|p|mb|p|pg||pc|SQ|pc|S2|pc|S7|pc|SA|pg||pc|SK|pc|H3|pc|S8|pc|
ST|pg||pc|CQ|pc|C8|pc|C2|pc|C4|pg||pc|CJ|pc|CT|pc|C3|pc|C5|pg||mc|13|"
width="350px" height="350px">
</iframe>
Pro linurl
a soubory LIN a XML pak:
<iframe src="http://www.bridgebase.com/tools/handviewer.html?linurl=http://karty.striz.cz/doplnky/handviewer/test.lin"
width="350px" height="350px">
</iframe>
<iframe src="http://www.bridgebase.com/tools/handviewer.html?linurl=http://karty.striz.cz/doplnky/handviewer/test.xml"
width="350px" height="350px">
</iframe>
Obsahy souborů jsou od rovná se až po uvozovky z první z těchto tří ukázek. V XML souboru je na úvod navíc <lin> a na závěr </lin>. Nevýhodou je, že se cesta musí zadat absolutně, nestačí relativně, takže pri migraci serveru by se cesty k souborům musely přepsat. Pokud se snažíme zobrazit diakritické znaky z lokálního počítače (nikoliv přes server), tak se UTF-8 rozbijí.
Cvičně ke stažení LIN i XML. Výsledek je ve všech třech případech stejný:
Zavolat si odehrané rozdání z BBO Hand Records můžeme právě takto (bohužel životnost tohoto čítače není dlouhá, BBO je po čase čistí; je to vidět i na tomto rozdání):
<iframe src="http://www.bridgebase.com/tools/handviewer.html?
myhand=M-293414-1339996948"
width="350px" height="350px">
</iframe>
Soubory LIN: syntaxe
Opět si sepišme syntaxi jazyka. Na význam některých zkratek jsem nepřišel, ani při brouzdání BBO Fóra, ale zdá se, vše důležité je pokryté. Principem jsou zkratky o dvou znacích, de facto příkaz, následovaný svislicí a parametrem ukončený svislicí. Je-li parametrů víc, oddělují se čárkou. Poté následuje další várka. Ukázek nespočet po stažení (Download) z archívu BBO.
- vg, VuGraph: Takto začínají VuGraph záznamy. Parametry jsou název turnaje, segment, pak pro mě neznámý parametr (objevuje se I, P), první rozdání, poslední rozdání, název týmu, získané body z dřívějška, název druhého týmu, získané body z dřívějška. Při komentování konkrétního rozdání nepoužívám.
- rs, Results: Jsou výsledky rozdání. Výsledky se oddělují čárkami a formát je počet zdvihů, zkratka barvy, strana, případné kontra či rekontra a výsledek = nebo + (plus a počet nadzdvihů) či - (mínus a počet pádů).
- pn, Players' Names: Jména hráčů, v pořadí Jih, Západ, Sever a Východ pro první tým a pak pro druhý.
- qx, Extras: Parametrem se zadává o (jako Order) plus číslo, např. o15, značí pořadí rozdání, což nemusí být stejné s hraným rozdáním v segmentu.
- md, My Deal: Vlastní rozdání, první číslo udává rozdávajícího 1 (Jih), 2 (Západ), 3 (Sever) a 4 (Východ). Následují zkratky barev a hodnoty karet. Hráče stačí zadat tři. Karty hráčů se oddělují čárkami.
- sv, Side's Vulnerability: Hra, o (Nil, nikdo), n (North; Sever-Jih), e (East; Východ-Západ) a b (Both, obě linky).
- ah, A Headline: psávám tam Board a číslo, např. Board 22.
- an, Alert Bid: Pozor, alertovaná hláška s komentářem.
- up: Počet dohrávaných karet, např. 46, 52. Nepotřeboval jsem k práci.
- pc, Played Card: Zahrávaná karta. Parametr je zkratka karetní barvy a hodnota.
- nt, Note: Komentáře. Znaky karet se píší pomocí @S (piky), @H (srdce), @D (kára) a @C (trefy).
- pg, Page: Přechod na další stranu v okně komentářů. Jeho parametr je prázdný.
- mc, My Claim: Zbytek zdvihů.
- ph, rh: Neidentifikoval jsem.
Pokud si přejete, aby se šlo pohybovat z každé jedné karty na druhou, a měli tedy možnost zapnout si GIB, musíte v LIN syntaxi provést globální náhradu z „|pc|“ na „|nt| |pc|“ (mezera je tam nutná). Zde je ukázka.
Tento formát založila již dřív pro své potřeby e-bridge komunita a je možné se s tím setkat u e-knih připravovaných Eddie Kantarem, např. Test Your Slam Play, či zkukněte na úrovni textových souborů (přípona TXT) Bridge Squeezes Complete od autora Clyde E. Loveho.
Komplexněji a úplněji o formátu viz prosím soubor Tomáše Fořta (PDF, DOC).
Novinkou roku 2013 je, že z programu Deep Finesse si lze BBO prohlížeč zavolat. Akorát tam měli/mají chybu, že je vypnutý GIB. To lze zasáhnout do URL, ukázkově takto: „a=-6SS“ na „b=1&a=pp6Sppp“.
S tímto exportem se lze setkat i u Licitačního trenažéra Tibora Menyhértyho [odkaz], záslužná to práce.
Závěrem
S těmito formáty jsem se již zkamarádil, kdybyste potřebovali pomoc, napište. Kdybyste objevili v tomto článku partie k úpravě, napište též, zapracuji pro dobro bridžového světa. Rozloučím se ukázkou i s diakritickými znaky a kandžíky (LIN).
V prvním případě (horní zmíněný vzorek) se otevírá LIN soubor přes server (prostřednictvím Apache, Xitami a podobných pomůcek), a je vše v pořádku, v druhém případě (spodní vzorek) při otevírání z lokálního počítače či přímo z HTML se vícebajtové sekvence UTF-8 kódování rozpadnou. Můžete srovnat a ať víte, kde nastává problém a jak to lze případně řešit.
Pro zajímavost uvádím, že BBO částečně vyvíjí nový formát, konkrétně Fred Gitelman (fred), dle informací od Diany Eveline Serban (diana_eva), bude to pro užší okruh autorů a především pro výukové a předváděcí účely. Je však stále ve fázi testování. Můžete vyzkoušet první vzorek, viz článek Vulnerable Stopper Endplays od Bena Dickense, který byl zveřejněn v červnu 2012. Případně zde je přímý odkaz.