Ar aptuveni 2,5 miljardiem fanu krikets ir viens no lielākajiem un populārākajiem sporta veidiem pasaulē. Indijā vien krikets ir 5,3 miljardu dolāru vērts. Sachins Tendulkars, Donalds Bredmens, Braiens Lara un MS Dhoni ir tikai dažas leģendas, kuru vārdi dzīvo miljonu sirdīs.
Nav pārsteigums, ka krikets ir atradis ceļu uz virtuālo realitāti, videospēlēm un citām variācijām, piemēram, grāmatu un roku kriketu. Sniedziet šo spēli vienu soli tālāk, izveidojot roku kriketa spēli, izmantojot Python.
Kas ir rokas krikets?
Rokas krikets ir spēle, kurā divi spēlē viens pret otru, izmantojot pirkstus. Katrā gājienā abi spēlētāji vienlaikus parāda numuru, izmantojot pirkstus. Ja rezultāti sakrīt, sitējs ir ārpusē, pretējā gadījumā viņš iegūst savu numuru skrējienu laikā. Visbeidzot, spēlē uzvar spēlētājs, kurš gūst visvairāk vārtu.
Jūs varat izveidot šo spēli un spēlēt to arī pret datoru. Tā vietā, lai izstieptu pirkstus, lai attēlotu rezultātu, jūs ievadiet to programmā. Python ir viena no vienkāršākajām un ērtāk lietojamajām valodām. Ja jums nav iepriekšējas Python lietošanas pieredzes, varat iegūt ātrumu ar jebkuru no šiem
bezmaksas tiešsaistes Python kursi iesācējiem.Kad esat apguvis pamatus, ir ieteicams izveidot mini projektus un spēles, lai nostiprinātu mācīšanos. Varat sākt ar digitālā pulksteņa izveidi, kauliņu ripināšanu, viktorīnu vai vārdu skaitītāju. Jūs varat arī gūt iedvesmu no šiem Python projektu idejas iesācējiem.
Kā izveidot roku kriketa spēli, izmantojot Python
Šajā sadaļā varat atrast rokas kriketa avota kodu, izmantojot Python GitHub krātuve.
Importējiet izlases bibliotēku, kas nepieciešama sākotnējai izmešanai un datora izvēlei. Definējiet funkciju ar nosaukumu ievades_numurs kas pieņem divus argumentus, min un maks attiecīgi, lai apstiprinātu lietotāja ievadi. Izmantojot ievade () funkciju, saglabājiet numuru, ko lietotājs ievada mainīgajā num, un apraidiet to no noklusējuma virknes uz Vesela skaitļa veidu, izmantojot int().
Ja lietotāja ievadītais skaitlis ir lielāks par maksimālo ierobežojumu vai mazāks par minimālo ierobežojumu, lūdziet lietotājam ievadīt derīgu izvēli līdz plkst. izsaucot funkciju rekursīvi. Ja numurs ir diapazonā, atgrieziet to.
imports nejauši
defievades_numurs(min, max):
cipars = int (input())
ja skaits > maks vai skaits < min:
drukāt ("Ievadiet derīgu izvēli")
atgriezties ievades_skaits (min, max)
cits:
atgriezties num
Definējiet funkciju inings kas pieņem pašreizējo sitēju un skrējienus vajāšanai kā ievades argumentus. Lūdziet lietotājam ievadīt ciparus diapazonā no viena līdz sešiem. Saskaņā ar rokas kriketa noteikumiem, ja gan lietotājs, gan dators izvēlas vienu un to pašu numuru, pašreizējais sitējs ir ārpusē.
Inicializējiet mainīgo Kopā lai saglabātu kopējo sitienu skaitu, ko ieguvis sitējs, un iestatītu to uz nulli. Sāciet bezgalību kamēr cilpu un zvaniet uz ievades_numurs() funkcija, lai saglabātu un apstiprinātu lietotāja ievadi. Izmantojiet izlases moduli randint () funkcija, lai datoram izvēlētos nejaušu skaitli no viena līdz sešiem.
Parādiet abu spēlētāju izvēles, pēc tam pārbaudiet, vai tās ir vienādas. Ja tā ir, parādiet, ka sita spēlētājs ir izgājis, un atgrieziet kopējo skrējienu skaitu, ko viņš guva šajā iningā.
Pretējā gadījumā pārbaudiet, kurš sit, un pievienojiet atbilstošo vērtību kopējam rezultātam pnum vai cnum. Parādiet sitēja pašreizējo rezultātu.
Otrās kārtas gadījumā vēlaties pārbaudīt, vai sitējs jau ir pārspējis pretinieka rezultātu. Lai to izdarītu, pārbaudiet, vai dzīties pakaļ vērtība nav tukša un ja sitēja rezultāts ir lielāks. Ja tā, atgrieziet viņu uzvaras punktu skaitu.
definings(sitējs, dzenāt):
drukāt ("Ievadiet skaitļus no 1 līdz 6. Ja jūs abi izvēlaties vienu un to pašu numuru, tad " + sitējs + " ir ārā")
kopā = 0kamērTaisnība:
pnum = ievades_numurs(1, 6)
cnum = random.randint(1, 6)drukāt ("Lietotājs izvēlējās", pnum)
drukāt ("Dators izvēlējās", cnum)
ja pnum == cnum:
drukāt (batsman + " ir ārā")
atgriezties Kopā
cits:
kopā = kopā + (pnm ja sitējs == "Lietotājs"cits cnum)
drukāt (batsman + "rezultāts ir", Kopā)
ja dzīties pakaļ irnēNavun kopā > to_chase:
atgriezties Kopā
Parādiet izmešanas ziņojumu un apstipriniet lietotāja izvēli, izmantojot ievades_numurs() funkciju. Izmetiet monētu un saglabājiet rezultātu mainīgajā monēta. Inicializējiet noklusējuma vērtību player_bowls uz nepatiesu. Ja monētas uzmetums atbilst lietotāja izvēlei, lietotājs uzvar metienā un izvēlas starp vatelīnu vai boulingu.
Izvēlieties lietotāja izvēli un pārbaudiet, vai viņš to ir ievadījis. Ja jā, novērtējiet izteiksmi uz patiesu un saglabājiet player_bowls mainīgs. Parādiet lietotāja izvēli. No otras puses, ja dators uzvarēja lozēšanā, izpildiet randint () un novērtējiet atbilstošo vērtību player_bowls.
Parādiet datora izvēli un sāciet inningu.
drukāt ("Laiks mētāšanai, ievadiet 0 galvām un 1 astes")
izvēle = ievades_numurs(0, 1)
monēta = random.randint(0, 1)
player_bowls = Nepatiesija monēta == izvēle:
drukāt ("Tu esi uzvarējis lozēšanā")
drukāt ("Select 0 to bat, 1 to bowl")
player_bowls = ievades_numurs(0, 1) == 1ja player_bowls:
drukāt ("Tu izvēlējies bļodiņu")
cits:
drukāt ("Tu izvēlējies sikspārni")
cits:
drukāt ("Dators uzvarēja lozēšanā")
player_bowls = random.randint(0, 1) == 1
ja player_bowls:
drukāt ("Dators izvēlējās sikspārni")
cits:
drukāt ("Dators izvēlējās bļodu")
Ja player_bowls ir taisnība, datorsikspārņi vispirms un otrādi. Aprēķiniet ieskrējienus, kas iegūti iningā, izmantojot iepriekš definēto funkciju. Funkcijai ir nepieciešams pašreizējā sitēja vārds un skrējieni, lai vajātu. Kad pirmais sitējs nosaka rezultātu, padariet to par izvēles parametru un piespēli Nav. Otrajā iningā nododiet sitienu izpildītājam, kurš izvirzīja mērķi.
ja player_bowls:
comp_score = inings("Dators", Nav)
user_score = inings("Lietotājs", comp_score)
cits:
user_score = inings("Lietotājs", Nav)
comp_score = inings("Dators", lietotāja_rezultāts)
Ja dators iegūst mazāk punktu nekā lietotājs, uzvar lietotājs un otrādi. Ja rezultāti ir vienādi, parādiet neizšķirtu.
ja comp_score < user_score:
drukāt ("Lietotājs uzvar")
elifs user_score < comp_score:
drukāt ("Dators uzvar")
cits:
drukāt ("Mača izloze")
Salieciet visu kodu un gatavojieties spēlēt roku kriketu jebkurā laikā un vietā, kas ir ērti sasniedzama.
Rokas kriketa izvade, izmantojot Python
Rokas kriketa spēles rezultātu, izmantojot Python, var redzēt šādi:
Kad jūs izpildāt programmu, programma lūdz izvēlēties lozēšanas izvēli un piešķir atbilstošu rezultātu. Ja jūs uzvarēsit, jums ir jāizlemj, vai vēlaties sist vai bļodā, pretējā gadījumā lēmumu pieņem dators. Katrs innings turpinās, līdz skaitļi sakrīt un viens tiek izslēgts. Beigās dators salīdzina gala rezultātu un pasludina uzvarētāju.
Uz termināli balstītas spēles Python
Spēļu veidošana ir pārsteidzošs veids, kā apgūt Python, un tas ir ļoti jautri. Jums nav jābūt ekspertam, lai sāktu kodēt un eksperimentēt Python. Izmantojot tikai pareizos pamatus, varat izveidot dažas pārsteidzošas termināļa spēles.
Sāciet, izveidojot Magic 8 Ball, Hangman, Rock Paper Scissors, Mad Libs Generator un numuru uzminēšanas spēli. Ejot tālāk, izpētiet PyGame bibliotēku, lai izveidotu arī savas grafiskās videospēles.