Kaltaisesi lukijat auttavat tukemaan MUO: ta. Kun teet ostoksen käyttämällä sivustollamme olevia linkkejä, voimme ansaita kumppanipalkkion. Lue lisää.

Kriketillä on arviolta 2,5 miljardia fania, ja se on yksi suurimmista ja suosituimmista urheilulajeista maailmassa. Pelkästään Intiassa kriketin arvo on huimat 5,3 miljardia dollaria. Sachin Tendulkar, Donald Bradman, Brian Lara ja MS Dhoni ovat vain muutamia legendoja, joiden nimet elävät miljoonien sydämissä.

Ei ole yllättävää, että kriketti on löytänyt tiensä virtuaalitodellisuuteen, videopeleihin ja muihin muunnelmiin, kuten kirja- ja käsikrikettiin. Vie tämä peli askel pidemmälle rakentamalla käsikrikettipeli Pythonilla.

Mikä on käsikriketti?

Käsikriketti on peli, jossa kaksi pelaajaa kilpailee toisiaan vastaan ​​sormillaan. Jokaisella vuorollaan molemmat pelaajat näyttävät numeron sormillaan samanaikaisesti. Jos tulokset täsmäävät, lyöjä on poissa, muuten he saavat numeronsa juoksuina. Lopulta eniten pisteitä tehnyt pelaaja voittaa pelin.

Voit rakentaa tämän pelin ja pelata sitä myös tietokonetta vastaan. Sen sijaan, että ojentaisit sormia edustamaan partituuria, syötät sen ohjelmaan. Python on yksi helpoimmista ja kätevimmistä kielistä. Jos sinulla ei ole aiempaa kokemusta Pythonin käytöstä, voit päästä vauhtiin millä tahansa näistä ilmaisia ​​Python-verkkokursseja aloittelijoille.

Kun olet oppinut perusteet, on hyvä idea rakentaa miniprojekteja ja pelejä vahvistaaksesi oppimistasi. Voit aloittaa rakentamalla digitaalisen kellon, heittämällä noppaa, tietokilpailua tai sanalaskurin. Näistä saa myös inspiraatiota Python-projekti-ideoita aloittelijoille.

Kuinka rakentaa käsikrikettipeli Pythonilla

Löydät Pythonin käyttävän Hand Cricketin lähdekoodin tästä GitHub arkisto.

Tuo satunnainen kirjasto, joka tarvitaan alkuheittoon ja tietokoneen valintoihin. Määritä funktio nimeltä input_num joka hyväksyy kaksi argumenttia, min ja max vastaavasti käyttäjän syötteen vahvistamiseksi. Käyttämällä input() funktio, tallenna numero, jonka käyttäjä syöttää muuttujaan nro, ja suoratoista se oletusmerkkijonosta kokonaislukutyyppiin käyttämällä int().

Jos käyttäjän antama numero on suurempi kuin enimmäisraja tai pienempi kuin vähimmäisraja, pyydä käyttäjää syöttämään kelvollinen valinta kutsumalla funktiota rekursiivisesti. Jos numero on alueella, palauta se.

tuonti satunnainen

definput_num(min, max):
numero = int (input())

jos määrä > max tai numero < min:
Tulosta("Anna kelvollinen valinta")
palata input_num (min, max)
muu:
palata nro

Määritä funktio sisävuoro joka hyväksyy syöteargumentteina nykyisen lyöjän ja juoksut jahtaamaan. Pyydä käyttäjää syöttämään numeroita yhdestä kuuteen. Käsikriketin sääntöjen mukaan, jos sekä käyttäjä että tietokone valitsevat saman numeron, nykyinen lyöjä on poissa.

Alusta muuttuja kaikki yhteensä tallentaaksesi lyöjän tekemät kokonaisajot ja asettaaksesi sen nollaan. Aloita ääretön sillä aikaa silmukka ja soita input_num() toiminto tallentaa ja vahvistaa käyttäjän syötteen. Käytä satunnaismoduulia randint () toiminto valitaksesi tietokoneelle satunnaisluvun yhdestä kuuteen.

Näytä molempien pelaajien valinnat ja tarkista sitten, ovatko ne yhtäläiset. Jos ne ovat, näytä, että lyöjä on poissa, ja palauta kaikki juoksut, jotka he tekivät kyseisellä vuoroparilla.

Muussa tapauksessa tarkista, kuka lyö ja lisää oikea arvo kokonaispisteisiin pnum tai cnum. Näytä lyöjän nykyinen tulos.

Toisen vuoroparin tapauksessa haluat tarkistaa, onko lyöjä jo lyönyt vastustajansa pisteet. Voit tehdä tämän tarkistamalla, onko jahdata arvo ei ole tyhjä ja jos lyöjän pistemäärä on suurempi. Jos näin on, palauta voittopisteensä.

