Carreras de teclado simples con Python

Hagamos un juego de carreras de teclado simple usando Python. En el juego, el participante hace clic en un par de teclas en rápida sucesión y el programa muestra el tiempo total que le tomó al corredor cubrir la distancia.

Reglas: 
Tan pronto como vea ‘GO!’ en pantalla, empieza a pulsar las teclas ‘z’ y ‘x’. Se muestra un signo ‘*’ por cada metro recorrido. Presionar ‘z’ y ‘x’ una vez contará como 1 metro; objetivos es cubrir 10 metros.

Módulos utilizados: 

msvcrt : Used to get keystroke as input for race
time : Used to calculate time taken to complete the race

Tenga en cuenta que el módulo MSVCRT solo puede funcionar en una ventana de terminal, no en un programa GUI/IDE.

A continuación se muestra el código:  

Python3

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

Producción: 

Iniciar juego

Juego en progreso

Juego terminado: nuevo puntaje alto

Publicación traducida automáticamente

Artículo escrito por rajatg98 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *