Bygg detta enkla spel för att förstärka dina Python-programmeringskoncept.
Att skapa spel i Python är ett bra sätt att lära sig grundläggande programmeringskoncept och bygga en starkare grund i programmering. Ett av spelen du kan skapa är ett enkelt gissningsspel.
Du kan skapa talgissningsspelet med ett enda Python-skript. För att spela spelet, kör skriptet med en kommandorad eller terminal.
För att göra spelet mer intressant kan du lägga till några ytterligare spelkoncept. Detta inkluderar möjligheten att ge tips till spelaren, eller möjligheten att ändra spelets svårighetsgrad.
Hur man genererar ett slumptal
Du kan börja med att skapa ett nytt Python-skript med en .py förlängning för att hålla logiken för spelet. Inuti, lägg till lite startkod för att generera ett slumptal mellan 1 och 50 för spelaren att gissa.
Om du inte är bekant med Python-syntax, ta en titt på några grundläggande Python-exempel för att få upp farten.
- Skapa en ny fil som heter nummer-gissningsspel.py. Öppna filen med valfri textredigerare, t.ex Visual Studio eller Atom.
- Överst i filen, importera slumpmässig modul:
importera slumpmässig
- Använd slumpmässig modulens randint() metod för att generera ett slumptal mellan 1 och 50:
gissningsintervall = 50
svar = random.randint(1, gissningsintervall) - Starta spelet och be spelaren att gissa numret:
skriva ut("Välkommen till talgissningsleken!")
skriva ut("")
userInput = input("Gissa en siffra mellan 1 och" + str (gissningsintervall) + ": ")
gissa = int (användarinmatning)
Hur man kontrollerar om användaren gissade rätt nummer
För att användaren ska vinna spelet, jämför användarens inmatning med det genererade slumptalet och kontrollera om det matchar.
- Medan användaren ännu inte har gissat rätt svar, be dem på nytt att ange en ny inmatning. Se till att dra in eventuell kapslad kod, eftersom Pythons struktur beror på korrekt indrag:
gissa = ""
medan gissa != svar:
userInput = input("Gissa en siffra mellan 1 och" + str (gissningsintervall) + ": ")
gissa = int (användarinmatning) - Om koden körs förbi while-slingan betyder det att de har gissat rätt svar:
skriva ut("Grattis! Du gissade rätt siffra. Du vinner!")
Hur man lägger till ett begränsat antal gissningar
För att begränsa spelaren från att fråga ett oändligt antal gånger kan du begränsa antalet gissningar.
- Deklarera en ny variabel i början av filen för att hålla reda på spelarens antal tillåtna gissningar. Ställ in den på 10, till att börja med:
gissningar_tillåtna = 10
- Ändra while-satsen till en for-loop, som bara upprepas för det begränsade antalet gissningar:
för i i intervall (gissningar_tillåtna):
userInput = input("Gissa en siffra mellan 1 och" + str (gissningsintervall) + ": ")
gissa = int (användarinmatning) - Inuti for-slingan, om en av gissningarna är rätt svar, bryt ut ur for-slingan:
om gissa == svar:
skriva ut("Grattis! Du gissade rätt siffra. Du vinner!")
ha sönder - Ändå, inuti for-slingan, lägg till en annan if-sats för att kontrollera om spelaren har nått sin gräns för antal gissningar. Om så är fallet, avsluta spelet:
om (i == gissningar_tillåtna - 1):
skriva ut("Förlåt, du har slut på gissningar. Du förlorar!")
Hur man lägger till tips till spelet
Lägg till ytterligare en funktion till spelet för att ge spelaren några tips. Ett tips kan inkludera att låta dem veta om de behöver gissa ett högre eller lägre nummer.
Ett annat tips är att berätta för dem hur nära eller långt de är från svaret. Till exempel bör spelet informera dem om de blir "varmare". Annars, om de är långt ifrån antalet, bör spelet berätta för dem att de blir "kallare".
- Ändra if-satsen som talar om för användaren om de har vunnit. Om de fortfarande inte gissade rätt svar, låt dem veta om det faktiska svaret är högre eller lägre.
om gissa == svar:
skriva ut("Grattis! Du gissade rätt siffra. Du vinner!")
ha sönder
elif gissa < svar:
skriva ut("Siffran är högre.")
annan:
skriva ut("Siffran är lägre.") - Lägg till en annan if-sats för att lägga till ytterligare tips. Detta kommer att berätta för dem om de kommer närmare eller "varmare" till numret. Använd den absoluta funktionen för att bestämma avståndet mellan gissningen och svaret. Till exempel, om de är mindre än 10 nummer från svaret, kommer spelet att skriva ut "Du är varm":
om abs (gissa - svar) <= 10:
skriva ut("Du är varm!")
elif abs (gissa - svar) <= 20:
skriva ut("Du blir varmare.")
elif abs (gissa - svar) <= 30:
skriva ut("Du är kall.")
annan:
skriva ut("Du fryser.")
Hur man ändrar spelets svårighetsgrad
Du kan be användaren att välja en svårighetsgrad. Svårighetsgraden avgör hur många gissningsförsök spelaren har och hur långt gissningsräckvidden är.
- I början av spelet, be användaren att välja en svårighetsnivå:
skriva ut("Välkommen till talgissningsleken!")
skriva ut("")
medanSann:
nivå = ingång("Välj svårighetsgrad (lätt, medel, svår):").lägre() - Lägg till lite validering för att se till att spelaren bara skriver in alternativen "lätt", "medium" eller "svårt". Om användaren anger ett ogiltigt svar, kommer spelet att be dem att återgå till en svårighetsnivå.
om nivå i ["lätt", "medium", "hård"]:
ha sönder
annan:
skriva ut("Felaktig input. Välj antingen 'lätt', 'medium' eller 'svårt'.") - Innan du genererar slumptalet, använd spelarens svårighetsgrad för att avgöra hur många gissningar de kan ha. Du kan också använda deras valda svårighetsgrad för att avgöra hur stort gissningsintervallet är:
om nivå == "lätt":
gissningsintervall = 50
gissningar_tillåtna = 20
elif nivå == "medium":
gissningsintervall = 100
gissningar_tillåtna = 15
annan:
gissningsintervall = 150
gissningar_tillåtna = 10svar = random.randint(1, gissningsintervall)
Hur man spelar spelet
Nu när du har all logik för spelet kan du spela det i en kommandotolk. Du kan också se exemplet på gissningsspelet för fullt antal på GitHub.
- Öppna en kommandotolk eller terminal och navigera till mappen där du lagrade ditt Python-skript. Om du till exempel lagrade ditt skript på skrivbordet skulle kommandot se ut så här:
cd C:\Users\Sharl\Desktop
- Använd pytonorm kommando för att köra ditt Python-skript:
python number-guessing-game.py
- Ange en svårighetsgrad.
- Ange siffror i kommandotolken för att försöka gissa numret.
Lär dig programmering genom att skapa enkla spel
Nu förstår du hur du skapar och kör ett enkelt spel med ett enda Python-skript. Fortsätt din inlärningsresa genom att utforska andra intressanta projektidéer. Ett exempel på detta är att prova att bygga en Ping-sweeper i Python.