Hinnanguliselt 2,5 miljardi fänniga kriket on üks suurimaid ja populaarsemaid spordialasid maailmas. Ainuüksi Indias on kriket väärt 5,3 miljardit dollarit. Sachin Tendulkar, Donald Bradman, Brian Lara ja MS Dhoni on vaid mõned legendid, kelle nimed elavad miljonite südametes.
Pole üllatav, et kriket on leidnud tee virtuaalreaalsusesse, videomängudesse ja muudesse variatsioonidesse, nagu raamat ja käsikriket. Võtke see mäng sammu võrra edasi, ehitades Pythoni abil kriketimängu.
Mis on käsikriket?
Käsikriket on mäng, kus kaks mängivad üksteisega sõrmi kasutades. Igal käigul kuvavad mõlemad mängijad sõrmedega samaaegselt numbrit. Kui punktid ühtivad, on lööja väljas, vastasel juhul saavad nad oma numbri jooksmisel. Lõpuks võidab mängu kõige rohkem skoori teinud mängija.
Saate seda mängu ehitada ja mängida ka arvuti vastu. Selle asemel, et skoori kujutamiseks sõrmi sirutada, sisestate selle programmi. Python on üks lihtsamaid ja mugavamaid keeli kasutada. Kui teil pole Pythoni kasutamisega varasemat kogemust, saate mõne neist asjadest kiiruse juurde pääseda
tasuta veebipõhised Pythoni kursused algajatele.Kui olete põhitõed selgeks õppinud, on hea mõte luua miniprojekte ja mänge, et oma õppimist tugevdada. Alustuseks võite ehitada digitaalse kella, veeretada täringut, viktoriini või sõnade loendurit. Nendest saate ka inspiratsiooni ammutada Pythoni projektiideed algajatele.
Kuidas Pythoni abil käsikriketimängu üles ehitada
Siit leiate Pythoni kasutava Hand Cricketi lähtekoodi GitHub hoidla.
Importige esmaseks viskamiseks ja arvuti valikute jaoks vajalik juhuslik raamatukogu. Määratlege funktsioon nimega sisend_number mis aktsepteerib kahte argumenti, min ja max vastavalt kasutaja sisendi kinnitamiseks. Kasutades sisend() salvestage kasutaja sisestatud arv muutujasse nrja kandke see vaikestringist täisarvu tüüpi, kasutades int().
Kui kasutaja sisestatav arv on maksimumlimiidist suurem või väiksem kui miinimumlimiit, paluge kasutajal sisestada kehtiv valik funktsiooni rekursiivse väljakutsumisega. Kui number on vahemikus, tagastage see.
importida juhuslik
defsisend_number(min, max):
arv = int (sisend())
kui arv > max või arv < min:
print("Sisesta kehtiv valik")
tagasi sisendi_arv (min, max)
muidu:
tagasi nr
Määratlege funktsioon inning mis aktsepteerib sisendargumentidena praeguse lööja ja jooksud tagaajamiseks. Paluge kasutajal sisestada numbreid vahemikus üks kuni kuus. Käsikriketi reeglite kohaselt, kui nii kasutaja kui ka arvuti valivad sama numbri, on praegune lööja väljas.
Muutuja initsialiseerimine kokku lööja sooritatud jooksude kogusumma salvestamiseks ja selle nullimiseks. Alustage lõpmatust samal ajal silmus ja helistage sisendi_arv() funktsioon kasutaja sisendi salvestamiseks ja kinnitamiseks. Kasutage juhuslikku moodulit randint () funktsioon, et valida arvuti jaoks juhuslik arv ühe ja kuue vahel.
Kuvage mõlema mängija valikud ja seejärel kontrollige, kas need on võrdsed. Kui need on nii, kuvage, et lööja on väljas, ja tagastage nende voorude kogusumma.
Vastasel juhul kontrollige, kes lööb, ja lisage kasvõi sobiv väärtus koguskoorile pnum või cnum. Kuvage lööja praegune tulemus.
Teise vooru puhul soovite kontrollida, kas lööja on juba vastase skoori alistanud. Selleks kontrollige, kas jälitama väärtus ei ole tühi ja kui lööja skoor on suurem. Kui jah, tagastage nende võiduskoor.
definning(lööja, jälitama):
print("Sisestage numbrid vahemikus 1 kuni 6. Kui valite mõlemad sama numbri, siis " + lööja + " on väljas")
kokku = 0samal ajalTõsi:
pnum = input_num(1, 6)
cnum = random.randint(1, 6)print("Kasutaja valis", pnum)
print("Arvuti valis", cnum)
kui pnum == cnum:
print (batsman + " on väljas")
tagasi kokku
muidu:
kokku = kokku + (pnum kui lööja == "Kasutaja"muidu cnum)
print (batsman + "skoor on", kokku)
kui jälitama onmitteMitte ühtegija kokku > to_chase:
tagasi kokku
Kuvage sõnum viskamiseks ja kinnitage kasutaja valik, kasutades nuppu sisendi_arv() funktsiooni. Viska münt ja salvesta tulemus muutujasse münt. Algväärtuse vaikeväärtus mängija_kausid valeks. Kui mündiviske vastab kasutaja valikule, võidab kasutaja viskemängu ja valib löömise ja keegli vahel.
Tehke kasutaja valik ja kontrollige, kas ta on selle sisestanud. Kui jah, siis hinnake avaldist tõeseks ja salvestage see mängija_kausid muutuv. Kuva kasutaja valik. Teisest küljest, kui arvuti võitis viskemängu, käivitage randint () ja hinnake sobivat väärtust mängija_kausid.
Kuvage arvuti valik ja alustage inningut.
print("Aeg viskamiseks, peade jaoks sisestage 0 ja saba jaoks 1")
valik = input_num(0, 1)
münt = random.randint(0, 1)
mängija_kausid = Valekui münt == valik:
print("Sa võitsid viske")
print("Select 0 to bat, 1 to bowl")
player_bowls = sisendi_arv(0, 1) == 1kui player_bowls:
print("Sa valisid kausi")
muidu:
print("Sa valisid löömise")
muidu:
print("Arvuti võitis viske")
player_bowls = random.randint(0, 1) == 1
kui player_bowls:
print("Arvuti valis löömise")
muidu:
print("Arvuti valis kausi")
Kui mängija_kausid on tõsi, arvuti nahkhiired kõigepealt ja vastupidi. Arvutage voorus kogutud jooksud, kasutades varem määratletud funktsiooni. Funktsioon nõuab jooksva lööja nime ja jälitamiseks jookse. Kui esimene lööja määrab skoori, muutke see valikuliseks parameetriks ja sööte edasi Mitte ühtegi. Teise vooru jaoks edastage lööja skoori, kes seadis eesmärgi.
kui player_bowls:
comp_score = inning("Arvuti", Mitte ühtegi)
user_score = innings("Kasutaja", comp_score)
muidu:
user_score = innings("Kasutaja", Mitte ühtegi)
comp_score = inning("Arvuti", kasutaja_skoor)
Kui arvuti saab vähem punkte kui kasutaja, võidab kasutaja ja vastupidi. Kui tulemused on samad, kuvage viik.
kui comp_score < user_score:
print("Kasutaja võidab")
elif kasutaja_skoor < comp_score:
print("Arvuti võidab")
muidu:
print("Matši loosimine")
Pange kogu kood kokku ja valmistuge käsikriketit mängima igal ajal ja igal pool, mis on teie käeulatuses.
Käsikriketi väljund Pythoni abil
Pythoni abil saate kriketimängu väljundit vaadata järgmiselt:
Programmi käivitamisel palub programm teil valida viske jaoks valik ja määrab sobiva tulemuse. Kui võidate, saate otsustada, kas soovite lüüa või pallida, muidu teeb otsuse arvuti. Iga inning jätkub, kuni numbrid ühtivad ja üks on väljas. Lõpuks võrdleb arvuti lõpptulemust ja kuulutab välja võitja.
Terminalipõhised mängud Pythonis
Mängude ehitamine on suurepärane viis Pythoni õppimiseks ja see on väga lõbus. Pythonis kodeerimise ja katsetamise alustamiseks ei pea te olema ekspert. Õigete põhialuste abil saate luua hämmastavaid terminalimänge.
Alustuseks ehitage Magic 8 Ball, Hangman, Rock Paper Scissors, Mad Libs Generator ja Number Guessing Game. Edasi liikudes uurige PyGame'i teeki, et luua ka oma graafilisi videomänge.