Hra na kámen, nůžky, papír je jednou z nejoblíbenějších a nejjednodušších her, které lze implementovat v jakémkoli programovacím jazyce. V tomto článku se podíváme na kód v Pythonu pro hru na kámen, nůžky, papír.
Pro realizaci hry použijeme konzolový vstup a výstup. Kód se bude skládat z několika funkcí: jedna funkce bude zodpovědná za příjem zadání od uživatele, druhá za výběr náhodného tahu počítače a třetí za určení vítěze.
Uživatel bude nejprve vyzván k provedení svého tahu, poté počítač provede svůj tah. Program pak určí vítěze vzhledem k pravidlům hry: kámen porazí nůžky, nůžky porazí papír a papír porazí kámen.
Kód v Pythonu pro hru na kámen, nůžky, papír bude vypadat asi takto:
Příprava na hru
Než začnete hru "Kámen, nůžky, papír" v Pythonu, budeme muset nainstalovat několik dalších knihoven. Chcete-li to provést, otevřete terminál a spusťte následující příkazy:
| pip install random | - instalace modulu random, který budeme potřebovat k výběru náhodné hodnoty počítače |
| pip install time | - instalace modulu time Chcete-li přidat zpoždění před ukončením výsledků hry |
| pip install emoji | - instalace modulu emoji Chcete-li přidat barevné emotikony k závěru hry |
Po instalaci knihoven jsme připraveni začít psát kód pro hru.
Vytvoření herní nabídky
K vytvoření herní nabídky budete muset použít HTML a CSS. Začněte vytvořením hlavního kontejneru pro nabídku, který bude obsahovat všechny položky. Můžete například použít prvek
s unikátním identifikátorem.Uvnitř kontejneru vytvořte záhlaví pro nabídku, ve které můžete zadat název hry. K tomu použijte značku
Poté vytvořte tlačítka pro výběr režimu hry. Doporučuje se použít prvek pro každé tlačítko. Každé tlačítko můžete nastavit jako jedinečný identifikátor a přiřadit k němu obslužnou rutinu události, abyste mohli spustit příslušný herní režim.
Kromě tlačítek pro výběr režimu hry můžete do herní nabídky přidat i další položky, jako jsou informace o pravidlech hry, možnosti nastavení nebo odkazy na přidaný obsah.
Nezapomeňte použít CSS ke stylizaci prvků herní nabídky, aby vypadaly esteticky a odpovídaly celkovému designu vaší hry.
Jakmile vytvoříte herní nabídku a propojíte obslužné rutiny událostí, můžete interagovat s položkami nabídky, zobrazovat a skrývat různé sekce nebo přejít na jiné části vaší hry.
Správně navržená a implementovaná herní nabídka pomůže hráčům rychle začít hru a seznámit se se všemi dostupnými informacemi a nastaveními.
Základní herní cyklus
Ve hře Kámen, nůžky, papír se hlavní uživatelská interakce odehrává uvnitř cyklu, který pokračuje, dokud se uživatel nerozhodne opustit hru.
Na začátku každé iterace cyklu se zobrazí zpráva, ve které je uživatel vyzván, aby si vybral jednu ze tří možností: "Kámen", "nůžky" nebo "papír". Pro výběr varianty musí uživatel zadat příslušnou číslici.
Po výběru uživatele se počítač také rozhodne generovat náhodné číslo mezi 1 a 3 a podle toho si přiřadit možnost.
Poté dojde k ověření volby obou hráčů. Pokud se volby shodnou, dojde k remíze. Pokud jsou volby různé, platí pravidla hry: kámen porazí nůžky, nůžky porazí papír a papír porazí kámen. V závislosti na výsledku se zobrazí odpovídající zpráva o vítězství nebo porážce uživatele.
Po každé iteraci herního cyklu uživatel dostane nabídku pokračovat ve hře nebo z ní vystoupit. Pokud chce uživatel pokračovat ve hře, cyklus se opakuje, jinak je hra ukončena.
Základní herní cyklus tak uživatelům umožňuje opakovaně komunikovat s hrou a testovat své štěstí a schopnost rozhodovat se.
Volba pozice hráče
Před zahájením hry na kámen, nůžky, papír je třeba se rozhodnout o pozici, kterou si hráč vybere. V této hře si hráč může vybrat ze tří pozic: Kámen, nůžky nebo papír.
Pro výběr pozice musí hráč zadat příslušný příkaz. Například pro výběr pozice "kámen" může hráč zadat příkaz "k". Stejně tak pro výběr pozice "nůžky" může hráč zadat příkaz "N" A Pro výběr pozice "papír" příkaz "B".
Volba pozice hráče se obvykle provádí pomocí funkce input v Pythonu. Tato funkce umožňuje uživateli zadávat data z klávesnice. Pro výběr pozice hráče lze například použít následující kód:
position = input("Введите выбранную позицию (к - камень, н - ножницы, б - бумага): ")
Po provedení tohoto kódu bude v proměnné position uložena vybraná pozice hráče.
Je důležité vzít v úvahu, že při zadávání příkazu může hráč omylem zadat nesprávný příkaz nebo se mýlit v psaní. Proto se doporučuje přidat kontroly na správnost zadané hodnoty. Můžete například použít podmíněné operátory ke kontrole zadané hodnoty a požádat o opětovné zadání, pokud je hodnota nesprávná.
Jakmile si hráč vybere pozici, je možné přistoupit k další logice hry, například k určení vítěze nebo výběru náhodné pozice počítače.
Určení vítěze
Poté, co hráči zvolí své možnosti (Kámen, nůžky nebo papír), musíte určit vítěze hry.
Existuje několik možností, jak určit vítěze:
- Pokud se oba hráči rozhodnou pro stejnou možnost, pak je hra považována za remízu.
- Pokud si hráč vybral kámen a jiný hráč vybral nůžky, pak vítězem bude hráč, který kámen vybral. Kámen rozbíjí nůžky.
- Pokud si hráč vybral nůžky a jiný hráč vybral papír, pak vítězem bude hráč, který vybral nůžky. Nůžky stříhají papír.
- Pokud si hráč vybral papír a jiný hráč vybral kámen, pak vítězem bude hráč, který vybral papír. Papír balí kámen.
Vítěze lze určit v kódu hry pomocí podmíněných operátorů a porovnáním výsledků výběru hráčů. Pokud se volby hráčů shodují, pak pokud-konstrukce může vrátit zprávu o remíze. Pokud se liší, hra zkontroluje všechny možné kombinace a vrátí zprávu o vítězi.