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: