Gyakorolja Python programozását néhány egyszerű szövegfeldolgozással és döntéskezeléssel, hogy játszható játékot hozzon létre.
A szöveges kalandjáték egy szórakoztató projekt, amelyre akkor vállalkozhat, ha programozást tanul. Készíthet szöveges kalandjátékot a Python segítségével, futtathatja azt parancssorban, és megváltoztathatja a történetet a játékos által beírt szöveg alapján.
A Python szkript számos alapvető programozási koncepciót lefed. Ez magában foglalja a nyomtatási utasításokat, az if utasításokat és a függvényeket.
Python szkript létrehozása és történettartalom hozzáadása
Szkriptet létrehozhat szabványos, .py kiterjesztésű szövegfájl használatával. Ha nem ismeri a Python szintaxist, nézzen meg néhányat alapvető Python-példák, amelyek segíthetnek gyorsabban megtanulni. Megnézheted a többit is hasznos Python egysoros bizonyos feladatok elvégzésére.
A Python-fájl fő funkciójában állítsa be történetét és üdvözlő üzenetét.
- Hozzon létre egy új fájlt „AdventureGame.py” néven.
- Adja hozzá a fájlhoz a fő indító függvényt. A funkció tartalmazni fog egy rövid nyitótörténetet, amely üdvözli a játékost a kalandjátékban. Ezután meghív egy másik függvényt introScene().
ha __név__ == "__fő__":
mígIgaz:
nyomtatás("Üdvözöljük a Kalandjátékban!")
nyomtatás("Mint lelkes utazó, úgy döntött, hogy felkeresi Párizs katakombáit.")
nyomtatás("A felfedezés során azonban elveszettnek találja magát.")
nyomtatás("Dönthet úgy, hogy több irányba sétál, hogy megtalálja a kiutat.")
print("Hagyjuk Rajtval vel a te név: ")
név = input()
nyomtatás("Sok szerencsét, " +név+ ".")
introScene()
Hogyan hozzunk létre több jelenetet és opciót a történetben
A történeted több jelenetet vagy „szobát” fog tartalmazni. Minden jelenethez létrehozhat egy funkciót, hogy később újra felhasználhassa, ha a játékos ismét ugyanabba a helyiségbe kerül.
Minden jelenethez más választási lehetőség is tartozik, hogy hová menjen. A forgatókönyvek kódolása előtt célszerű feltérképezni a történetet, hogy megbizonyosodjon arról, hogy a története jól szervezett.
Minden jelenethez tartozik egy lista az érvényes útbaigazításokról és egy if-utasítás a játékos által választható több útvonalról. Attól függően, hogy a játékos milyen utat jár be, a program meghívja a következő jelenetet.
Hozzon létre függvényeket a történetben előforduló jelenetekhez.
- Hozd létre a introScene() funkció a fő funkció felett. Adjon hozzá egy üzenetet és az útbaigazítást, ahová a játékos besétálhat.
defintroScene():
irányok = ["bal","jobb","előre"]
nyomtatás("Válaszút előtt áll, és választhat, hogy végigmegy a négy folyosó bármelyikén. Hova szeretnél menni?")
userInput = ""
míg userInput nem ban ben útmutatás:
nyomtatás("Opciók: balra/jobbra/hátra/előre")
userInput = input()
ha userInput == "bal":
showShadowFigure()
elif userInput == "jobb":
mutat csontvázakat()
elif userInput == "előre":
Haunted Room()
elif userInput == "hátrafelé":
nyomtatás("Azt tapasztalod, hogy ez az ajtó falba nyílik.")
más:
nyomtatás("Adjon meg egy érvényes opciót.") - A felhasználó bevitelétől függően a program egy másik jelenetet hív meg. Például, ha a játékos beírja, hogy "bal", a program megjeleníti a jelenetet showShadowFigure() a játékosnak. Ebből a szobából, ha a játékos hátrafelé megy, a játék visszaviszi az intro jelenethez. Ha balra vagy jobbra mennek, vagy belépnek egy másik szobába, vagy zsákutcába jutnak.
defshowShadowFigure():
irányok = ["jobb","hátrafelé"]
nyomtatás("A távolban egy sötét, árnyékos alak jelenik meg. Ki vagy mászva. Hova szeretnél menni?")
userInput = ""
míg userInput nem ban ben útmutatás:
nyomtatás("Opciók: jobbra/balra/hátra")
userInput = input()
ha userInput == "jobb":
kameraScene()
elif userInput == "bal":
nyomtatás("Azt tapasztalod, hogy ez az ajtó falba nyílik.")
elif userInput == "hátrafelé":
introScene()
más:
nyomtatás("Adjon meg egy érvényes opciót.") - Adja hozzá a kamera jelenetét, ha jobbra fordulnak. Itt találhatja meg a játékos az egyik kijáratot. Hívja a Kilépés() funkciót a játék befejezéséhez. A játékos továbbra is dönthet úgy, hogy visszalép az előző jelenetre.
defcameraScene():
irányok = ["előre","hátrafelé"]
nyomtatás("Lát egy kamerát, amelyet a földre ejtettek. Nemrég járt itt valaki. Hova szeretnél menni?")
userInput = ""
míg userInput nem ban ben útmutatás:
nyomtatás("Opciók: előre/hátra")
userInput = input()
ha userInput == "előre":
nyomtatás("Megcsináltad! Ön'talált kijáratot.")
Kilépés()
elif userInput == "hátrafelé":
showShadowFigure()
más:
nyomtatás("Adjon meg egy érvényes opciót.") - Visszatérve a kalandjáték elejére, a többi jelenethez továbbra is hozzá kell adnod a funkciókat. Add hozzá a Haunted Room() jelenet, ha a játékos úgy dönt, hogy továbblép. Ezzel a játékos választásától függően a játék véget is ér.
defkísértetterem():
irányok = ["jobb","bal","hátrafelé"]
nyomtatás("Furcsa hangokat hallasz. Azt hiszed, felébresztettél néhány halottat. Hova szeretnél menni?")
userInput = ""
míg userInput nem ban ben útmutatás:
nyomtatás("Opciók: jobbra/balra/hátra")
userInput = input()
ha userInput == "jobb":
print("Több goul-szerű lény Rajt feltörekvő mint belépsz a szobába. Ön vannak megölték.")
Kilépés()
elif userInput == "bal":
nyomtatás("Megcsináltad! Ön'talált kijáratot.")
Kilépés()
elif userInput == "hátrafelé":
introScene()
más:
nyomtatás("Adjon meg egy érvényes opciót.") - További érdekes tartalmakat is hozzáadhat a játékhoz. Hozzon létre egy globális változót a fájl legtetején, úgynevezett "fegyver". Igaz vagy hamis lesz attól függően, hogy a játékos megtalálja-e.
fegyver = Hamis
- Az egyik szobában állítsa a fegyverváltozót igazra, ha a játékos megtalálja. A játékos szükség esetén használhatja a szomszéd szobában.
defshowCsontvázak():
irányok = ["hátrafelé","előre"]
globális fegyver
nyomtatás("Csontvázak falát látod mint bemész a szobába. Valaki figyel téged. Hova szeretnél menni?")
userInput = ""
míg userInput nem ban ben útmutatás:
nyomtatás("Opciók: balra/hátra/előre")
userInput = input()
ha userInput == "bal":
nyomtatás("Azt tapasztalod, hogy ez az ajtó falba nyílik. Kinyitod a gipszkarton egy részét, hogy kést találj.")
fegyver = Igaz
elif userInput == "hátrafelé":
introScene()
elif userInput == "előre":
különös teremtmény()
más:
nyomtatás("Adjon meg egy érvényes opciót.") - Ha a játékos megtalálja a fegyvert, megölheti az ellenséget a következő szobában, és találhat egy másik kijáratot. Ellenkező esetben az ellenség megöli őket.
defkülönös teremtmény():
akciók = ["harc","menekülni"]
globális fegyver
nyomtatás("Egy különös goulszerű lény jelent meg. Akár futhatsz is vagy harcolj ellene. Mit szeretnél csináld?")
userInput = ""
míg userInput nem ban ben akciók:
nyomtatás("Opciók: menekülés/harc")
userInput = input()
ha userInput == "harc":
ha fegyver:
print("Te megöl a goul val vel a kés te megtalált korábban. Után előre haladva talál egyet nak,-nek a kijáratokat. Gratula!")
más:
nyomtatás("A goulszerű lény megölt téged.")
Kilépés()
elif userInput == "menekülni":
mutat csontvázakat()
más:
nyomtatás("Adjon meg egy érvényes opciót.")
Hogyan kell futtatni a Python szkriptet
A szkriptet terminál vagy parancssor használatával futtathatja. Ahogy beírja a bemenetet a terminálba, a történet tovább halad a következő jelenetre.
- Terminál vagy parancssor használatával navigáljon arra a helyre, ahol a fájlt tárolta.
CD C:\Users\Sharl\Desktop\Python
- Futtassa a szkriptet.
pitonKalandjáték.py
- A nyitóüzenet üdvözli Önt, hogy elkezdje játszani a játékot.
- Írjon be a felsorolt elérhető lehetőségek közül, például „balra”, „jobbra” vagy „hátra”. Ha érvénytelen bevitelt adsz meg, a játék érvényes adatot kér.
- A játékot újrajátszhatod, hogy másik utat válassz.
Innen letöltheti a projekt teljes forráskódját GitHub adattár.
Hozzon létre egy egyszerű játékot egyetlen Python-szkript használatával
Létrehozhat szöveges kalandjátékot Python-szkript segítségével, amelyet terminálon vagy parancssorban futtathat. A Python-fájlon belül üdvözlő üzenetet és kezdeti történetet küldhet a lejátszónak. A játékos ezután beírhatja akcióit az Ön által bemutatott lehetőségek alapján.
Ha átfogóbb Python-fejlesztővé szeretne válni, megtekinthet néhány hasznos eszközt, amelyeket használhat vagy integrálhat a Pythonnal.