Door Sharlene Khan
DeelTweetenDeelE-mail

Oefen je Python-programmering met wat eenvoudige tekstverwerking en besluitvorming om een ​​speelbaar spel te maken.

Een tekstavonturenspel is een leuk project dat je kunt ondernemen als je leert programmeren. Je kunt een tekstavonturenspel maken met Python, het uitvoeren in een opdrachtregel en het verhaal wijzigen op basis van de tekst die de speler invoert.

Het Python-script behandelt verschillende soorten fundamentele programmeerconcepten. Dit omvat print-instructies, if-statements en functies.

Hoe het Python-script te maken en verhaalinhoud toe te voegen

U kunt een script maken met behulp van een standaard tekstbestand met de extensie .py. Als je niet bekend bent met de Python-syntaxis, kijk dan eens naar wat basisvoorbeelden van Python die u kunnen helpen het sneller te leren. Je kunt ook naar andere kijken handige Python-oneliners om bepaalde taken uit te voeren.

Stel in de hoofdfunctie van het Python-bestand je verhaal en welkomstbericht in.

instagram viewer
  1. Maak een nieuw bestand met de naam "AdventureGame.py".
  2. Voeg in het bestand de hoofdstartfunctie toe. De functie zal een kort openingsverhaal bevatten om de speler welkom te heten in het avonturenspel. Het zal dan een andere functie aanroepen met de naam introScène().
    if __name__ == "__hoofd__":
    terwijlWAAR:
    afdrukken("Welkom bij het avonturenspel!")
    afdrukken("Net zo een fervent reiziger, je hebt besloten om de Catacomben van Parijs te bezoeken.")
    afdrukken("Tijdens je verkenning merk je echter dat je verdwaald bent.")
    afdrukken("Je kunt ervoor kiezen om in meerdere richtingen te lopen om een ​​uitweg te vinden.")
    print("Laten we beginmet uw naam: ")
    naam = invoer()
    afdrukken("Veel geluk, " +naam+ ".")
    introScène()

Meerdere scènes en opties in het verhaal maken

Je verhaal zal verschillende scènes of "kamers" bevatten. U kunt voor elke scène een functie maken, zodat u deze later opnieuw kunt gebruiken als de speler dezelfde ruimte opnieuw betreedt.

Elke scène heeft ook verschillende keuzes van waar te gaan. Het is een goed idee om uw verhaal in kaart te brengen voordat u de scenario's codeert, om ervoor te zorgen dat uw verhaal goed georganiseerd is.

Elke scène heeft een lijst met geldige aanwijzingen en een if-statement voor de meerdere paden die de speler kan nemen. Afhankelijk van het pad dat de speler neemt, roept het programma de volgende scène op.

