Zgradite to preprosto igro, da utrdite svoje koncepte programiranja Python.
Ustvarjanje iger v Pythonu je odličen način za učenje osnovnih konceptov programiranja in ustvarjanje močnejših temeljev programiranja. Ena od iger, ki jih lahko ustvarite, je preprosta igra ugibanja številk.
Igro ugibanja števil lahko ustvarite z enim samim skriptom Python. Če želite igrati igro, zaženite skript z uporabo ukazne vrstice ali terminala.
Da bo igra bolj zanimiva, lahko dodate nekaj dodatnih konceptov igranja. To vključuje možnost dajanja namigov igralcu ali možnost spreminjanja težavnosti igre.
Kako ustvariti naključno število
Začnete lahko z ustvarjanjem novega skripta Python z a .py razširitev za držanje logike za igro. Znotraj dodajte nekaj začetne kode za ustvarjanje naključnega števila med 1 in 50, ki ga igralec ugiba.
Če niste seznanjeni s sintakso Python, si oglejte nekaj osnovni primeri Pythona da te pospešim.
- Ustvari novo datoteko z imenom number-guessing-game.py. Odprite datoteko s katerim koli urejevalnikom besedil, kot je npr Visual Studio ali Atom.
- Na vrhu datoteke uvozite naključen modul:
uvoz naključen
- Uporabi naključen modulov randint() metoda za ustvarjanje naključnega števila med 1 in 50:
obseg_ugibanja = 50
odgovor = naključno.randint(1, obseg_ugibanja) - Začnite igro in prosite igralca, naj ugane številko:
natisni("Dobrodošli v igri ugibanja številk!")
natisni("")
userInput = vnos("Ugani število med 1 in " + str (obseg_ugibanja) + ": ")
ugib = int (uporabniški vnos)
Kako preveriti, ali je uporabnik uganil pravilno številko
Da bi uporabnik zmagal v igri, primerjajte uporabnikov vnos z ustvarjeno naključno številko in preverite, ali se ujema.
- Medtem ko uporabnik še ni uganil pravilnega odgovora, ga ponovno prosite, naj vnese nov vnos. Prepričajte se, da ste ugnezdeno kodo zamaknili, saj je struktura Pythona odvisna od pravilnega zamika:
ugibati = ""
medtem ugani != odgovor:
userInput = vnos("Ugani število med 1 in " + str (obseg_ugibanja) + ": ")
ugib = int (uporabniški vnos) - Če se koda izvede mimo zanke while, to pomeni, da so uganili pravilen odgovor:
natisni(»Čestitam! Uganili ste pravilno številko. Zmagal si!")
Kako dodati omejeno število ugibanj
Če želite igralcu omejiti neskončno število vprašanj, lahko omejite število njegovih ugibanj.
- Na začetku datoteke deklarirajte novo spremenljivko, da spremljate igralčevo dovoljeno število ugibanj. Za začetek ga nastavite na 10:
ugibanja_dovoljeno = 10
- Spremenite stavek while v zanko for, ki se ponavlja samo za omejeno število ugibanj:
za jaz v obseg (ugibanja_dovoljeno):
userInput = vnos("Ugani število med 1 in " + str (obseg_ugibanja) + ": ")
ugib = int (uporabniški vnos) - Če je eno od ugibanj pravilen odgovor znotraj zanke for, izstopite iz zanke for:
če ugib == odgovor:
natisni(»Čestitam! Uganili ste pravilno številko. Zmagal si!")
odmor - Kljub temu znotraj zanke for dodajte še en stavek if, da preverite, ali je igralec dosegel svojo omejitev števila ugibanj. Če je tako, končajte igro:
če (i == ugibanja_dovoljeno - 1):
natisni(»Oprostite, zmanjkalo vam je ugibanj. Izgubil si!")
Kako v igro dodati namige
V igro dodajte še eno funkcijo, da boste igralcu dali nekaj namigov. En namig lahko vključuje obvestilo, ali morajo uganiti višje ali nižje število.
Drug namig je, da jim poveste, kako blizu ali daleč so od odgovora. Na primer, igra naj jih obvesti, če postajajo "toplejši". V nasprotnem primeru, če so daleč od številke, naj jim igra pove, da postajajo "hladnejši".
- Spremenite stavek if, ki uporabniku sporoči, ali je zmagal. Če še vedno niso uganili pravilnega odgovora, jim sporočite, ali je dejanski odgovor višji ali nižji.
če ugib == odgovor:
natisni(»Čestitam! Uganili ste pravilno številko. Zmagal si!")
odmor
elif ugani < odgovor:
natisni("Številka je višja.")
drugače:
natisni("Številka je manjša.") - Dodajte še en stavek if, da dodate dodatne namige. To jim bo povedalo, ali se številu približujejo ali »topleje«. Uporabite absolutno funkcijo, da določite razdaljo med ugibanjem in odgovorom. Na primer, če jih do odgovora loči manj kot 10 številk, bo igra natisnila "Vroče ste":
če abs (ugibanje - odgovor) <= 10:
natisni("Topel si!")
elif abs (ugibanje - odgovor) <= 20:
natisni("Postajaš toplejši.")
elif abs (ugibanje - odgovor) <= 30:
natisni("Hladno te je.")
drugače:
natisni("Zmrzujete.")
Kako spremeniti težavnost igre
Od uporabnika lahko zahtevate, da izbere težavnostno stopnjo. Stopnja težavnosti določa, koliko poskusov ugibanja ima igralec in kako daleč je obseg ugibanja.
- Na začetku igre prosite uporabnika, da izbere težavnostno stopnjo:
natisni("Dobrodošli v igri ugibanja številk!")
natisni("")
medtemPrav:
nivo = vhod("Izberi težavnostno stopnjo (lahka, srednja, težka): ").spodnji() - Dodajte nekaj preverjanja, da zagotovite, da igralec vnaša samo možnosti "easy", "medium" ali "hard". Če uporabnik vnese neveljaven odgovor, ga bo igra pozvala, naj znova vnese težavnostno stopnjo.
če raven v ["enostavno", "srednje", "težko"]:
odmor
drugače:
natisni("Neveljaven vnos. Prosimo, izberite 'enostavno', 'srednje' ali 'težko'.«) - Preden ustvarite naključno število, uporabite igralčevo težavnost, da ugotovite, koliko ugibanj lahko ima. Uporabite lahko tudi njihovo izbrano težavnostno stopnjo, da določite, kako velik je obseg ugibanja:
če raven == "enostavno":
obseg_ugibanja = 50
ugibanja_dovoljeno = 20
elif raven == "srednje":
obseg_ugibanja = 100
ugibanja_dovoljeno = 15
drugače:
obseg_ugibanja = 150
ugibanja_dovoljeno = 10odgovor = naključno.randint(1, obseg_ugibanja)
Kako igrati igro
Zdaj, ko imate vso logiko za igro, jo lahko igrate v ukaznem pozivu. Ogledate si lahko tudi celoten primer igre ugibanja številk GitHub.
- Odprite ukazni poziv ali terminal in se pomaknite do mape, v kateri ste shranili skript Python. Na primer, če ste svoj skript shranili na namizje, bi ukaz izgledal podobno temu:
cd C:\Users\Sharl\Desktop
- Uporabi python ukaz za zagon vašega skripta Python:
python number-guessing-game.py
- Vnesite težavnostno stopnjo.
- Vnesite številke v ukazni poziv, da poskusite uganiti številko.
Naučite se programiranja z ustvarjanjem preprostih iger
Zdaj razumete, kako ustvariti in zagnati preprosto igro z uporabo enega skripta Python. Nadaljujte svojo učno pot z raziskovanjem drugih zanimivih projektnih zamisli. Eden od primerov tega je, da poskusite zgraditi pometač Ping v Pythonu.