Rakenna tämä yksinkertainen peli vahvistaaksesi Python-ohjelmointikonseptisi.
Pelien luominen Pythonilla on loistava tapa oppia ohjelmoinnin peruskäsitteitä ja rakentaa vahvempi ohjelmoinnin perusta. Yksi luomistasi peleistä on yksinkertainen numeroiden arvauspeli.
Voit luoda numeroiden arvauspelin käyttämällä yhtä Python-skriptiä. Voit pelata peliä suorittamalla skriptin komentorivin tai terminaalin avulla.
Voit tehdä pelistä mielenkiintoisemman lisäämällä joitain muita pelikonsepteja. Tämä sisältää kyvyn antaa vihjeitä pelaajalle tai mahdollisuuden muuttaa pelin vaikeusastetta.
Kuinka luoda satunnainen luku
Voit aloittaa luomalla uuden Python-skriptin a .py laajennus pitääkseen pelin logiikan. Lisää sisään aloituskoodi luodaksesi satunnaisluvun väliltä 1–50, jonka pelaaja voi arvata.
Jos et tunne Python-syntaksia, katso joitain perus Python-esimerkkejä saada sinut vauhtiin.
- Luo uusi tiedosto nimeltä number-guessing-game.py. Avaa tiedosto millä tahansa tekstieditorilla, esim Visual Studio tai Atom.
- Tuo tiedoston yläosassa oleva satunnainen moduuli:
tuonti satunnainen
- Käytä satunnainen moduulin randint () tapa luoda satunnaisluku väliltä 1-50:
arvausväli = 50
vastaus = random.randint(1, arvausväli) - Aloita peli ja pyydä pelaajaa arvaamaan numero:
Tulosta("Tervetuloa numeroiden arvauspeliin!")
Tulosta("")
userInput = input("Arvaa numero väliltä 1 ja" + str (arvausväli) + ": ")
arvaus = int (userInput)
Kuinka tarkistaa, arvasiko käyttäjä oikean numeron
Jotta käyttäjä voittaisi pelin, vertaa käyttäjän syötteitä luotuun satunnaislukuun ja tarkista, täsmääkö se.
- Vaikka käyttäjä ei ole vielä arvannut oikeaa vastausta, pyydä häntä syöttämään uusi syöttötapa. Muista sisentää kaikki sisäkkäiset koodit, koska Pythonin rakenne riippuu oikeasta sisennyskohdasta:
arvaa = ""
sillä aikaa arvaa!= vastaus:
userInput = input("Arvaa numero väliltä 1 ja" + str (arvausväli) + ": ")
arvaus = int (userInput) - Jos koodi suoritetaan while-silmukan jälkeen, se tarkoittaa, että he ovat arvaneet oikean vastauksen:
Tulosta("Onnittelut! Arvasit oikean luvun. Sinä voitat!")
Kuinka lisätä rajoitettu määrä arvauksia
Jos haluat rajoittaa pelaajaa kysymästä ääretöntä määrää kertoja, voit rajoittaa heidän arvaustensa määrää.
- Ilmoita uusi muuttuja tiedoston alkuun, jotta voit seurata pelaajan sallittujen arvausten määrää. Aseta se arvoon 10 aloittaaksesi:
arvaukset_sallittu = 10
- Muuta while-lause for-silmukaksi, joka toistuu vain rajoitetun määrän arvauksia:
varten i sisään alue (guesses_allowed):
userInput = input("Arvaa numero väliltä 1 ja" + str (arvausväli) + ": ")
arvaus = int (userInput) - Jos jokin arvauksista on oikea vastaus for-silmukan sisällä, irtaudu for-silmukasta:
jos arvaa == vastaus:
Tulosta("Onnittelut! Arvasit oikean luvun. Sinä voitat!")
tauko - Silti for-silmukan sisällä lisää toinen if-lause tarkistaaksesi, onko pelaaja saavuttanut arvausrajan. Jos on, lopeta peli:
jos (i == arvaukset_sallittu - 1):
Tulosta("Anteeksi, arvaukset ovat loppuneet. Sinä häviät!")
Kuinka lisätä vihjeitä peliin
Lisää peliin toinen ominaisuus antaaksesi pelaajalle vinkkejä. Yksi vihje voi sisältää sen, että heille kerrotaan, pitääkö heidän arvata suurempi tai pienempi numero.
Toinen vihje on kertoa heille, kuinka lähellä tai kaukana he ovat vastauksesta. Esimerkiksi pelin pitäisi ilmoittaa heille, jos he ovat "lämpenemässä". Muuten, jos ne ovat kaukana numerosta, pelin pitäisi kertoa heille, että he ovat tulossa "kylmemmäksi".
- Muokkaa if-lausetta, joka kertoo käyttäjälle, onko hän voittanut. Jos he eivät vieläkään arvaa oikeaa vastausta, kerro heille, onko todellinen vastaus suurempi vai pienempi.
jos arvaa == vastaus:
Tulosta("Onnittelut! Arvasit oikean luvun. Sinä voitat!")
tauko
elif arvaa < vastaus:
Tulosta("Luku on suurempi.")
muu:
Tulosta("Luku on pienempi.") - Lisää toinen if-lause lisätäksesi lisävinkkejä. Tämä kertoo heille, ovatko he lähempänä tai "lämpenemässä" numeroa. Käytä absoluuttista funktiota määrittääksesi arvauksen ja vastauksen välisen etäisyyden. Jos ne ovat esimerkiksi alle 10 numeron päässä vastauksesta, peli tulostaa "Sinä olet lämmin":
jos abs (arvaa - vastaus) <= 10:
Tulosta("Sinä olet lämmin!")
elif abs (arvaa - vastaus) <= 20:
Tulosta("Olet lämpenemässä.")
elif abs (arvaa - vastaus) <= 30:
Tulosta("Sinä olet kylmä.")
muu:
Tulosta("Olet jäässä.")
Kuinka muuttaa pelin vaikeusastetta
Voit pyytää käyttäjää valitsemaan vaikeustason. Vaikeustaso määrittää kuinka monta arvausyritystä pelaajalla on ja kuinka pitkä arvausalue on.
- Pelin alussa pyydä käyttäjää valitsemaan vaikeustaso:
Tulosta("Tervetuloa numeroiden arvauspeliin!")
Tulosta("")
sillä aikaaTotta:
taso = input("Valitse vaikeustaso (helppo, keskitaso, kova):").alempi() - Lisää vahvistusta varmistaaksesi, että pelaaja kirjoittaa vain vaihtoehdot "helppo", "medium" tai "hard". Jos käyttäjä antaa virheellisen vastauksen, peli pyytää häntä syöttämään vaikeustaso uudelleen.
jos taso sisään ["helppo", "keskikokoinen", "kova"]:
tauko
muu:
Tulosta("Virheellinen syöte. Valitse joko "helppo", "keskikokoinen" tai "kova".) - Ennen kuin luot satunnaisluvun, käytä pelaajan vaikeusastetta määrittääksesi, kuinka monta arvausta heillä voi olla. Voit myös käyttää heidän valittua vaikeustasoaan määrittääksesi, kuinka suuri arvausalue on:
jos taso == "helppo":
arvausväli = 50
arvaukset_sallittu = 20
elif taso == "keskikokoinen":
arvausväli = 100
arvaukset_sallittu = 15
muu:
arvausväli = 150
arvaukset_sallittu = 10vastaus = random.randint(1, arvausväli)
Pelin pelaaminen
Nyt kun sinulla on kaikki pelin logiikka, voit pelata sitä komentokehotteessa. Voit myös katsoa koko numeron arvauspeliesimerkin osoitteessa GitHub.
- Avaa komentokehote tai pääte ja siirry kansioon, johon tallensit Python-komentosarjan. Jos esimerkiksi tallensit skriptin työpöydälle, komento näyttää samanlaiselta:
cd C:\Users\Sharl\Desktop
- Käytä python komento Python-skriptin suorittamiseksi:
python number-guessing-game.py
- Anna vaikeustaso.
- Kirjoita numerot komentokehotteeseen yrittääksesi arvata numeron.
Opi ohjelmointia luomalla yksinkertaisia pelejä
Nyt ymmärrät kuinka luoda ja ajaa yksinkertainen peli yhdellä Python-skriptillä. Jatka oppimismatkaasi tutkimalla muita mielenkiintoisia projektiideoita. Yksi esimerkki tästä on yrittää rakentaa Ping-sweeper Pythonissa.