Sestavte si tuto jednoduchou hru, abyste upevnili své koncepty programování v Pythonu.
Vytváření her v Pythonu je skvělý způsob, jak se naučit základní koncepty programování a vybudovat silnější základy v programování. Jednou z her, kterou můžete vytvořit, je jednoduchá hra na hádání čísel.
Hru na hádání čísel můžete vytvořit pomocí jediného skriptu Python. Chcete-li hrát hru, spusťte skript pomocí příkazového řádku nebo terminálu.
Aby byla hra zajímavější, můžete přidat další herní koncepty. To zahrnuje možnost dávat hráči rady nebo možnost měnit obtížnost hry.
Jak vygenerovat náhodné číslo
Můžete začít vytvořením nového skriptu Python s a .py rozšíření pro udržení logiky hry. Uvnitř přidejte nějaký startovací kód, abyste vygenerovali náhodné číslo mezi 1 a 50, aby ho hráč mohl uhodnout.
Pokud nejste obeznámeni se syntaxí Pythonu, podívejte se na některé základní příklady Pythonu abyste se dostali do tempa.
- Vytvořte nový soubor s názvem hra-hádání čísel.py. Otevřete soubor pomocí libovolného textového editoru, např Visual Studio nebo Atom.
- V horní části souboru importujte soubor náhodný modul:
import náhodný
- Použijte náhodný modulů randint() metoda pro generování náhodného čísla mezi 1 a 50:
odhad_rozsah = 50
odpověď = random.randint(1, rozsah_odhadu) - Spusťte hru a požádejte hráče, aby uhádl číslo:
tisk("Vítejte ve hře na hádání čísel!")
tisk("")
userInput = vstup("Hádej číslo mezi 1 a" + str (rozsah odhadu) + ": ")
odhad = int (vstup uživatele)
Jak zkontrolovat, zda uživatel uhodl správné číslo
Aby uživatel hru vyhrál, porovnejte vstup uživatele s vygenerovaným náhodným číslem a zkontrolujte, zda se shoduje.
- Zatímco uživatel ještě neuhodl správnou odpověď, požádejte ho znovu, aby zadal nový vstup. Ujistěte se, že jste odsadili jakýkoli vnořený kód, protože struktura Pythonu závisí na správném odsazení:
hádej = ""
zatímco hádej! = odpověď:
userInput = vstup("Hádej číslo mezi 1 a" + str (rozsah odhadu) + ": ")
odhad = int (vstup uživatele) - Pokud se kód spustí za smyčkou while, znamená to, že uhodli správnou odpověď:
tisk("Gratulujeme! Tipli jste správné číslo. Vyhráváte!")
Jak přidat omezený počet odhadů
Chcete-li hráče omezit v nekonečně mnohonásobném dotazování, můžete omezit počet jeho tipů.
- Na začátku souboru deklarujte novou proměnnou, abyste měli přehled o počtu povolených tipů hráče. Nastavte jej na 10 pro začátek:
odhady_povoleny = 10
- Změňte příkaz while na cyklus for, který se opakuje pouze pro omezený počet odhadů:
pro i v rozsah (povoleno odhady):
userInput = vstup("Hádej číslo mezi 1 a" + str (rozsah odhadu) + ": ")
odhad = int (vstup uživatele) - Pokud je jeden z tipů v cyklu for správná odpověď, opusťte cyklus for:
-li hádej == odpověď:
tisk("Gratulujeme! Tipli jste správné číslo. Vyhráváte!")
přestávka - Přesto do smyčky for přidejte další příkaz if, abyste zkontrolovali, zda hráč dosáhl svého limitu počtu odhadů. Pokud ano, ukončete hru:
-li (i == odhady_povoleny - 1):
tisk(„Promiň, došly ti odhady. Prohrál jsi!")
Jak přidat rady do hry
Přidejte do hry další funkci, která hráči napoví. Jednou nápovědou může být, že jim dáte vědět, zda potřebují uhodnout vyšší nebo nižší číslo.
Další nápovědou je říct jim, jak blízko nebo daleko od odpovědi jsou. Hra by je například měla informovat, jestli jim je „teplo“. V opačném případě, pokud jsou daleko od čísla, hra by jim měla sdělit, že jsou „chladnější“.
- Upravte příkaz if, který uživateli říká, zda vyhrál. Pokud stále neuhádli správnou odpověď, dejte jim vědět, zda je skutečná odpověď vyšší nebo nižší.
-li hádej == odpověď:
tisk("Gratulujeme! Tipli jste správné číslo. Vyhráváte!")
přestávka
elif hádej < odpověď:
tisk("To číslo je vyšší.")
jiný:
tisk("Číslo je nižší.") - Přidejte další příkaz if a přidejte další rady. To jim řekne, zda se k číslu přibližují nebo jsou „teplejší“. Pomocí absolutní funkce určete vzdálenost mezi odhadem a odpovědí. Pokud jsou například od odpovědi vzdáleni méně než 10 čísel, hra vypíše „Jsi teplý“:
-li abs (hádej - odpověď) <= 10:
tisk("Jsi teplý!")
elif abs (hádej - odpověď) <= 20:
tisk("Je ti tepleji.")
elif abs (hádej - odpověď) <= 30:
tisk("Je ti zima.")
jiný:
tisk("Zmrzneš.")
Jak změnit obtížnost hry
Můžete požádat uživatele, aby si zvolil úroveň obtížnosti. Úroveň obtížnosti určuje, kolik má hráč pokusů o uhodnutí a jak daleko je rozsah odhadu.
- Na začátku hry požádejte uživatele, aby zvolil úroveň obtížnosti:
tisk("Vítejte ve hře na hádání čísel!")
tisk("")
zatímcoSkutečný:
úroveň = vstup("Vyberte úroveň obtížnosti (snadná, střední, těžká): ").dolní() - Přidejte nějaké ověření, abyste se ujistili, že hráč zadá pouze možnosti „snadné“, „střední“ nebo „těžké“. Pokud uživatel zadá neplatnou odpověď, hra jej požádá o opětovné zadání úrovně obtížnosti.
-li úroveň v ["snadný", "střední", "tvrdý"]:
přestávka
jiný:
tisk("Neplatný vstup. Vyberte buď „snadné“, „střední“ nebo „těžké“.) - Před vygenerováním náhodného čísla použijte obtížnost hráče k určení, kolik tipů může mít. Můžete také použít jejich vybranou úroveň obtížnosti k určení, jak velký je rozsah odhadu:
-li úroveň == "snadný":
odhad_rozsah = 50
odhady_povoleny = 20
elif úroveň == "střední":
odhad_rozsah = 100
odhady_povoleny = 15
jiný:
odhad_rozsah = 150
odhady_povoleny = 10odpověď = random.randint(1, rozsah_odhadu)
Jak hrát hru
Nyní, když máte veškerou logiku hry, můžete ji hrát v příkazovém řádku. Můžete si také prohlédnout celý příklad tipovací hry na GitHub.
- Otevřete příkazový řádek nebo terminál a přejděte do složky, kde jste uložili skript Python. Pokud jste například skript uložili na plochu, příkaz by vypadal takto:
cd C:\Users\Sharl\Desktop
- Použijte krajta příkaz pro spuštění vašeho skriptu Python:
python number-guessing-game.py
- Zadejte úroveň obtížnosti.
- Zadejte čísla do příkazového řádku a pokuste se uhodnout číslo.
Naučte se programovat vytvářením jednoduchých her
Nyní chápete, jak vytvořit a spustit jednoduchou hru pomocí jediného skriptu Python. Pokračujte ve své vzdělávací cestě zkoumáním dalších zajímavých nápadů na projekty. Jedním z příkladů je pokusit se vytvořit zametač Ping v Pythonu.