Lesere som deg er med på å støtte MUO. Når du foretar et kjøp ved å bruke lenker på nettstedet vårt, kan vi tjene en tilknyttet provisjon. Les mer.

Med anslagsvis 2,5 milliarder fans er cricket en av de største og mest populære idrettene i verden. Bare i India er cricket verdt hele 5,3 milliarder dollar. Sachin Tendulkar, Donald Bradman, Brian Lara og MS Dhoni er bare noen få legender hvis navn lever i hjertene til millioner.

Det kommer ikke som noen overraskelse at cricket har funnet veien til virtuell virkelighet, videospill og andre varianter som bok- og håndcricket. Ta dette spillet ett skritt videre ved å bygge et håndcricketspill med Python.

Hva er håndcricket?

Håndcricket er et spill der to spiller konkurrerer mot hverandre med fingrene. I hver tur viser begge spillerne et tall ved å bruke fingrene samtidig. Hvis poengsummen stemmer, er slagmannen ute, ellers får de nummeret sitt som løp. Til slutt vinner den spilleren som scorer mest spillet.

Du kan bygge dette spillet og spille det mot en datamaskin også. I stedet for å holde ut fingrene for å representere partituret, legger du det inn i programmet. Python er et av de enkleste og mest praktiske språkene å bruke. Hvis du ikke har noen tidligere erfaring med å bruke Python, kan du komme i gang med noen av disse

instagram viewer
gratis online Python-kurs for nybegynnere.

Når du har lært det grunnleggende, er det en god idé å bygge miniprosjekter og spill for å styrke læringen din. Du kan starte med å bygge en digital klokke, kaste terninger, quiz eller en ordteller. Du kan også hente inspirasjon fra disse Python-prosjektideer for nybegynnere.

Hvordan bygge håndcricketspill ved hjelp av Python

Du kan finne kildekoden til Hand Cricket Using Python i denne GitHub oppbevaringssted.

Importer det tilfeldige biblioteket, som kreves for det første kastet og datamaskinens valg. Definer en funksjon kalt input_num som godtar to argumenter, min og maks for å validere brukerens input. Bruker input() funksjon, lagre antallet brukeren skriver inn i variabelen num, og cast den fra standard streng til heltallstype ved å bruke int().

Hvis antallet brukeren oppgir er større enn maksimumsgrensen eller mindre enn minimumsgrensen, be brukeren angi et gyldig valg ved å kaller funksjonen rekursivt. Hvis nummeret er innenfor området, returner det.

import tilfeldig

definput_num(min, maks):
num = int (input())

hvis antall > maks eller num < min:
skrive ut("Angi gyldig valg")
komme tilbake input_num (min, maks)
ellers:
komme tilbake num

Definer en funksjon omganger som godtar gjeldende batsman og løpene for å jage som input-argumenter. Be brukeren om å skrive inn tall innenfor området fra én til seks. I henhold til reglene for håndcricket, hvis både brukeren og datamaskinen velger samme nummer, er den nåværende slagmannen ute.

Initialiser en variabel Total for å lagre de totale løpene scoret av en batsman og sette den til null. Begynn en uendelig samtidig som loop og ring input_num() funksjon for å lagre og validere brukerens input. Bruk de tilfeldige modulene randint() funksjon for å velge et tilfeldig tall mellom én og seks for datamaskinen.

Vis valgene til begge spillerne, og sjekk om de er like. Hvis de er det, vis at slagmannen er ute og returner de totale løpene de scoret i den omgangen.

Ellers, sjekk hvem som slår og legg til riktig verdi til den totale poengsummen pnum eller cnum. Vis gjeldende poengsum til slagmannen.

Når det gjelder andre omganger, vil du sjekke om slageren allerede har slått poengsummen til motstanderen. For å gjøre det, sjekk om å jage verdien er ikke tom og hvis slagmannens poengsum er høyere. Hvis ja, returner vinnerscore.

defomganger(batsman, to_chase):
skrive ut("Skriv inn tall mellom 1 og 6. Hvis dere begge velger samme nummer, så " + slagmann + " er ute")
totalt = 0

