hra pro opravdové muže (a ženy): Fortran

„Fortran“ není jen programovací jazyk, ale i společenská hra od izraelské firmy Orda, a s programovacím jazykem má kupodivu i něco společného.

Izraelská hračkářská firma Orda, specializovaná na logické a matematické společenské hry, je pojmenována zřejmě podle mongolské zlaté hordy.

Jejich hra „Fortran“ s podtitulem „Input: Reason . Output: Pleasure“ už podle obrázku, na němž najdeme páskové mechaniky IBM 2401, harddisky IBM 2311 a další součásti kompletu IBM/360, nějak souvisí s počítači.

(c) Orda

Hra je určena pro dva hráče.
Hned na první pohled zaujme plastová „počítačová konzole“ s několika třícifernými dekadickými počítadly, realizovanými pomocí klasických válečků s čísly po obvodu.

Tři počítadla, označená A, B a C, kromě číslic 0-9 obsahují ještě mezeru (na začátku hry se nastavují na samé mezery, tedy na „nedefinovanou hodnotu“).
Tato počítadla představují proměnné.

Další dvě tříciferná počítadla jsou po jednom pro každého hráče a obsahují jen číslice 0-9.
Na začátku hry se nastavují na 000 a jsou označena jako „printer“.
Jde o jakýsi virtuální výstup. Nechová se ale jako tiskárna, spíš jako opravdové počítadlo.

Každý hráč má na konzoli ještě jednu kapsu na tři figurky, kterým se ve hře říká ukazatel (v originále „index“).

Ke hře patří ještě kostka a tři herní plány.

Kostka je docela obyčejná, ale herní plány jsou koncipovány jako programy psané ve Fortranu.

Program je organizován do sloupců, propojených instrukcemi skoků.

Políčka jsou barevně odlišena na normální políčka a políčka „výstupu“ s příkazem PRINT.
Některá políčka jsou opatřena číselným návěštím, na které směřují příkazy skoků.

Hráč postupně nasazuje svoje figurky (ukazatele) a podle toho, jak mu padne kostka, skáče po příkazech fortranského programu.
Nevykonává tedy povely postupně, jak jsou do programu uspořádány, ale zpřeházeně.

Podle pravidel vyhazuje soupeřovy figurky, když vstoupí na stejné políčko, zpět do zásobníku.
Svoje figurky nevyhazuje, ale nesmí vstoupit dvě na stejné políčko a musí táhnout jinou figurkou.

Pokud hráč vstoupí na políčko STOP, taky odstraňuje svou figurku do zásobníku.

Pokud se blíží konci sloupce, a podle kostky by měl jít až za jeho konec, nemůže táhnout a musí zkusit jinou figurku.
Skok ze sloupce do sloupce je možný jen vstupem na příkaz skoku.

Podle příkazů nastavují hráči počítadla jednotlivých proměnných (tady mi nedává smysl výchozí „nedefinovaná hodnota“, protože co když hráč hned na začátku hry narazí ne na plnění konstantou, ale na výraz zahrnující jinou proměnnou?).

Při navštívení „výstupního“ políčka s příkazem PRINT se hodnoty přičítají k aktuálnímu stavu hráčova „printeru“.
Takže přijde-li příkaz PRINT B,C, když „printer“ obsahuje 013, B 062 a C 107, nastaví se na „printeru“ 182 (013 + 062 + 107).

Čítač na „printeru“ při překročení 999 „přeteče“ přes hodnotu 000.

Hra končí, když jeden z hráčů vrátí všechny tři své figurky zpátky do zásobníku a na herním plánu už žádnou nemá.
Vyhraje ten, na jehož „printeru“ je vyšší hodnota.

Velká část skoků je podmíněná (příkaz IF), uživatel uvyklý Basicu se zde naučí Fortranskou syntaxi příkazu, který se z těch, co se na herních plánech používají, od těch Basicových asi nejvíce liší.

Bohužel je hra poměrně vzácná, ve své době si ji koupil asi jenom počítačový nadšenec, kterých v roce 1965, kdy se odhaduje vznik hry, asi bylo opravdu málo.
Na eBayi se podle toho pohybují ceny.

Z fotografií na webu (hlavně na eBayi, kde opět zmizí, takže je nejde spolehlivě odkazovat) se mi podařilo přečíst jen první herní plán (a většinu manuálu, který je naštěstí opravdu krátký).

Uvádím proto „program č. 1“ v přepisu (první a druhý sloupec jsou zapsány sekvenčně).

START
A=3
B=1
5 A=B+4
C=4
A=2
IF(A=3)7,2,8
4 PRINT A
6 B=C+4
C=A+B
IF(B.LT.4)GOTO 2
8 PRINT B,C
GOTO 7

7 A=10
B=C+A
IF(C.LT.5) GOTO 4
2 B=2
PRINT A,B,C
IF(A=10)5,6,6
STOP