I lettori come te aiutano a sostenere MUO. Quando effettui un acquisto utilizzando i link sul nostro sito, potremmo guadagnare una commissione di affiliazione. Per saperne di più.

Con circa 2,5 miliardi di fan, il cricket è uno degli sport più grandi e popolari al mondo. Nella sola India, il cricket vale ben 5,3 miliardi di dollari. Sachin Tendulkar, Donald Bradman, Brian Lara e MS Dhoni sono solo alcune leggende i cui nomi vivono nel cuore di milioni di persone.

Non sorprende che il cricket abbia trovato la sua strada nella realtà virtuale, nei videogiochi e in altre varianti come il libro e il cricket a mano. Porta questo gioco un ulteriore passo avanti costruendo un gioco di cricket a mano usando Python.

Cos'è il cricket a mano?

Il cricket a mano è un gioco in cui due giocatori competono l'uno contro l'altro usando le dita. Ad ogni turno, entrambi i giocatori visualizzano un numero usando le dita contemporaneamente. Se i punteggi corrispondono, il battitore è eliminato, altrimenti guadagna il proprio numero man mano che corre. Alla fine, il giocatore che segna di più vince la partita.

instagram viewer

Puoi creare questo gioco e giocarci anche contro un computer. Invece di tendere le dita per rappresentare lo spartito, lo inserisci nel programma. Python è uno dei linguaggi più facili e convenienti da usare. Se non hai alcuna esperienza precedente nell'uso di Python, puoi metterti al passo con uno qualsiasi di questi corsi Python online gratuiti per principianti.

Una volta apprese le basi, è una buona idea costruire mini-progetti e giochi per consolidare il tuo apprendimento. Puoi iniziare costruendo un orologio digitale, lanciando dadi, quiz o un contatore di parole. Puoi anche trarre ispirazione da questi Idee per progetti Python per principianti.

Come costruire un gioco di cricket a mano usando Python

Puoi trovare il codice sorgente di Hand Cricket Using Python in questo Git Hub deposito.

Importa la libreria casuale, necessaria per il lancio iniziale e le scelte del computer. Definire una funzione denominata input_num che accetta due argomenti, min E max rispettivamente per convalidare l'input dell'utente. Usando il ingresso() funzione, memorizza il numero che l'utente inserisce nella variabile numed eseguirne il cast dal tipo String predefinito a Integer utilizzando intero().

Se il numero inserito dall'utente è maggiore del limite massimo o minore del limite minimo, chiedere all'utente di inserire una scelta valida chiamando la funzione in modo ricorsivo. Se il numero rientra nell'intervallo, restituirlo.

importare casuale

definput_num(minimo Massimo):
num = int (input())

Se numero > max O numero < minimo:
stampa("Inserisci scelta valida")
ritorno input_num (minimo, massimo)
altro:
ritorno num

Definire una funzione inning che accetta l'attuale battitore e le corse da inseguire come argomenti di input. Chiedere all'utente di inserire numeri compresi nell'intervallo da uno a sei. Secondo le regole del cricket a mano, se sia l'utente che il computer scelgono lo stesso numero, l'attuale battitore è eliminato.

Inizializza una variabile totale per memorizzare le corse totali segnate da un battitore e impostarle su zero. Inizia un infinito Mentre loop e chiama il input_num() funzione per memorizzare e convalidare l'input dell'utente. Usa i moduli casuali randint() funzione per scegliere un numero casuale compreso tra uno e sei per il computer.

Mostra le scelte di entrambi i giocatori, quindi controlla se sono uguali. Se lo sono, mostra che il battitore è eliminato e restituisci i punti totali che ha segnato in quell'inning.

Altrimenti, controlla chi sta battendo e aggiungi il valore appropriato al punteggio totale pnum O cmq. Mostra il punteggio attuale del battitore.

Nel caso del secondo inning, vuoi controllare se il battitore ha già battuto il punteggio del suo avversario. Per fare ciò, controlla se il inseguire il valore non è vuoto e se il punteggio del battitore è maggiore. In tal caso, restituire il punteggio vincente.

definning(battitore, to_chase):
stampa("Inserisci i numeri tra 1 e 6. Se entrambi scegliete lo stesso numero allora " + battitore + " è fuori")
totale = 0