Maak functies voor de scènes die in het verhaal zullen voorkomen.

  1. Maak de introScène() functie boven de hoofdfunctie. Voeg een bericht toe en de aanwijzingen waar de speler in kan lopen.
    zekerintroScène():
    richtingen = ["links","Rechtsaf","naar voren"]
    afdrukken("Je staat op een kruispunt en je kunt ervoor kiezen om door een van de vier gangen te gaan. Waar zou je heen willen?")
    gebruikersinvoer = ""
    terwijl gebruikersinvoer niet in routebeschrijving:
    afdrukken("Opties: links/rechts/achteruit/vooruit")
    gebruikersinvoer = invoer()
    if userInput == "links":
    showShadowFiguur()
    elif gebruikersinvoer == "Rechtsaf":
    showSkeletons()
    elif gebruikersinvoer == "naar voren":
    spookkamer()
    elif gebruikersinvoer == "achteruit":
    afdrukken("Je merkt dat deze deur uitkomt in een muur.")
    anders:
    afdrukken("Voer een geldige optie in.")
  2. Afhankelijk van de invoer van de gebruiker zal het programma een andere scène oproepen. Als de speler bijvoorbeeld "links" typt, zal het programma de scène weergeven showShadowFiguur() aan de speler. Als de speler vanuit deze kamer achteruit gaat, brengt het spel hem terug naar de introscène. Als ze naar links of naar rechts gaan, komen ze ofwel een andere kamer binnen of komen ze op een doodlopende weg terecht.
    zekertoonSchaduwFiguur():
    richtingen = ["Rechtsaf","achteruit"]
    afdrukken("Je ziet in de verte een donkere schaduwfiguur verschijnen. Je bent uitgestorven. Waar zou je heen willen?")
    gebruikersinvoer = ""
    terwijl gebruikersinvoer niet in routebeschrijving:
    afdrukken("Opties: rechts/links/achteruit")
    gebruikersinvoer = invoer()
    if userInput == "Rechtsaf":
    cameraScène()
    elif gebruikersinvoer == "links":
    afdrukken("Je merkt dat deze deur uitkomt in een muur.")
    elif gebruikersinvoer == "achteruit":
    introScène()
    anders:
    afdrukken("Voer een geldige optie in.")
  3. Voeg de camerascène toe voor als ze rechtsaf slaan. Hier kan de speler een van de uitgangen vinden. Bel de ontslag nemen() functie om het spel te beëindigen. De speler kan er ook voor kiezen om terug te gaan naar de vorige scène.
    zekercameraScène():
    richtingen = ["naar voren","achteruit"]
    afdrukken("Je ziet een camera die op de grond is gevallen. Er is hier onlangs iemand geweest. Waar zou je heen willen?")
    gebruikersinvoer = ""
    terwijl gebruikersinvoer niet in routebeschrijving:
    afdrukken("Opties: vooruit/achteruit")
    gebruikersinvoer = invoer()
    if userInput == "naar voren":
    afdrukken("Je hebt het gehaald! Jij'heb een uitgang gevonden.")
    ontslag nemen()
    elif gebruikersinvoer == "achteruit":
    showShadowFiguur()
    anders:
    afdrukken("Voer een geldige optie in.")
  4. Terug naar het begin van het avonturenspel, moet je nog steeds de functies voor de resterende scènes toevoegen. Voeg de. toe spookkamer() scène voor als de speler ervoor kiest om vooruit te gaan. Dit zal ook het spel beëindigen, afhankelijk van de keuze van de speler.
    zekerspookkamer():
    richtingen = ["Rechtsaf","links","achteruit"]
    afdrukken("Je hoort vreemde stemmen. Je denkt dat je een aantal doden hebt gewekt. Waar zou je heen willen?")
    gebruikersinvoer = ""
    terwijl gebruikersinvoer niet in routebeschrijving:
    afdrukken("Opties: rechts/links/achteruit")
    gebruikersinvoer = invoer()
    if userInput == "Rechtsaf":
    print("Meerdere goul-achtige wezens begin opkomend net zo je komt de kamer binnen. Jij zijn gedood.")
    ontslag nemen()
    elif gebruikersinvoer == "links":
    afdrukken("Je hebt het gehaald! Jij'heb een uitgang gevonden.")
    ontslag nemen()
    elif gebruikersinvoer == "achteruit":
    introScène()
    anders:
    afdrukken("Voer een geldige optie in.")
  5. Je kunt ook meer interessante inhoud aan het spel toevoegen. Maak een globale variabele, helemaal bovenaan het bestand, genaamd "wapen". Het zal waar of onwaar zijn, afhankelijk van of de speler het vindt.
    wapen = niet waar
  6. Stel in een van de kamers de wapenvariabele in op waar als de speler het vindt. De speler kan het indien nodig in de volgende kamer gebruiken.
    zekershowSkeletons():
    richtingen = ["achteruit","naar voren"]
    globaal wapen
    afdrukken("Je ziet een muur van skeletten net zo je loopt de kamer binnen. Iemand houdt je in de gaten. Waar zou je heen willen?")
    gebruikersinvoer = ""
    terwijl gebruikersinvoer niet in routebeschrijving:
    afdrukken("Opties: links/achteruit/vooruit")
    gebruikersinvoer = invoer()
    if userInput == "links":
    afdrukken("Je merkt dat deze deur uitkomt in een muur. Je opent een deel van de gipsplaat om een ​​mes te ontdekken.")
    wapen = WAAR
    elif gebruikersinvoer == "achteruit":
    introScène()
    elif gebruikersinvoer == "naar voren":
    vreemd wezen()
    anders:
    afdrukken("Voer een geldige optie in.")
  7. Als de speler het wapen vindt, kan hij de vijand in de volgende kamer doden en een andere uitgang vinden. Anders zal de vijand ze doden.
    zekervreemd wezen():
    acties = ["gevecht","vluchten"]
    globaal wapen
    afdrukken( "Er is een vreemd goul-achtig wezen verschenen. Je kunt ofwel rennen of vecht ertegen. Wat zou je willen doen?")
    gebruikersinvoer = ""
    terwijl gebruikersinvoer niet in acties:
    afdrukken("Opties: vluchten/vechten")
    gebruikersinvoer = invoer()
    if userInput == "gevecht":
    als wapen:
    print("Jij doden de goul met het mes jij gevonden eerder. Na als je vooruit gaat, vind je er een van de uitgangen. Gefeliciteerd!")
    anders:
    afdrukken("Het goul-achtige wezen heeft je vermoord.")
    ontslag nemen()
    elif gebruikersinvoer == "vluchten":
    showSkeletons()
    anders:
    afdrukken("Voer een geldige optie in.")

Hoe het Python-script uit te voeren

U kunt het script uitvoeren met behulp van een terminal of opdrachtprompt. Terwijl u invoer in de terminal invoert, gaat het verhaal verder naar de volgende scène.

  1. Navigeer met behulp van een terminal of opdrachtprompt naar de locatie waar u het bestand hebt opgeslagen.
    CD C:\Users\Sharl\Desktop\Python
  2. Voer het script uit.
    PythonAvontuurGame.py
  3. Het openingsbericht zal je verwelkomen om het spel te gaan spelen.
  4. Typ uit de beschikbare opties, zoals "links", "rechts" of "achteruit". Als je een ongeldige invoer invoert, zal het spel je om een ​​geldige vragen.
  5. Je kunt het spel ook opnieuw spelen om een ​​ander pad te kiezen.

U kunt hier de volledige broncode voor het project downloaden GitHub opslagplaats.

Maak een eenvoudig spel met slechts één Python-script

U kunt een tekstavonturenspel maken met behulp van een Python-script en dit uitvoeren in een terminal of opdrachtregel. In het Python-bestand kun je de speler een welkomstbericht en een eerste verhaal presenteren. De speler kan dan hun acties typen op basis van de opties die je presenteert.

Als je een meer complete Python-ontwikkelaar wilt worden, kun je enkele van de handige tools bekijken die je kunt gebruiken of integreren met Python.

10 Handige tools voor Python-ontwikkelaars

Lees volgende

DeelTweetenDeelE-mail

Gerelateerde onderwerpen

  • Programmeren
  • Programmeren
  • Python
  • Spelontwikkeling

Over de auteur

Sharlene Khan (40 artikelen gepubliceerd)

Shay werkt fulltime als softwareontwikkelaar en schrijft graag handleidingen om anderen te helpen. Ze heeft een Bachelor of IT en heeft eerdere ervaring in kwaliteitszorg en bijles. Shay houdt van gamen en piano spelen.

Meer van Sharlene Khan

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren