Cititorii ca tine ajută la sprijinirea MUO. Când efectuați o achiziție folosind link-uri de pe site-ul nostru, este posibil să câștigăm un comision de afiliat. Citeşte mai mult.

Cu aproximativ 2,5 miliarde de fani, cricketul este unul dintre cele mai mari și mai populare sporturi din lume. Numai în India, cricketul valorează 5,3 miliarde de dolari. Sachin Tendulkar, Donald Bradman, Brian Lara și MS Dhoni sunt doar câteva legende ale căror nume trăiesc în inimile a milioane de oameni.

Nu este o surpriză că cricket-ul și-a găsit drumul către realitatea virtuală, jocuri video și alte variante, cum ar fi cartea și cricketul de mână. Faceți acest joc cu un pas mai departe, creând un joc de cricket de mână folosind Python.

Ce este Hand Cricket?

Cricket-ul de mână este un joc în care doi joacă unul împotriva celuilalt folosind degetele. În fiecare rând, ambii jucători afișează un număr folosind degetele în același timp. Dacă scorurile se potrivesc, batsmanul este eliminat, altfel își câștigă numărul ca runde. În cele din urmă, jucătorul care înscrie cel mai mult câștigă jocul.

instagram viewer

Puteți construi acest joc și îl puteți juca și împotriva unui computer. În loc să întindeți degetele pentru a reprezenta partitura, îl introduceți în program. Python este una dintre cele mai ușor și mai convenabile limbi de folosit. Dacă nu aveți experiență anterioară în utilizarea Python, puteți ajunge la curent cu oricare dintre acestea cursuri online gratuite de Python pentru începători.

Odată ce învățați elementele fundamentale, este o idee bună să construiți mini-proiecte și jocuri pentru a vă consolida învățarea. Puteți începe prin a construi un ceas digital, aruncarea de zaruri, un test sau un numărător de cuvinte. De asemenea, te poți inspira din acestea Idei de proiecte Python pentru începători.

Cum să construiești un joc de cricket de mână folosind Python

Puteți găsi codul sursă al Hand Cricket Using Python în aceasta GitHub repertoriu.

Importați biblioteca aleatoare, necesară pentru aruncarea inițială și pentru alegerile computerului. Definiți o funcție numită intrare_num care acceptă două argumente, min și max respectiv pentru a valida intrarea utilizatorului. Folosind intrare() funcția, stocați numărul pe care utilizatorul îl introduce în variabilă num, și aruncați-l de la String implicit la tipul Integer folosind int().

Dacă numărul introdus de utilizator este mai mare decât limita maximă sau mai mic decât limita minimă, cereți utilizatorului să introducă o alegere validă prin apelând funcția în mod recursiv. Dacă numărul se află în interval, returnați-l.

import Aleatoriu

defintrare_num(minim maxim):
num = int (input())

dacă num > max sau num < min:
imprimare(„Introduceți o alegere validă”)
întoarcere input_num (min, max)
altfel:
întoarcere num

Definiți o funcție reprize care acceptă batsmanul actual și alergările pentru a urmări ca argumente de intrare. Cereți utilizatorului să introducă numere în intervalul de la unu la șase. Conform regulilor de cricket de mână, dacă atât utilizatorul, cât și computerul aleg același număr, batsmanul actual este scos.

Inițializați o variabilă total pentru a stoca totalul rundelor marcate de un batsman și a seta la zero. Începe un infinit in timp ce buclă și apelați input_num() funcția de stocare și validare a intrărilor utilizatorului. Utilizați modulele aleatorii randint() funcția de a alege un număr aleatoriu între unu și șase pentru computer.

Afișează opțiunile ambilor jucători, apoi verifică dacă sunt egale. Dacă sunt, arată că batsmanul este eliminat și returnează totalul de run-uri pe care le-au marcat în repriza respectivă.

În caz contrar, verificați cine bate și adăugați valoarea corespunzătoare la scorul total pnum sau cnum. Afișează scorul curent al batsmanului.

În cazul celei de-a doua reprize, doriți să verificați dacă batatorul a învins deja scorul adversarului său. Pentru a face acest lucru, verificați dacă a urmări valoarea nu este goală și dacă scorul batsmanului este mai mare. Dacă da, întoarce-le scorul câștigător.

