Podle Sharlene Khan
PodíltweetPodílE-mailem

Procvičte si programování v Pythonu pomocí jednoduchého zpracování textu a rozhodování, abyste vytvořili hratelnou hru.

Textová adventura je zábavný projekt, který můžete podniknout, pokud se učíte programovat. Pomocí Pythonu můžete vytvořit textovou adventuru, spustit ji v příkazovém řádku a změnit příběh na základě textu, který hráč zadá.

Skript Python pokryje několik druhů základních programovacích konceptů. To zahrnuje tiskové příkazy, příkazy if a funkce.

Jak vytvořit skript Python a přidat obsah příběhu

Skript můžete vytvořit pomocí standardního textového souboru s příponou .py. Pokud nejste obeznámeni se syntaxí Pythonu, podívejte se na některé základní příklady Pythonu, které vám mohou pomoci rychleji se to naučit. Můžete se podívat i na jiné užitečné jednolinky Pythonu vykonávat určité úkoly.

V hlavní funkci souboru Python nastavte svůj příběh a uvítací zprávu.

  1. Vytvořte nový soubor s názvem „AdventureGame.py“.
  2. instagram viewer
  3. V souboru přidejte hlavní spouštěcí funkci. Funkce bude obsahovat krátký úvodní příběh, který hráče přivítá v dobrodružné hře. Poté zavolá další volanou funkci introScene().
    pokud __jméno__ == "__hlavní__":
    zatímcoSkutečný:
    tisk("Vítejte v dobrodružné hře!")
    tisk("Tak jako jako vášnivý cestovatel jste se rozhodli navštívit pařížské katakomby.").
    tisk("Během svého průzkumu se však ocitnete ztraceni.")
    tisk("Můžete se rozhodnout jít více směry, abyste našli cestu ven.")
    tisk ("Pojďme Starts vaše název: ")
    jméno = vstup()
    tisk("Hodně štěstí, " +jméno+ ".")
    introScene()

Jak vytvořit více scén a možností v příběhu

Váš příběh bude obsahovat několik scén nebo "místností". Pro každou scénu můžete vytvořit funkci, abyste ji mohli později znovu použít, pokud hráč znovu vstoupí do stejné místnosti.

Každá scéna bude mít také různé možnosti, kam jít. Před kódováním scénářů je dobré zmapovat svůj příběh, abyste se ujistili, že je váš příběh dobře zorganizovaný.

Každá scéna bude mít seznam platných směrů a příkaz if pro více cest, kterými se hráč může vydat. V závislosti na cestě, kterou hráč projde, program zavolá další scénu.

