Vamos fazer um jogo de corrida de teclado simples usando Python. No jogo, o participante clica em um par de teclas em rápida sucessão e o programa mostra o tempo total gasto pelo piloto para percorrer a distância.

Regras:
Assim que você ver 'GO!' na tela, comece pressionando as teclas 'z' e 'x'. Um sinal '*' é mostrado para cada metro coberto. Pressionar 'z' e 'x' uma vez será contado como 1 metro; alvos é cobrir 10 metros.

Módulos usados:

msvcrt : Usado para obter o pressionamento de tecla como entrada para o tempo de corrida
 : usado para calcular o tempo necessário para completar a corrida

Observe que o módulo MSVCRT só pode funcionar em uma janela de terminal, não em um programa GUI / IDE.

Abaixo está o código:



import msvcrt 
import time 
  
high_score = 17.78
name = "GeeksforGeeks"
while True: 
    distance = int(0) 
    print('\n--------------------------------------------------------------') 
    print('\n\nWelcome to the 100m sprint, tap z and x rapidly to move!') 
    print('* = 10m') 
    print('\nCurrent record:' + str(high_score) + ' by: ' + name) 
    print('\nPress enter to start') 
    input() 
    print('Ready...') 
    time.sleep(1) 
    print('GO!') 
  
    start_time = time.time() 
    while distance < 10: 
k1 = msvcrt.getch().decode('ASCII') 
        if k1 == 'z': 
            k2 = msvcrt.getch().decode('ASCII') 
            if k2 == 'x': 
                distance += 1
                if distance == 5: 
                    print("* You're halfway there!") 
                elif distance % 1 == 0: 
                    print('*') 
  
    fin_time = time.time() - start_time 
    fin_time = round(fin_time, 2) 
  
    print('Congratulations on successfully completing the race!') 
    print('You took', fin_time, 'seconds to reach the finish line') 
  
    if fin_time < high_score: 
        print("Well done you've got a new high score ") 
        name = input("Please enter your name : ") 
        high_score = fin_time 

Resultado:

Game Initiate

Jogo em progresso

Jogo terminado: novo recorde