defreprize(batsman, a_goni):
imprimare(„Introduceți numere între 1 și 6. Dacă amândoi alegeți același număr atunci " + batsman + " e afara")
total = 0

in timp ceAdevărat:
pnum = input_num(1, 6)
cnum = random.randint(1, 6)

imprimare(„Utilizatorul a ales”, pnum)
imprimare(„Calculatorul a ales”, cnum)

dacă pnum == cnum:
imprimare (batsman + " e afara")
întoarcere total
altfel:
total = total + (num dacă batsman == "Utilizator"altfel cnum)
imprimare (batsman + " scorul este ", total)
dacă a urmări estenuNici unulși total > to_chase:
întoarcere total

Afișați mesajul pentru aruncare și validați alegerea utilizatorului folosind input_num() funcţie. Aruncați moneda și stocați rezultatul în variabilă monedă. Inițializați valoarea implicită a player_bowls la fals. Dacă aruncarea monedei se potrivește cu alegerea utilizatorului, utilizatorul câștigă tragere la sorți și alege între bataie și bowling.

Luați alegerea utilizatorului și verificați dacă a introdus unul. Dacă da, evaluați expresia la adevărat și stocați-l în player_bowls variabil. Afișează alegerea utilizatorului. Pe de altă parte, dacă computerul a câștigat la sorți, executați randint() și evaluați valoarea corespunzătoare pentru player_bowls.

Afișați alegerea computerului și începeți reprizele.

imprimare(„Timp pentru aruncare, introduceți 0 pentru capete și 1 pentru cozi”)
alegere = input_num(0, 1)
moneda = random.randint(0, 1)
player_bowls = Fals

dacă moneda == alegere:
imprimare(„Ai câștigat la sorți”)
imprimare(„Selectați 0 pentru bat, 1 pentru bol”)
player_bowls = input_num(0, 1) == 1

dacă player_bowls:
imprimare(„Ai ales să faci un bol”)
altfel:
imprimare("Ai ales sa bati")
altfel:
imprimare(„Computerul a câștigat la sorți”)
player_bowls = random.randint(0, 1) == 1

dacă player_bowls:
imprimare(„Computerul a ales să bată”)
altfel:
imprimare(„Computerul a ales să facă bowling”)

Dacă player_bowls este adevărat, computerul bat mai întâi și invers. Calculați punctele marcate într-o repriză folosind funcția pe care ați definit-o mai devreme. Funcția necesită numele batsmanului actual și alergările de urmărit. Pe măsură ce primul batsman stabilește scorul, fă-l un parametru opțional și trece Nici unul. Pentru a doua repriză, treceți scorul batsmanului care a stabilit ținta.

dacă player_bowls:
scor_comp = reprize("Calculator", Nici unul)
user_score = innings("Utilizator", scor_comp)
altfel:
user_score = innings("Utilizator", Nici unul)
scor_comp = reprize("Calculator", user_score)

Dacă computerul obține un scor mai mic decât utilizatorul, utilizatorul câștigă și invers. În cazul în care scorurile sunt aceleași, afișați o egalitate.

dacă scor_comp < scor_utilizator:
imprimare(„Utilizatorul câștigă”)
elif user_score < comp_score:
imprimare(„Câștigă computerul”)
altfel:
imprimare(„Remiză meci”)

Pune toate codurile împreună și pregătește-te să joci cricket de mână oricând, oriunde, la îndemâna ta.

Rezultatul Cricketului de mână folosind Python

Puteți vedea rezultatul unui joc de cricket de mână folosind Python după cum urmează:

Când executați programul, acesta vă cere să alegeți o alegere pentru aruncare și atribuie rezultatul corespunzător. Dacă câștigi, poți decide dacă vrei să lupți sau să arunci un bowling, altfel computerul ia o decizie. Fiecare repriză continuă până când numerele se potrivesc și unul este eliminat. În final, computerul compară scorul final și declară câștigătorul.

Jocuri bazate pe terminale în Python

Construirea de jocuri este o modalitate uimitoare de a învăța Python și este foarte distractiv. Nu trebuie să fiți un expert pentru a începe să codați și să experimentați în Python. Cu doar elementele fundamentale potrivite, puteți crea niște jocuri terminale uimitoare.

Începeți prin a construi Magic 8 Ball, Hangman, Rock Paper Scissors, Mad Libs Generator și jocul de ghicire a numărului. Pe măsură ce avansați mai departe, explorați biblioteca PyGame pentru a vă crea și propriile jocuri video grafice.