samtidig somekte:
pnum = input_num(1, 6)
cnum = random.randint(1, 6)

skrive ut("Bruker valgte", pnum)
skrive ut("Datamaskin valgt", cnum)

hvis pnum == cnum:
print (batsman + " er ute")
komme tilbake Total
ellers:
totalt = totalt + (pnum hvis slagmann == "Bruker"ellers cnum)
print (batsman + "poengsum er", Total)
hvis å jage erikkeIngenog totalt > å_jage:
komme tilbake Total

Vis meldingen for kast og bekreft brukerens valg ved å bruke input_num() funksjon. Kast mynten og lagre resultatet i variabelen mynt. Initialiser standardverdien til player_bowls til falsk. Hvis myntflippen samsvarer med brukerens valg, vinner brukeren kastet og velger mellom batting og bowling.

Ta brukerens valg og sjekk om han har lagt inn en. Hvis ja, evaluer uttrykket til sant og lagre i player_bowls variabel. Vis brukerens valg. På den annen side, hvis datamaskinen vant kastet, utfør randint() og vurdere den passende verdien til player_bowls.

Vis datamaskinens valg og start omgangen.

skrive ut("Tid for kast, skriv inn 0 for Heads og 1 for Tails")
valg = input_num(0, 1)
mynt = random.randint(0, 1)
player_bowls = Falsk

hvis mynt == valg:
skrive ut("Du har vunnet kastet")
skrive ut("Velg 0 for å slå, 1 for å bolle")
player_bowls = input_num(0, 1) == 1

hvis player_bowls:
skrive ut("Du valgte å bowle")
ellers:
skrive ut("Du valgte å slå")
ellers:
skrive ut("Datamaskinen vant kastet")
player_bowls = random.randint(0, 1) == 1

hvis player_bowls:
skrive ut("Datamaskinen valgte å slå")
ellers:
skrive ut("Datamaskinen valgte å bolle")

Hvis player_bowls er sant, datamaskinen slår først og omvendt. Beregn løpene scoret i en omgang ved å bruke funksjonen du definerte tidligere. Funksjonen krever navnet på den nåværende slagmannen og løpene for å jage. Når den første slagmannen setter poengsummen, gjør den til en valgfri parameter og pass Ingen. For andre omgang passerer du slagmannens score som satte målet.

hvis player_bowls:
comp_score = innings("Datamaskin", Ingen)
user_score = innings("Bruker", comp_score)
ellers:
user_score = innings("Bruker", Ingen)
comp_score = innings("Datamaskin", brukerscore)

Hvis datamaskinen scorer mindre enn brukeren, vinner brukeren, og omvendt. I tilfelle poengsummen er den samme, vis uavgjort.

hvis comp_score < user_score:
skrive ut("Bruker vinner")
elif brukerscore < comp_score:
skrive ut("Datamaskin vinner")
ellers:
skrive ut("kamptrekning")

Sett sammen all koden og gjør deg klar til å spille håndcricket når som helst, hvor som helst rett ved fingertuppene.

Utgangen av håndcricket ved hjelp av Python

Du kan se resultatet av et spill med håndcricket ved å bruke Python som følger:

Når du kjører programmet, ber programmet deg velge et valg for kastet og tildeler det riktige resultatet. Hvis du vinner, får du bestemme om du vil slå eller bolle, ellers tar datamaskinen en avgjørelse. Hver omgang fortsetter til tallene stemmer og en er ute. Til slutt sammenligner datamaskinen sluttresultatet og erklærer vinneren.

Terminalbaserte spill i Python

Å bygge spill er en fantastisk måte å lære Python på, og det er mye moro. Du trenger ikke å være en ekspert for å begynne å kode og eksperimentere i Python. Med akkurat det grunnleggende kan du bygge noen fantastiske terminalspill.

Start med å bygge Magic 8 Ball, Hangman, Rock Paper Scissors, Mad Libs Generator og Number Guessing Game. Når du går videre, utforske PyGame-biblioteket for å bygge dine helt egne grafiske videospill også.