Öva din Python-programmering med lite enkel textbearbetning och beslutshantering för att skapa ett spelbart spel.
Ett textäventyrsspel är ett roligt projekt du kan genomföra om du lär dig programmera. Du kan skapa ett textäventyrsspel med Python, köra det på en kommandorad och ändra berättelsen baserat på texten som spelaren skriver in.
Python-skriptet kommer att täcka flera typer av grundläggande programmeringskoncept. Detta inkluderar utskriftssatser, if-satser och funktioner.
Hur man skapar Python-skriptet och lägger till berättelseinnehåll
Du kan skapa ett skript med en vanlig textfil med filtillägget .py. Om du inte är bekant med Python-syntax, ta en titt på några grundläggande Python-exempel som kan hjälpa dig att lära dig det snabbare. Du kan också titta på andra användbara Python one-liners att utföra vissa uppgifter.
I huvudfunktionen för Python-filen, ställ in din berättelse och välkomstmeddelande.
- Skapa en ny fil som heter "AdventureGame.py".
- Lägg till huvudstartfunktionen i filen. Funktionen kommer att innehålla en kort öppningshistoria för att välkomna spelaren till äventyrsspelet. Den kommer då att anropa en annan funktion som kallas introScene().
om __namn__ == "__huvud__":
medanSann:
skriva ut("Välkommen till äventyrsspelet!")
skriva ut("Som en ivrig resenär har du bestämt dig för att besöka katakomberna i Paris.")
skriva ut("Men under din utforskning finner du dig själv förlorad.")
skriva ut("Du kan välja att gå i flera riktningar för att hitta en väg ut.")
print("Låt oss Startmed din namn: ")
namn = input()
skriva ut("Lycka till, " +namn+ ".")
introScene()
Hur man skapar flera scener och alternativ i berättelsen
Din berättelse kommer att innehålla flera scener eller "rum". Du kan skapa en funktion för varje scen så att du kan återanvända den senare om spelaren hamnar i samma rum igen.
Varje scen kommer också att ha olika val av vart de ska gå. Det är en bra idé att kartlägga din berättelse innan du kodar scenarierna, för att se till att din berättelse är välorganiserad.
Varje scen kommer att ha en lista med giltiga vägbeskrivningar och ett om-uttalande för de flera vägar som spelaren kan ta. Beroende på vilken väg spelaren tar kommer programmet att anropa nästa scen.
Skapa funktioner för scenerna som kommer att uppstå i berättelsen.
- Skapa introScene() funktion ovanför huvudfunktionen. Lägg till ett meddelande och anvisningarna som spelaren kan gå in i.
defintroScen():
vägbeskrivning = ["vänster","höger","fram-"]
skriva ut("Du står vid ett vägskäl och du kan välja att gå ner i någon av de fyra korridorerna. Vart skulle du vilja gå?")
userInput = ""
medan userInput inte i vägbeskrivning:
skriva ut("Alternativ: vänster/höger/bakåt/framåt")
userInput = input()
om användarinmatning == "vänster":
showShadowFigure()
elif userInput == "höger":
showSkeletons()
elif userInput == "fram-":
HauntedRoom()
elif userInput == "bakåt":
skriva ut("Du upptäcker att den här dörren öppnas in i en vägg.")
annan:
skriva ut("Vänligen ange ett giltigt alternativ.") - Beroende på användarens inmatning kommer programmet att anropa en annan scen. Till exempel, om spelaren skriver "vänster", kommer programmet att visa scenen showShadowFigure() till spelaren. Från det här rummet, om spelaren går bakåt, tar spelet dem tillbaka till introscenen. Om de går till vänster eller höger kommer de antingen in i ett annat rum eller hamna i en återvändsgränd.
defshowShadowFigure():
vägbeskrivning = ["höger","bakåt"]
skriva ut("Du ser en mörk skuggig figur visas på avstånd. Du är rädd. Vart skulle du vilja gå?")
userInput = ""
medan userInput inte i vägbeskrivning:
skriva ut("Alternativ: höger/vänster/bakåt")
userInput = input()
om användarinmatning == "höger":
cameraScene()
elif userInput == "vänster":
skriva ut("Du upptäcker att den här dörren öppnas in i en vägg.")
elif userInput == "bakåt":
introScene()
annan:
skriva ut("Vänligen ange ett giltigt alternativ.") - Lägg till kamerascenen för om de svänger till höger. Det är här spelaren kan hitta en av utgångarna. Ring sluta med() funktion för att avsluta spelet. Spelaren kan också fortfarande välja att gå bakåt till föregående scen.
defkameraScen():
vägbeskrivning = ["fram-","bakåt"]
skriva ut("Du ser en kamera som har tappats på marken. Någon har varit här nyligen. Vart skulle du vilja gå?")
userInput = ""
medan userInput inte i vägbeskrivning:
skriva ut("Alternativ: framåt/bakåt")
userInput = input()
om användarinmatning == "fram-":
skriva ut("Du gjorde det! Du'har hittat en utgång.")
sluta med()
elif userInput == "bakåt":
showShadowFigure()
annan:
skriva ut("Vänligen ange ett giltigt alternativ.") - Tillbaka till början av äventyrsspelet, du kommer fortfarande att behöva lägga till funktionerna för de återstående scenerna. Lägg till HauntedRoom() scen för om spelaren väljer att gå framåt. Detta kommer också att avsluta spelet beroende på spelarens val.
defhemsökt Rum():
vägbeskrivning = ["höger","vänster","bakåt"]
skriva ut("Du hör konstiga röster. Du tror att du har väckt några av de döda. Vart skulle du vilja gå?")
userInput = ""
medan userInput inte i vägbeskrivning:
skriva ut("Alternativ: höger/vänster/bakåt")
userInput = input()
om användarinmatning == "höger":
print("Flera goulliknande varelser Start framväxande som du kommer in i rummet. Du är dödade.")
sluta med()
elif userInput == "vänster":
skriva ut("Du gjorde det! Du'har hittat en utgång.")
sluta med()
elif userInput == "bakåt":
introScene()
annan:
skriva ut("Vänligen ange ett giltigt alternativ.") - Du kan också lägga till mer intressant innehåll till spelet. Skapa en global variabel, högst upp i filen, kallad "vapen". Det kommer antingen att vara sant eller falskt beroende på om spelaren hittar det.
vapen = Falsk
- I ett av rummen ställer du in vapenvariabeln till sant om spelaren hittar den. Spelaren kan använda den i nästa rum om det behövs.
defvisa Skelett():
vägbeskrivning = ["bakåt","fram-"]
global vapen
skriva ut("Du ser en vägg av skelett som du går in i rummet. Någon tittar på dig. Vart skulle du vilja gå?")
userInput = ""
medan userInput inte i vägbeskrivning:
skriva ut("Alternativ: vänster/bakåt/framåt")
userInput = input()
om användarinmatning == "vänster":
skriva ut("Du upptäcker att den här dörren öppnas in i en vägg. Du öppnar en del av gipsskivan för att upptäcka en kniv.")
vapen = Sann
elif userInput == "bakåt":
introScene()
elif userInput == "fram-":
konstig varelse()
annan:
skriva ut("Vänligen ange ett giltigt alternativ.") - Om spelaren hittar vapnet kan de döda fienden i nästa rum och hitta en annan utgång. Annars kommer fienden att döda dem.
defkonstig varelse():
åtgärder = ["bekämpa","fly"]
global vapen
skriva ut("En konstig goulliknande varelse har dykt upp. Du kan antingen springa eller Kämpa emot det. Vad skulle du vilja do?")
userInput = ""
medan userInput inte i åtgärder:
skriva ut("Alternativ: fly/strid")
userInput = input()
om användarinmatning == "bekämpa":
om vapen:
print("Du döda goulen med kniven du hittades tidigare. Efter när du går framåt hittar du en av utgångarna. Grattis!")
annan:
skriva ut("Den goulliknande varelsen har dödat dig.")
sluta med()
elif userInput == "fly":
showSkeletons()
annan:
skriva ut("Vänligen ange ett giltigt alternativ.")
Hur man kör Python-skriptet
Du kan köra skriptet med en terminal eller kommandotolk. När du anger input i terminalen kommer historien att fortsätta att gå vidare till nästa scen.
- Använd en terminal eller kommandotolk och navigera till platsen där du lagrade filen.
CD C:\Users\Sharl\Desktop\Python
- Kör skriptet.
pytonormÄventyrsspel.py
- Inledningsmeddelandet välkomnar dig att börja spela spelet.
- Skriv från de tillgängliga alternativen i listan, till exempel "vänster", "höger" eller "bakåt". Om du anger en ogiltig inmatning kommer spelet att uppmana dig att ange en giltig.
- Du kan också spela om spelet för att välja en annan väg.
Du kan ladda ner hela källkoden för projektet från denna GitHub förvaret.
Skapa ett enkelt spel med bara ett Python-skript
Du kan skapa ett textäventyrsspel med ett Python-skript och köra det på en terminal eller kommandorad. Inuti Python-filen kan du presentera spelaren med ett välkomnande meddelande och en inledande berättelse. Spelaren kan sedan skriva in sina handlingar baserat på de alternativ du presenterar.
Om du vill bli en mer väl avrundad Python-utvecklare kan du ta en titt på några av de användbara verktyg som du kan använda eller integrera med Python.