defsisävuoro(lyöjä, jahtaamaan):
Tulosta("Syötä numerot väliltä 1-6. Jos valitsette molemmat saman numeron, niin " + lyöjä + " on ulkona")
yhteensä = 0

sillä aikaaTotta:
pnum = input_num(1, 6)
cnum = random.randint(1, 6)

Tulosta("Käyttäjä valitsi", pnum)
Tulosta("Tietokone valitsi", cnum)

jos pnum == cnum:
tulosta (batsman + " on ulkona")
palata kaikki yhteensä
muu:
yhteensä = yhteensä + (pnum jos lyöjä == "Käyttäjä"muu cnum)
tulosta (batsman + "pisteet on", kaikki yhteensä)
jos jahdata OneiEi mitäänja yhteensä > to_chase:
palata kaikki yhteensä

Näytä heittoviesti ja vahvista käyttäjän valinta käyttämällä input_num() toiminto. Heitä kolikko ja tallenna tulos muuttujaan kolikko. Alusta oletusarvo player_bowls vääräksi. Jos kolikonheitto vastaa käyttäjän valintaa, käyttäjä voittaa heiton ja valitsee lyönnön tai keilauksen välillä.

Valitse käyttäjän valinta ja tarkista, onko hän syöttänyt sellaisen. Jos kyllä, arvioi lausekkeen arvoksi tosi ja tallenna se player_bowls muuttuja. Näytä käyttäjän valinta. Toisaalta, jos tietokone voitti heiton, suorita randint () ja arvioi sopiva arvo player_bowls.

Näytä tietokoneen valinta ja aloita sisävuoro.

Tulosta("Aika heittää, syötä 0 päille ja 1 häntälle")
valinta = input_num(0, 1)
kolikko = random.randint(0, 1)
player_bowls = Väärä

jos kolikko == valinta:
Tulosta("Olet voittanut heiton")
Tulosta("Valitse 0 lyöntiin, 1 kulhoon")
player_bowls = input_num(0, 1) == 1

jos player_bowls:
Tulosta("Valitsit kulhoon")
muu:
Tulosta("Valitsit lyödä")
muu:
Tulosta("Tietokone voitti heiton")
player_bowls = random.randint(0, 1) == 1

jos player_bowls:
Tulosta("Tietokone valitsi lyönnin")
muu:
Tulosta("Tietokone valitsi kulhoon")

Jos player_bowls on totta, tietokonelepakko ensin ja päinvastoin. Laske vuoroparissa saadut juoksut käyttämällä aiemmin määrittämääsi funktiota. Toiminto vaatii nykyisen lyöjän nimen ja juoksut takaa-ajoon. Kun ensimmäinen lyöjä asettaa pisteet, tee siitä valinnainen parametri ja syötä Ei mitään. Toisella vuoroparilla syötä maalintekijän pisteet.

jos player_bowls:
comp_score = sisävuoro("Tietokone", Ei mitään)
user_score = sisävuoro("Käyttäjä", comp_score)
muu:
user_score = sisävuoro("Käyttäjä", Ei mitään)
comp_score = sisävuoro("Tietokone", user_score)

Jos tietokone saa vähemmän pisteitä kuin käyttäjä, käyttäjä voittaa ja päinvastoin. Jos pisteet ovat samat, näytä tasapeli.

jos comp_score < user_score:
Tulosta("Käyttäjä voittaa")
elif user_score < comp_score:
Tulosta("Tietokone voittaa")
muu:
Tulosta("Ottelun tasapeli")

Yhdistä kaikki koodit ja valmistaudu pelaamaan käsikrikettiä milloin tahansa, missä tahansa aivan sormiesi ulottuvilla.

Käsikriketin tulos Pythonilla

Voit nähdä käsikrikettipelin tuloksen Pythonilla seuraavasti:

Kun suoritat ohjelman, ohjelma pyytää sinua valitsemaan heiton valinnan ja antaa oikean tuloksen. Jos voitat, saat päättää, haluatko lyödä vai keilata, muuten tietokone tekee päätöksen. Jokainen pelivuoro jatkuu, kunnes numerot täsmäävät ja yksi peli päättyy. Lopulta tietokone vertaa lopputulosta ja julistaa voittajan.

Päätepohjaiset pelit Pythonissa

Pelien rakentaminen on hämmästyttävä tapa oppia Python ja se on hauskaa. Sinun ei tarvitse olla asiantuntija aloittaaksesi koodauksen ja kokeilun Pythonissa. Oikeilla perusteilla voit rakentaa upeita päätepelejä.

Aloita rakentamalla Magic 8 Ball, Hangman, Rock Paper Scissors, Mad Libs Generator ja Number Guessing Game. Kun etenet pidemmälle, tutustu PyGame-kirjastoon rakentaaksesi myös omia graafisia videopelejäsi.