Com cerca de 2,5 bilhões de fãs, o críquete é um dos maiores e mais populares esportes do mundo. Só na Índia, o críquete vale incríveis 5,3 bilhões de dólares. Sachin Tendulkar, Donald Bradman, Brian Lara e MS Dhoni são apenas algumas lendas cujos nomes vivem nos corações de milhões.
Não é de surpreender que o críquete tenha encontrado seu caminho para a realidade virtual, videogames e outras variações, como livro e críquete manual. Leve este jogo um passo adiante criando um jogo de críquete manual usando Python.
O que é o críquete de mão?
Hand cricket é um jogo em que dois jogadores competem entre si usando os dedos. Em cada turno, ambos os jogadores exibem um número usando os dedos ao mesmo tempo. Se as pontuações forem iguais, o batedor está fora, caso contrário, eles ganham seu número como corridas. Por fim, o jogador que marcar mais pontos vence o jogo.
Você pode construir este jogo e jogá-lo contra um computador também. Em vez de estender os dedos para representar a partitura, você a insere no programa. Python é uma das linguagens mais fáceis e convenientes de usar. Se você não tem experiência anterior com o Python, pode se familiarizar com qualquer um desses Cursos online gratuitos de Python para iniciantes.
Depois de aprender os fundamentos, é uma boa ideia criar miniprojetos e jogos para solidificar seu aprendizado. Você pode começar construindo um relógio digital, rolando dados, questionário ou um contador de palavras. Você também pode se inspirar nesses Ideias de projetos Python para iniciantes.
Como construir um jogo de críquete manual usando Python
Você pode encontrar o código-fonte do Hand Cricket Using Python neste GitHub repositório.
Importe a biblioteca aleatória, necessária para o lançamento inicial e as escolhas do computador. Defina uma função chamada input_num que aceita dois argumentos, min e máximo respectivamente para validar a entrada do usuário. Usando o entrada() função, armazena o número que o usuário insere na variável nume convertê-lo do tipo String padrão para Integer usando int().
Se o número digitado pelo usuário for maior que o limite máximo ou menor que o limite mínimo, peça ao usuário para inserir uma escolha válida chamando a função recursivamente. Se o número estiver dentro do intervalo, retorne-o.
importar aleatório
definput_num(mínimo máximo):
num = int (entrada())
se num > max ou num < min:
imprimir("Digite uma opção válida")
retornar input_num (min, max)
outro:
retornar num
Definir uma função entradas que aceita o batedor atual e as corridas para perseguir como argumentos de entrada. Peça ao usuário para inserir números no intervalo de um a seis. De acordo com as regras do críquete de mão, se tanto o usuário quanto o computador escolherem o mesmo número, o batedor atual está fora.
Inicializar uma variável total para armazenar o total de corridas marcadas por um batedor e defini-lo como zero. Comece um infinito enquanto loop e chamar o input_num() função para armazenar e validar a entrada do usuário. Use o módulo aleatório randint() função para escolher um número aleatório entre um e seis para o computador.
Exiba as escolhas de ambos os jogadores e verifique se são iguais. Se estiverem, mostre que o batedor está fora e retorne o total de corridas que ele marcou naquela entrada.
Caso contrário, verifique quem está rebatendo e adicione o valor apropriado à pontuação total, ou pnum ou cnum. Exibe a pontuação atual do batedor.
No caso do segundo turno, você deseja verificar se o batedor já superou o placar do oponente. Para isso, verifique se o to_chase valor não está vazio e se a pontuação do batedor for maior. Em caso afirmativo, devolva a pontuação vencedora.
defentradas(batedor, to_chase):
imprimir("Digite números entre 1 e 6. Se ambos escolherem o mesmo número, então " + batedor + " está fora")
total = 0enquantoVerdadeiro:
pnum = input_num(1, 6)
cnum = random.randint(1, 6)imprimir("Usuário escolheu", pnum)
imprimir("O computador escolheu", cnum)
se pnum == cnum:
imprimir (batedor + " está fora")
retornar total
outro:
total = total + (pnum se batedor == "Do utilizador"outro cnum)
imprimir (batedor + "pontuação é", total)
se to_chase énãoNenhume total > to_chase:
retornar total
Exiba a mensagem para o sorteio e valide a escolha do usuário usando o input_num() função. Jogue a moeda e armazene o resultado na variável moeda. Inicialize o valor padrão de jogador_bowls para falso. Se o lançamento da moeda corresponder à escolha do usuário, o usuário ganha o sorteio e escolhe entre rebatidas e boliche.
Pegue a escolha do usuário e verifique se ele inseriu alguma. Se sim, avalie a expressão como true e armazene no jogador_bowls variável. Exibir a escolha do usuário. Por outro lado, se o computador ganhou o sorteio, execute randint() e avaliar o valor adequado para jogador_bowls.
Exiba a escolha do computador e comece as entradas.
imprimir("Hora do lançamento, insira 0 para cara e 1 para coroa")
escolha = input_num(0, 1)
moeda = random.randint(0, 1)
jogador_bowls = Falsose moeda == escolha:
imprimir("Você ganhou o sorteio")
imprimir("Selecione 0 para rebater, 1 para lançar")
jogador_bowls = input_num (0, 1) == 1se jogador_bowls:
imprimir("Você escolheu jogar boliche")
outro:
imprimir("Você escolheu bater")
outro:
imprimir("O computador ganhou o sorteio")
player_bowls = random.randint(0, 1) == 1
se jogador_bowls:
imprimir("O computador escolheu bater")
outro:
imprimir("O computador escolheu jogar boliche")
Se jogador_bowls é verdade, o computador bate primeiro e vice-versa. Calcule as corridas marcadas em um turno usando a função definida anteriormente. A função requer o nome do batedor atual e as corridas para perseguir. Como o primeiro batedor define a pontuação, torne-a um parâmetro opcional e passe Nenhum. Para o segundo turno, passe a pontuação do batedor que definiu o alvo.
se jogador_bowls:
comp_score = innings("Computador", Nenhum)
pontuação_usuário = entradas("Do utilizador", comp_score)
outro:
pontuação_usuário = entradas("Do utilizador", Nenhum)
comp_score = innings("Computador", pontuação_usuário)
Se o computador pontuar menos que o usuário, o usuário ganha e vice-versa. Caso as pontuações sejam iguais, exibe um empate.
se comp_score < user_score:
imprimir("Usuário ganha")
elif user_score imprimir("Computador ganha")
outro:
imprimir("Empate do jogo")
Junte todo o código e prepare-se para jogar críquete a qualquer hora, em qualquer lugar, na ponta dos dedos.
A saída do Hand Cricket usando Python
Você pode ver a saída de um jogo de críquete usando Python da seguinte maneira:
Quando você executa o programa, ele pede que você escolha uma opção para o sorteio e atribui o resultado apropriado. Se você vencer, poderá decidir se quer rebater ou lançar, caso contrário, o computador tomará uma decisão. Cada entrada continua até que os números coincidam e um seja eliminado. No final, o computador compara a pontuação final e declara o vencedor.
Jogos baseados em terminal em Python
Construir jogos é uma maneira incrível de aprender Python e é muito divertido. Você não precisa ser um especialista para começar a codificar e experimentar em Python. Com os fundamentos certos, você pode criar alguns jogos de terminal incríveis.
Comece construindo o Magic 8 Ball, Hangman, Rock Paper Scissors, Mad Libs Generator e o Number Guessing Game. Conforme você avança, explore a biblioteca PyGame para construir seus próprios videogames gráficos.