Z ocenjenimi 2,5 milijarde oboževalcev je kriket eden največjih in najbolj priljubljenih športov na svetu. Samo v Indiji je kriket vreden neverjetnih 5,3 milijarde dolarjev. Sachin Tendulkar, Donald Bradman, Brian Lara in MS Dhoni so le nekatere legende, katerih imena živijo v srcih milijonov.
Ni presenetljivo, da je kriket našel pot do virtualne resničnosti, video iger in drugih različic, kot sta knjižni in ročni kriket. Naredite to igro še korak dlje, tako da zgradite igro ročnega kriketa s Pythonom.
Kaj je ročni kriket?
Ročni kriket je igra, pri kateri dva igralca tekmujeta drug proti drugemu s prsti. V vsakem potezu oba igralca s prsti hkrati prikažeta številko. Če se rezultati ujemajo, je lopar odsoten, sicer pridobijo svoje število kot teki. Končno zmaga igralec, ki doseže največ zadetkov.
To igro lahko sestavite in jo igrate tudi proti računalniku. Namesto iztegnjenih prstov, ki predstavljajo rezultat, ga vnesete v program. Python je eden najpreprostejših in najbolj priročnih jezikov za uporabo. Če nimate predhodnih izkušenj z uporabo Pythona, lahko pospešite katerega koli od teh
brezplačni spletni tečaji Pythona za začetnike.Ko se naučite osnov, je dobro sestaviti mini projekte in igre, da utrdite svoje učenje. Začnete lahko z izdelavo digitalne ure, metanjem kocke, kviza ali števca besed. Navdih lahko črpate tudi iz teh Projektne ideje Python za začetnike.
Kako zgraditi igro ročnega kriketa z uporabo Pythona
Tukaj lahko najdete izvorno kodo Hand Cricket Using Python GitHub repozitorij.
Uvozite naključno knjižnico, potrebno za začetni met in izbire računalnika. Določite funkcijo z imenom input_num ki sprejema dva argumenta, min in maks za potrditev uporabnikovega vnosa. Uporabljati vnos() funkcija shrani številko, ki jo uporabnik vnese v spremenljivko štin ga pretvorite iz privzetega niza v vrsto Celo število z uporabo int().
Če je število, ki ga vnese uporabnik, večje od največje omejitve ali manjše od najmanjše omejitve, prosite uporabnika, da vnese veljavno izbiro do rekurzivno klicanje funkcije. Če je številka znotraj obsega, jo vrnite.
uvoz naključen
definput_num(najmanj, največ):
num = int (input())
če št. > maks oz št < min:
natisni("Vnesite veljavno izbiro")
vrnitev input_num (min, max)
drugače:
vrnitev št
Definirajte funkcijo menjave ki sprejme trenutnega loparja in teke za lov kot vhodne argumente. Prosite uporabnika, da vnese številke v območju od ena do šest. V skladu s pravili ročnega kriketa, če tako uporabnik kot računalnik izbereta isto številko, trenutni lopar izpade.
Inicializirajte spremenljivko skupaj da shranite skupno število točk, ki jih je dosegel lopar, in ga nastavite na nič. Začnite neskončno medtem zanko in pokličite input_num() funkcijo za shranjevanje in potrjevanje uporabnikovega vnosa. Uporabite naključne module randint() funkcijo za izbiro naključnega števila med ena in šest za računalnik.
Prikaži izbire obeh igralcev, nato preveri, ali sta enaki. Če so, prikažite, da je lopar odsoten, in vrnite skupno število voženj, ki jih je dosegel v tej menjavi.
V nasprotnem primeru preverite, kdo udarja, in dodajte ustrezno vrednost skupnemu rezultatu pnum oz cnum. Prikaži trenutni rezultat loparja.
V primeru druge menjave želite preveriti, ali je udarec že premagal rezultat svojega nasprotnika. Če želite to narediti, preverite, ali je loviti vrednost ni prazna in če je rezultat udarca večji. Če je tako, vrnite njihov zmagovalni rezultat.
defmenjave(lopar, to_chase):
natisni("Vnesite številke med 1 in 6. Če oba izbereta isto številko, potem " + lopar + " je zunaj")
skupaj = 0medtemPrav:
pnum = input_num(1, 6)
cnum = naključno.randint(1, 6)natisni("Uporabnik je izbral", pnum)
natisni("Računalnik izbral", cnum)
če pnum == cnum:
tisk (lopar + " je zunaj")
vrnitev skupaj
drugače:
skupno = skupno + (pnum če lopar == "Uporabnik"drugače cnum)
tisk (lopar + "rezultat je", skupaj)
če loviti jeneNobenin skupaj > loviti:
vrnitev skupaj
Prikažite sporočilo za žreb in potrdite izbiro uporabnika z uporabo input_num() funkcijo. Vrzite kovanec in rezultat shranite v spremenljivko kovanec. Inicializirajte privzeto vrednost player_bowls na napačno. Če se met kovanca ujema z izbiro uporabnika, uporabnik zmaga pri žrebu in izbira med udarcem in kegljanjem.
Izberi uporabnika in preveri, ali ga je vnesel. Če je odgovor pritrdilen, ocenite izraz kot resničen in ga shranite v player_bowls spremenljivka. Prikažite izbiro uporabnika. Po drugi strani pa, če je računalnik zmagal pri žrebu, izvedite randint() in ocenite ustrezno vrednost za player_bowls.
Prikažite izbiro računalnika in začnite menjave.
natisni("Čas za met, vnesite 0 za glavo in 1 za rep")
izbira = input_num(0, 1)
kovanec = naključno.randint(0, 1)
igralec_sklede = Falseče kovanec == izbira:
natisni("Dobili ste žreb")
natisni("Izberite 0 za lopar, 1 za bowl")
player_bowls = input_num(0, 1) == 1če player_bowls:
natisni("Izbrali ste balinanje")
drugače:
natisni("Izbral si udarec")
drugače:
natisni("Računalnik je zmagal pri žrebu")
player_bowls = random.randint(0, 1) == 1
če player_bowls:
natisni("Računalnik se je odločil za udarec")
drugače:
natisni("Računalnik je izbral balinanje")
če player_bowls res je, da najprej udari računalnik in obratno. Izračunajte število točk, doseženih v menjavah, z uporabo funkcije, ki ste jo definirali prej. Funkcija zahteva ime trenutnega loparja in teke za zasledovanje. Ko prvi lopar določi rezultat, naj bo to neobvezen parameter in poda Noben. Za drugo menjavo prestopite rezultat loparja, ki je postavil tarčo.
če player_bowls:
comp_score = innings("Računalnik", Noben)
user_score = innings("Uporabnik", comp_score)
drugače:
user_score = innings("Uporabnik", Noben)
comp_score = innings("Računalnik", user_score)
Če računalnik doseže manj kot uporabnik, zmaga uporabnik in obratno. V primeru, da so rezultati enaki, prikažite neodločeno.
če comp_score < user_score:
natisni("Uporabnik zmaga")
elif user_score < comp_score:
natisni("Računalnik zmaga")
drugače:
natisni("Žreb tekme")
Sestavite vso kodo in se pripravite na igranje ročnega kriketa kadarkoli in kjerkoli na dosegu roke.
Rezultat ročnega kriketa z uporabo Pythona
Rezultat igre ročnega kriketa z uporabo Pythona si lahko ogledate na naslednji način:
Ko izvedete program, vas program vpraša, da izberete izbiro za žreb in dodeli ustrezen rezultat. Če zmagate, se odločite, ali želite udariti ali kegljati, sicer se odloči računalnik. Vsaka menjava se nadaljuje, dokler se številki ne ujemata in ena izpade. Na koncu računalnik primerja končni rezultat in razglasi zmagovalca.
Terminalske igre v Pythonu
Sestavljanje iger je neverjeten način učenja Pythona in je zelo zabavno. Ni vam treba biti strokovnjak, da začnete kodirati in eksperimentirati v Pythonu. Z ravno pravimi osnovami lahko sestavite nekaj neverjetnih terminalskih iger.
Začnite z izdelavo žoge Magic 8 Ball, Hangmana, Rock Paper Scissors, Mad Libs Generatorja in igre ugibanja številk. Ko napredujete naprej, raziščite knjižnico PyGame, da ustvarite tudi svoje lastne grafične video igre.