Program Pexeso je určen pro dva až čtyři hráče pexesa.Po spuštění se objeví hrací plocha se zakrytými kartičkami a čtyřmi zelenými panely hráčů v rozích okna. Jak praví jednořádková nápověda na spodu okna, v tuto chvíli se ještě nehraje. Uživatelé, budoucí hráči pexesa, zadají svá jména do textových políček na čtyřech panelech. Hraje-li méně než plný počet hráčů, je třeba u nepoužitých panelů políčka vymazat.
Volbou Začít hru z nabídky Hra se hra spouští. Počítač zamíchá kartičky pexesa, skryje nepotřebné panely hráčů a zvýrazní panel prvního hráče, který hru zahajuje. Hráč klepnutím zvolí dvě kartičky, prohlédne si je a dá stejnou příležitost i protihráčů a pak je opět přiklopí. Automaticky se zvýrazní panel druhého hráče a hráči se tak pravidelně střídají.
Jakmile hráč narazí na dvě stejné kartičky, přemístí se kartičky z hrací plochy na hráčův panel a hráči se přičte jeden bod. V souladu s pravidly pexesa má pak právo odkrývat kartičky ještě jednou.
Hra končí vyčerpáním všech kartiček na hrací ploše. Jakmile k tomu dojde, počítač hru sám formálně zakončí vyhlášením výsledků. Předčasně lze hru ukončit volbou z nabídky Hra, kdy počítač navíc odkryje všechny zbylé kartičky na hrací ploše, a samozřejmě též ukončením celého programu.
Po skončení hry mají uživatelé opět možnost zadat do panelů jména hráčů a hru spustit, kartičky se samozřejmě zamíchají jinak.
Program Pexeso byl napsán v prostředí Delphi 3, jeho jádrem je jediný formulář s připravenými panely, řádkovou nápovědou, nabídkami a rovněž skrytým seznamem obrázků kartiček. Po spuštění se navíc na rací ploše vytvoří 64 kartiček pexesa - komponent typuTImage
.Pro celou hru pexesa je klíčová vlastnost
stav
celého formuláře. Její čtení představuje obyčejné čtení z tajné proměnné, při zápisu do této proměnné se však vyvolá procedura, která kromě změny hodnoty interní proměnné provede též všechny potřebné úpravy hrací plochy - zvýrazní jiného hráče, upraví řádkovou nápovědu, zkontroluje, jestli poslední dvě odkryté kartičky nenesly stejný obrázek a předá je v takovém případě úspěšnému hráči, případně zakončí celou hru vyhlášením výsledků.Vlastnost
stav
nabývá několika povolených hodnot. Hodnota-1
je nastavena, pokud se právě nehraje. Vyšší hodnoty pak indikují, který hráč je právě na tahu astav mod 4
udává, v jaké fázi tahu je:0
, má-li odkrýt první kartičku,1
, má-li odkrýt druhou,2
, jsou -li již obě kartičky odkryty a3
, čeká-li počítač na zakrytí druhé kartičky.Všechny kartičky reagují na klepnutí myši stejnou metodou
kartickaClick
, v níž zároveň ověřují, zda je podle pravidel přípustné jejich otočení (jestli např. nejsou již dvě kartičky odkryty). Vlastnosttag
každé kartičky udává v absolutní hodnotě číslo obrázku, který byl kartičce při míchání přiřazen, znaménko této vlastnosti pak říká, zda je kartička právě zakryta nebo odkryta. Otočení kartičky tedy představuje jen kontrolu stavu hry, změnu obrázku kartičky, negování jejíhotagu
a zvýšení stavu hry o jednu fázi. O vše ostatní se postará správce vlastnostitag
.Za povšimnutí stojí ještě modifikovatelná velikost kartiček. V prostředí Delphi stačí změnit příslušné vlastnosti v seznamu obrázků a načíst nové obrázky (musí být uloženy s přadovými čísly 1 až 32, číslo 0 je vyhrazeno pro obrázek rubu kartiček), o velikost kartiček na hrací ploše se již postará program sám při jejich vytváření.
K dispozici je zde zdrojovy projekt pro Delphi 3. Soucasti baliku je i kompilovany spustitelny soubor, ale pochybuji, ze bude na vasem pocitaci opravdu spustitelny... Mam sve zkusenosti s Deplhi.Navic si muzete stahnout balik pouzitych obrazku a pripadne si projekt prekompilovat s vetsimi nebo mensimi kartickami. Staci zmenit velikost ImageListu a karticky znovu nacist. Hned po nacteni doporucuji zvolit Stretch a prepsat transparentni barvu na clNone, jinak se karticky importuji pitome.
pexeso.arj
(1 MB)
obrazky.arj
(160 kB)