MentreVERO:
pnum = input_num(1, 6)
cnum = casuale.randint(1, 6)

stampa("L'utente ha scelto", pnum)
stampa("Il computer ha scelto", cmq)

Se pnum == cnum:
stampa (battitore + " è fuori")
ritorno totale
altro:
totale = totale + (pnum Se battitore == "Utente"altro cmq)
stampa (battitore + "il punteggio è", totale)
Se inseguire ÈnonNessunoE totale > da_inseguire:
ritorno totale

Visualizza il messaggio per il lancio e convalida la scelta dell'utente utilizzando il input_num() funzione. Lancia la moneta e memorizza il risultato nella variabile moneta. Inizializza il valore predefinito di player_bowls a falso. Se il lancio della moneta corrisponde alla scelta dell'utente, l'utente vince il lancio e sceglie tra battuta e bowling.

Prendi la scelta dell'utente e controlla se ne ha inserita una. In caso affermativo, valutare l'espressione come true e memorizzarla in player_bowls variabile. Visualizza la scelta dell'utente. D'altra parte, se il computer ha vinto il sorteggio, esegui randint() e valutare il valore appropriato a player_bowls.

Visualizza la scelta del computer e inizia l'inning.

stampa("Tempo per il lancio, inserisci 0 per Testa e 1 per Croce")
scelta = input_num(0, 1)
moneta = random.randint(0, 1)
giocatore_ciotole = Falso

Se moneta == scelta:
stampa("Hai vinto il sorteggio")
stampa("Seleziona 0 per battere, 1 per lanciare")
giocatore_ciotole = input_num(0, 1) == 1

Se giocatore_bocce:
stampa("Hai scelto di lanciare")
altro:
stampa("Hai scelto di battere")
altro:
stampa("Il computer ha vinto il sorteggio")
giocatore_ciotole = random.randint(0, 1) == 1

Se giocatore_bocce:
stampa("Il computer ha scelto di battere")
altro:
stampa("Il computer ha scelto di lanciare")

Se player_bowls è vero, il computer batte prima e viceversa. Calcola i punti segnati in un inning utilizzando la funzione definita in precedenza. La funzione richiede il nome dell'attuale battitore e le corse da inseguire. Quando il primo battitore imposta il punteggio, rendilo un parametro opzionale e passa Nessuno. Per il secondo inning, passa il punteggio del battitore che ha fissato il bersaglio.

Se giocatore_bocce:
comp_score = inning("Computer", Nessuno)
user_score = inning("Utente", comp_score)
altro:
user_score = inning("Utente", Nessuno)
comp_score = inning("Computer", punteggio_utente)

Se il computer ottiene un punteggio inferiore all'utente, l'utente vince e viceversa. Nel caso in cui i punteggi siano gli stessi, visualizza un pareggio.

Se punteggio_comp < punteggio_utente:
stampa("L'utente vince")
elif user_score < comp_score:
stampa("Il computer vince")
altro:
stampa("Pareggio partita")

Metti insieme tutto il codice e preparati a giocare a hand cricket sempre e ovunque a portata di mano.

L'output di Hand Cricket usando Python

Puoi vedere l'output di una partita di hand cricket Usando Python come segue:

Quando esegui il programma, il programma ti chiede di scegliere una scelta per il lancio e assegna il risultato appropriato. Se vinci, puoi decidere se vuoi battere o lanciare, altrimenti il ​​computer prende una decisione. Ogni inning continua finché i numeri non corrispondono e uno è eliminato. Alla fine, il computer confronta il punteggio finale e dichiara il vincitore.

Giochi basati su terminale in Python

Costruire giochi è un modo fantastico per imparare Python ed è molto divertente. Non devi essere un esperto per iniziare a programmare e sperimentare in Python. Con le basi giuste, puoi creare fantastici giochi per terminali.

Inizia costruendo Magic 8 Ball, Hangman, Rock Paper Scissors, Mad Libs Generator e il gioco di indovinare i numeri. Mentre avanzi ulteriormente, esplora la libreria PyGame per creare anche i tuoi videogiochi grafici.