Vytvořte funkce pro scény, které se v příběhu vyskytnou.

  1. Vytvořte introScene() funkce nad hlavní funkcí. Přidejte zprávu a pokyny, kterými může hráč jít.
    defintroScene():
    směry = ["vlevo, odjet","že jo","vpřed"]
    tisk("Jste na křižovatce a můžete se rozhodnout jít kteroukoli ze čtyř chodeb. Kam bys chtěl jít?")
    userInput = ""
    zatímco userInput ne v Pokyny:
    tisk("Možnosti: vlevo/vpravo/vzad/vpřed")
    userInput = input()
    if userInput == "vlevo, odjet":
    showShadowFigure()
    elif userInput == "že jo":
    showSkeletons()
    elif userInput == "vpřed":
    strašidelný pokoj()
    elif userInput == "dozadu":
    tisk("Zjistíte, že tyto dveře se otevírají do zdi.")
    jiný:
    tisk("Zadejte platnou možnost.")
  2. V závislosti na zadání uživatele program vyvolá další scénu. Pokud například hráč napíše „vlevo“, program zobrazí scénu showShadowFigure() k hráči. Pokud se hráč z této místnosti vrátí zpět, hra jej vrátí zpět na úvodní scénu. Pokud půjdou doleva nebo doprava, vstoupí buď do jiné místnosti, nebo se dostanou do slepé uličky.
    defshowShadowFigure():
    směry = ["že jo","dozadu"]
    tisk("Vidíte, jak se v dálce objevuje temná stínová postava. Jsi vyděšený. Kam bys chtěl jít?")
    userInput = ""
    zatímco userInput ne v Pokyny:
    tisk("Možnosti: vpravo/vlevo/vzad")
    userInput = input()
    if userInput == "že jo":
    cameraScene()
    elif userInput == "vlevo, odjet":
    tisk("Zjistíte, že tyto dveře se otevírají do zdi.")
    elif userInput == "dozadu":
    introScene()
    jiný:
    tisk("Zadejte platnou možnost.")
  3. Přidejte scénu fotoaparátu, pokud odbočí doprava. Zde může hráč najít jeden z východů. Zavolej přestat() funkce pro ukončení hry. Přehrávač se také může rozhodnout, že se přesune zpět na předchozí scénu.
    defkameraScene():
    směry = ["vpřed","dozadu"]
    tisk("Vidíte kameru, která spadla na zem. Nedávno tu někdo byl. Kam bys chtěl jít?")
    userInput = ""
    zatímco userInput ne v Pokyny:
    tisk("Možnosti: vpřed/vzad")
    userInput = input()
    if userInput == "vpřed":
    tisk("Dokázal jsi to! Vy'našel východ.")
    přestat()
    elif userInput == "dozadu":
    showShadowFigure()
    jiný:
    tisk("Zadejte platnou možnost.")
  4. Zpět na začátek dobrodružné hry, budete ještě muset přidat funkce pro zbývající scény. Přidat strašidelný pokoj() scéna, pokud se hráč rozhodne postoupit vpřed. Tím také skončí hra v závislosti na volbě hráče.
    defstrašidelný pokoj():
    směry = ["že jo","vlevo, odjet","dozadu"]
    tisk("Slyšíte divné hlasy. Myslíte si, že jste probudili některé mrtvé. Kam bys chtěl jít?")
    userInput = ""
    zatímco userInput ne v Pokyny:
    tisk("Možnosti: vpravo/vlevo/vzad")
    userInput = input()
    if userInput == "že jo":
    print("Více stvoření podobných goulům Start vznikající tak jako vejdete do místnosti. Vy jsou zabit.")
    přestat()
    elif userInput == "vlevo, odjet":
    tisk("Dokázal jsi to! Vy'našel východ.")
    přestat()
    elif userInput == "dozadu":
    introScene()
    jiný:
    tisk("Zadejte platnou možnost.")
  5. Do hry můžete přidat i zajímavější obsah. Vytvořte globální proměnnou úplně nahoře v souboru nazvanou „zbraň“. Bude to buď pravda, nebo nepravda, podle toho, jestli to hráč najde.
    zbraň = Nepravdivé
  6. V jedné z místností nastavte proměnnou zbraně na true, pokud ji hráč najde. V případě potřeby jej hráč může použít ve vedlejší místnosti.
    defshowSkeletons():
    směry = ["dozadu","vpřed"]
    globální zbraň
    tisk(„Vidíte zeď z koster tak jako vejdete do místnosti. Někdo tě sleduje. Kam bys chtěl jít?")
    userInput = ""
    zatímco userInput ne v Pokyny:
    tisk("Možnosti: doleva/dozadu/vpřed")
    userInput = input()
    if userInput == "vlevo, odjet":
    tisk("Zjistíte, že tyto dveře se otevírají do zdi. Otevřete část sádrokartonu a objevíte nůž.")
    zbraň = Skutečný
    elif userInput == "dozadu":
    introScene()
    elif userInput == "vpřed":
    podivné stvoření()
    jiný:
    tisk("Zadejte platnou možnost.")
  7. Pokud hráč najde zbraň, může zabít nepřítele v další místnosti a najít jiný východ. Jinak je nepřítel zabije.
    defpodivné stvoření():
    akce = ["boj","uprchnout"]
    globální zbraň
    tisk(„Objevilo se zvláštní stvoření podobné goulovi. Můžete buď běžet nebo bojovat s tím. Co byste chtěli dělat?")
    userInput = ""
    zatímco userInput ne v akce:
    tisk("Možnosti: útěk/boj")
    userInput = input()
    if userInput == "boj":
    pokud zbraň:
    tisk ("Ty zabít goul s nůž ty nalezeno dříve. Po vpřed, najdete jednu z východy. Gratuluji!")
    jiný:
    tisk("Zabilo tě stvoření podobné goulovi.")
    přestat()
    elif userInput == "uprchnout":
    showSkeletons()
    jiný:
    tisk("Zadejte platnou možnost.")

Jak spustit skript Python

Skript můžete spustit pomocí terminálu nebo příkazového řádku. Jak zadáte vstup do terminálu, příběh se bude nadále posouvat vpřed k další scéně.

  1. Pomocí terminálu nebo příkazového řádku přejděte do umístění, kam jste soubor uložili.
    CD C:\Users\Sharl\Desktop\Python
  2. Spusťte skript.
    krajtaDobrodružná hra.py
  3. Úvodní zpráva vás přivítá, abyste mohli začít hrát hru.
  4. Zadejte z uvedených dostupných možností, například „doleva“, „doprava“ nebo „dozadu“. Pokud zadáte neplatný vstup, hra vás vyzve k zadání platného.
  5. Hru si také můžete zahrát znovu a vybrat si jinou cestu.

Zde si můžete stáhnout celý zdrojový kód projektu GitHub úložiště.

Vytvořte jednoduchou hru pomocí jediného skriptu Python

Můžete vytvořit textovou adventuru pomocí skriptu Python a spustit ji v terminálu nebo příkazovém řádku. Uvnitř souboru Python můžete hráči představit uvítací zprávu a úvodní příběh. Hráč pak může zadat své akce na základě možností, které předložíte.

Pokud se chcete stát zkušenějším vývojářem Pythonu, můžete se podívat na některé užitečné nástroje, které můžete použít nebo integrovat s Pythonem.

10 užitečných nástrojů pro vývojáře Pythonu

Přečtěte si další

PodíltweetPodílE-mailem

Související témata

  • Programování
  • Programování
  • Krajta
  • Vývoj her

O autorovi

Sharlene Khan (40 zveřejněných článků)

Shay pracuje na plný úvazek jako softwarový vývojář a rád píše příručky, které pomáhají ostatním. Má bakalářský titul v oboru IT a má předchozí zkušenosti se zajišťováním kvality a doučováním. Shay miluje hry a hru na klavír.

Více od Sharlene Khan

Přihlaste se k odběru našeho newsletteru

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné e-knihy a exkluzivní nabídky!

Chcete-li se přihlásit k odběru, klikněte sem