Harjoittele Python-ohjelmointiasi yksinkertaisella tekstinkäsittelyllä ja päätösten käsittelyllä luodaksesi pelattavan pelin.
Tekstiseikkailupeli on hauska projekti, jonka voit toteuttaa, jos opettelet ohjelmointia. Pythonilla voit tehdä tekstiseikkailupelin, ajaa sen komentorivillä ja muuttaa tarinaa pelaajan kirjoittaman tekstin perusteella.
Python-skripti kattaa monenlaisia perusohjelmointikonsepteja. Tämä sisältää print-lausekkeet, if-lauseet ja funktiot.
Python-skriptin luominen ja tarinasisällön lisääminen
Voit luoda komentosarjan käyttämällä tavallista tekstitiedostoa, jonka tunniste on .py. Jos et tunne Python-syntaksia, katso joitain Python-perusesimerkkejä, jotka voivat auttaa sinua oppimaan sen nopeammin. Voit myös katsoa muita hyödyllisiä Python-yksilinjaisia suorittamaan tiettyjä tehtäviä.
Aseta tarinasi ja tervetuloviestisi Python-tiedoston päätoiminnossa.
- Luo uusi tiedosto nimeltä "AdventureGame.py".
- Lisää tiedostoon pääaloitustoiminto. Toimintoon sisältyy lyhyt avaustarina, joka toivottaa pelaajan tervetulleeksi seikkailupeliin. Sitten se kutsuu toista toimintoa nimeltä introScene().
jos __nimi__ == "__main__":
sillä aikaaTotta:
Tulosta("Tervetuloa seikkailupeliin!")
Tulosta("Kuten innokas matkustaja, olet päättänyt vierailla Pariisin katakombeissa.")
Tulosta("Tutkimuksen aikana huomaat kuitenkin olevasi eksyksissä.")
Tulosta("Voit kävellä useisiin suuntiin löytääksesi tien ulos.")
print("Otetaan alkaakanssa sinun nimi: ")
nimi = input()
Tulosta("Onnea, " +nimi+ ".")
introScene()
Kuinka luoda tarinaan useita kohtauksia ja vaihtoehtoja
Tarinasi sisältää useita kohtauksia tai "huoneita". Voit luoda jokaiselle kohtaukselle toiminnon, jotta voit käyttää sitä myöhemmin uudelleen, jos pelaaja päätyy uudelleen samaan huoneeseen.
Jokaisessa kohtauksessa on myös erilaisia valintoja, minne mennä. Tarinasi on hyvä kartoittaa ennen skenaarioiden koodaamista varmistaaksesi, että tarinasi on hyvin järjestetty.
Jokaisessa kohtauksessa on luettelo kelvollisista ohjeista ja if-lause useille poluille, joita pelaaja voi kulkea. Riippuen pelaajan valitsemasta polusta, ohjelma kutsuu seuraavan kohtauksen.
Luo toimintoja tarinassa esiintyville kohtauksille.
- Luo introScene() toiminto päätoiminnon yläpuolella. Lisää viesti ja ohjeet, joihin pelaaja voi kävellä.
defintroScene():
ohjeet = ["vasemmalle","oikein","eteenpäin"]
Tulosta("Olet risteyksessä ja voit valita, haluatko mennä alas mitä tahansa neljästä käytävästä. Minne haluaisit mennä?")
userInput = ""
sillä aikaa userInput ei sisään ohjeet:
Tulosta("Vaihtoehdot: vasen/oikea/taakse/eteenpäin")
userInput = input()
jos userInput == "vasemmalle":
showShadowFigure()
elif userInput == "oikein":
näytä luurankoja()
elif userInput == "eteenpäin":
kummitushuone()
elif userInput == "taaksepäin":
Tulosta("Huomaat, että tämä ovi avautuu seinään.")
muu:
Tulosta("Anna kelvollinen vaihtoehto.") - Käyttäjän syötteestä riippuen ohjelma kutsuu toisen kohtauksen. Jos pelaaja esimerkiksi kirjoittaa "vasen", ohjelma näyttää kohtauksen showShadowFigure() pelaajalle. Jos pelaaja siirtyy tästä huoneesta taaksepäin, peli vie hänet takaisin introkohtaukseen. Jos he menevät vasemmalle tai oikealle, he joko menevät toiseen huoneeseen tai osuvat umpikujaan.
defnäytä ShadowFigure():
ohjeet = ["oikein","taaksepäin"]
Tulosta("Näet tumman varjoisen hahmon ilmestyvän kaukaisuuteen. Olet hiipinyt ulos. Minne haluaisit mennä?")
userInput = ""
sillä aikaa userInput ei sisään ohjeet:
Tulosta("Vaihtoehdot: oikea/vasen/taakse")
userInput = input()
jos userInput == "oikein":
kamerakohtaus()
elif userInput == "vasemmalle":
Tulosta("Huomaat, että tämä ovi avautuu seinään.")
elif userInput == "taaksepäin":
introScene()
muu:
Tulosta("Anna kelvollinen vaihtoehto.") - Lisää kamerakohtaus, jos he kääntyvät oikealle. Tästä pelaaja voi löytää yhden uloskäynneistä. Soita lopettaa() toiminto pelin lopettamiseksi. Pelaaja voi myös edelleen siirtyä taaksepäin edelliseen kohtaukseen.
defkamerakohtaus():
ohjeet = ["eteenpäin","taaksepäin"]
Tulosta("Näet kameran, joka on pudonnut maahan. Joku on käynyt täällä äskettäin. Minne haluaisit mennä?")
userInput = ""
sillä aikaa userInput ei sisään ohjeet:
Tulosta("Vaihtoehdot: eteen/taakse")
userInput = input()
jos userInput == "eteenpäin":
Tulosta("Sinä teit sen! Sinä'löysin uloskäynnin.")
lopettaa()
elif userInput == "taaksepäin":
showShadowFigure()
muu:
Tulosta("Anna kelvollinen vaihtoehto.") - Takaisin seikkailupelin alkuun, sinun on silti lisättävä toimintoja jäljellä oleville kohtauksille. Lisää kummitushuone() kohtaus, jos pelaaja päättää siirtyä eteenpäin. Tämä myös päättää pelin pelaajan valinnasta riippuen.
defkummitushuone():
ohjeet = ["oikein","vasemmalle","taaksepäin"]
Tulosta("Kuulet outoja ääniä. Luuletko heränneesi osan kuolleista. Minne haluaisit mennä?")
userInput = ""
sillä aikaa userInput ei sisään ohjeet:
Tulosta("Vaihtoehdot: oikea/vasen/taakse")
userInput = input()
jos userInput == "oikein":
print("Useita goul-kaltaisia olentoja alkaa esiin nousemassa kuten astut huoneeseen. Sinä ovat tapettu.")
lopettaa()
elif userInput == "vasemmalle":
Tulosta("Sinä teit sen! Sinä'löysin uloskäynnin.")
lopettaa()
elif userInput == "taaksepäin":
introScene()
muu:
Tulosta("Anna kelvollinen vaihtoehto.") - Voit myös lisätä peliin mielenkiintoista sisältöä. Luo globaali muuttuja aivan tiedoston yläosaan, nimeltä "ase". Se on joko totta tai epätosi sen mukaan, löytääkö pelaaja sen.
ase = Väärä
- Aseta jossakin huoneessa asemuuttujaksi tosi, jos pelaaja löytää sen. Pelaaja voi tarvittaessa käyttää sitä viereisessä huoneessa.
defnäyttää luurankoja():
ohjeet = ["taaksepäin","eteenpäin"]
maailmanlaajuisesti ase
Tulosta("Näet luurankojen seinän kuten kävelet huoneeseen. Joku tarkkailee sinua. Minne haluaisit mennä?")
userInput = ""
sillä aikaa userInput ei sisään ohjeet:
Tulosta("Vaihtoehdot: vasen/taakse/eteenpäin")
userInput = input()
jos userInput == "vasemmalle":
Tulosta("Huomaat, että tämä ovi avautuu seinään. Avaat osan kipsilevystä löytääksesi veitsen.")
ase = Totta
elif userInput == "taaksepäin":
introScene()
elif userInput == "eteenpäin":
outo olento()
muu:
Tulosta("Anna kelvollinen vaihtoehto.") - Jos pelaaja löytää aseen, hän voi tappaa vihollisen seuraavassa huoneessa ja löytää toisen uloskäynnin. Muuten vihollinen tappaa heidät.
defouto olento():
toimet = ["taistella","paeta"]
maailmanlaajuisesti ase
Tulosta("Outo goul-mainen olento on ilmestynyt. Voit joko juosta tai taistella sitä vastaan. Mitä haluaisit tehdä?")
userInput = ""
sillä aikaa userInput ei sisään Toiminnot:
Tulosta("Vaihtoehdot: pakene/taistele")
userInput = input()
jos userInput == "taistella":
jos ase:
print("Sinä tappaa goul kanssa veitsi sinä löytyi aikaisemmin. Jälkeen eteenpäin, löydät sellaisen / uloskäynnit. Onnittelut!")
muu:
Tulosta("Goul-kaltainen olento on tappanut sinut.")
lopettaa()
elif userInput == "paeta":
näytä luurankoja()
muu:
Tulosta("Anna kelvollinen vaihtoehto.")
Python-komentosarjan suorittaminen
Voit suorittaa komentosarjan käyttämällä päätettä tai komentokehotetta. Kun syötät syötteen terminaaliin, tarina jatkuu eteenpäin seuraavaan kohtaukseen.
- Siirry päätteen tai komentokehotteen avulla sijaintiin, johon tallensit tiedoston.
CD C:\Users\Sharl\Desktop\Python
- Suorita skripti.
pythonSeikkailupeli.py
- Aloitusviesti toivottaa sinut tervetulleeksi aloittamaan pelin pelaamisen.
- Kirjoita luettelossa olevista vaihtoehdoista, kuten "vasen", "oikea" tai "taaksepäin". Jos syötät virheellisen syötteen, peli pyytää sinua syöttämään kelvollisen syötteen.
- Voit myös pelata peliä uudelleen valitaksesi toisen polun.
Voit ladata projektin täyden lähdekoodin tästä GitHub arkisto.
Luo yksinkertainen peli yhdellä Python-skriptillä
Voit luoda tekstiseikkailupelin Python-skriptillä ja ajaa sen päätteellä tai komentorivillä. Python-tiedoston sisällä voit esittää soittimelle tervetuloviestin ja alustavan tarinan. Pelaaja voi sitten kirjoittaa toimintansa esittämiesi vaihtoehtojen perusteella.
Jos haluat olla monipuolisempi Python-kehittäjä, voit tutustua hyödyllisiin työkaluihin, joita voit käyttää tai integroida Pythonin kanssa.