Bygg dette enkle spillet for å styrke Python-programmeringskonseptene dine.
Å lage spill i Python er en fin måte å lære grunnleggende programmeringskonsepter, og bygge et sterkere grunnlag i programmering. Et av spillene du kan lage er et enkelt tall-gjettespill.
Du kan lage gjettespillet med et enkelt Python-skript. For å spille spillet, kjør skriptet ved hjelp av en kommandolinje eller terminal.
For å gjøre spillet mer interessant, kan du legge til noen ekstra spillkonsepter. Dette inkluderer muligheten til å gi hint til spilleren, eller muligheten til å endre spillets vanskelighetsgrad.
Hvordan generere et tilfeldig tall
Du kan starte med å lage et nytt Python-skript med en .py utvidelse for å holde logikken for spillet. Inni, legg til en startkode for å generere et tilfeldig tall mellom 1 og 50 som spilleren kan gjette.
Hvis du ikke er kjent med Python-syntaks, ta en titt på noen grunnleggende Python-eksempler for å få deg opp i fart.
- Opprett en ny fil kalt tall-gjetting-spill.py. Åpne filen med et hvilket som helst tekstredigeringsprogram, for eksempel Visual Studio eller Atom.
- På toppen av filen importerer du tilfeldig modul:
import tilfeldig
- Bruke tilfeldig moduler randint() metode for å generere et tilfeldig tall mellom 1 og 50:
gjetting_område = 50
svar = random.randint(1, gjetting_område) - Start spillet, og be spilleren gjette tallet:
skrive ut("Velkommen til tallgjetteleken!")
skrive ut("")
brukerinngang = input("Gjett et tall mellom 1 og" + str (gjett_område) + ": ")
gjetning = int (brukerinngang)
Hvordan sjekke om brukeren gjettet riktig nummer
For at brukeren skal vinne spillet, sammenligne brukerens input med det genererte tilfeldige tallet og sjekk om det stemmer.
- Mens brukeren ennå ikke har gjettet riktig svar, kan du be dem om å legge inn en ny inndata. Sørg for å rykke inn eventuell nestet kode, siden Pythons struktur avhenger av riktig innrykk:
gjett = ""
samtidig som gjett != svar:
brukerinngang = input("Gjett et tall mellom 1 og" + str (gjett_område) + ": ")
gjetning = int (brukerinngang) - Hvis koden kjøres forbi while-løkken, betyr det at de har gjettet riktig svar:
skrive ut("Gratulerer! Du gjettet riktig tall. Du vinner!")
Hvordan legge til et begrenset antall gjetninger
For å begrense spilleren fra å spørre uendelig mange ganger, kan du begrense antall gjetninger.
- Erklær en ny variabel i begynnelsen av filen, for å holde styr på spillerens antall tillatte gjetninger. Sett den til 10, til å begynne med:
guesses_allowed = 10
- Endre while-setningen til en for-løkke, som bare gjentas for den begrensede mengden gjetninger:
til Jeg i område (gjetting_tillatt):
brukerinngang = input("Gjett et tall mellom 1 og" + str (gjett_område) + ": ")
gjetning = int (brukerinngang) - Inne i for-løkken, hvis en av gjetningene er riktig svar, bryter du ut av for-løkken:
hvis gjett == svar:
skrive ut("Gratulerer! Du gjettet riktig tall. Du vinner!")
gå i stykker - Likevel, inne i for-løkken, legg til en annen if-setning for å sjekke om spilleren har nådd grensen for antall gjetninger. I så fall, avslutt spillet:
hvis (i == gjetninger_tillatt - 1):
skrive ut("Beklager, du har gått tom for gjetninger. Du tapte!")
Hvordan legge til hint i spillet
Legg til en annen funksjon i spillet for å gi spilleren noen hint. Ett hint kan inkludere å fortelle dem om de trenger å gjette et høyere tall eller et lavere tall.
Et annet hint er å fortelle dem hvor nær eller langt de er fra svaret. For eksempel bør spillet informere dem om de blir «varmere». Ellers, hvis de er langt fra tallet, bør spillet fortelle dem at de blir "kaldere".
- Endre if-setningen som forteller brukeren om de har vunnet. Hvis de fortsatt ikke gjettet riktig svar, gi dem beskjed om det faktiske svaret er høyere eller lavere.
hvis gjett == svar:
skrive ut("Gratulerer! Du gjettet riktig tall. Du vinner!")
gå i stykker
elif gjett < svar:
skrive ut("Tallet er høyere.")
ellers:
skrive ut("Tallet er lavere.") - Legg til en annen if-setning for å legge til flere hint. Dette vil fortelle dem om de kommer nærmere eller "varmere" til tallet. Bruk den absolutte funksjonen til å bestemme avstanden mellom gjetningen og svaret. For eksempel, hvis de er mindre enn 10 tall unna svaret, vil spillet skrive ut "Du er varm":
hvis abs (gjett - svar) <= 10:
skrive ut("Du er varm!")
elif abs (gjett - svar) <= 20:
skrive ut("Du blir varmere.")
elif abs (gjett - svar) <= 30:
skrive ut("Du er kald.")
ellers:
skrive ut("Du fryser.")
Hvordan endre vanskelighetsgraden i spillet
Du kan be brukeren velge en vanskelighetsgrad. Vanskelighetsnivået avgjør hvor mange gjetteforsøk spilleren har, og hvor langt gjetteområdet er.
- I begynnelsen av spillet, be brukeren velge et vanskelighetsnivå:
skrive ut("Velkommen til tallgjetteleken!")
skrive ut("")
samtidig somekte:
nivå = input("Velg vanskelighetsgrad (lett, middels, vanskelig):").Nedre() - Legg til litt validering for å sikre at spilleren bare skriver inn alternativene "enkel", "middels" eller "hard". Hvis brukeren skriver inn et ugyldig svar, vil spillet be dem om å gå inn på et vanskelighetsnivå på nytt.
hvis nivå i ["lett", "medium", "hard"]:
gå i stykker
ellers:
skrive ut("Ugyldig inndata. Velg enten 'enkel', 'middels' eller 'hard'.") - Før du genererer det tilfeldige tallet, bruk spillerens vanskelighetsgrad for å finne ut hvor mange gjetninger de kan ha. Du kan også bruke deres valgte vanskelighetsgrad for å finne ut hvor stort gjetteområdet er:
hvis nivå == "lett":
gjetting_område = 50
guesses_allowed = 20
elif nivå == "medium":
gjetting_område = 100
guesses_allowed = 15
ellers:
gjetting_område = 150
guesses_allowed = 10svar = random.randint(1, gjetting_område)
Hvordan spille spillet
Nå som du har all logikken for spillet, kan du spille det i en ledetekst. Du kan også se eksempelet på gjettespillet med full tall på GitHub.
- Åpne en ledetekst eller terminal, og naviger til mappen der du lagret Python-skriptet. For eksempel, hvis du lagret skriptet på skrivebordet, vil kommandoen se slik ut:
cd C:\Users\Sharl\Desktop
- Bruke python kommando for å kjøre Python-skriptet:
python number-guessing-game.py
- Angi en vanskelighetsgrad.
- Skriv inn tall i ledeteksten for å prøve å gjette tallet.
Lær programmering ved å lage enkle spill
Nå forstår du hvordan du lager og kjører et enkelt spill ved å bruke et enkelt Python-skript. Fortsett læringsreisen ved å utforske andre interessante prosjektideer. Et eksempel på dette er å prøve å bygge en Ping-sweeper i Python.