Как остановить ввод в Perl?

Я делаю рефлекторную игру. Вот результат —

__________________________________________________________________________
Reflex game initiated. Press ENTER to begin the game, and then press ENTER 
after the asterisks are printed to measure your reflexes!.


*************************

Your result: 0.285606 seconds.
logout

[Process completed]
__________________________________________________________________________

Есть одна небольшая проблема — есть 0-10 секунд (исходя из случайной величины) после того, как вы нажмете Enter, чтобы начать игру, и до того, как будут напечатаны звезды. В течение этого времени, если игрок нажимает ENTER, это регистрируется как время его реакции. Поэтому мне нужен способ, чтобы мой код не читал их кнопку ENTER до того, как звезды будут напечатаны. Код -

#!/usr/bin/perl

use Time::HiRes qw(sleep);
use Time::HiRes qw(gettimeofday);

#random delay variable
$random_number = rand();

print "Reflex game initiated. Press ENTER to begin the game, and then press ENTER after         the asterisks are printed to measure your reflexes!.\n";

#begin button
$begin = <>;

#waits x milliseconds
sleep(10*$random_number);

#pre-game
$start = [ Time::HiRes::gettimeofday() ];

print "\n****************************\n";

#user presses enter
$stop = <>;

#post game
$elapsed = Time::HiRes::tv_interval($start);

#delay time print
print "Your result: ".$elapsed." seconds.\n";
10
задан anothermh 8 January 2019 в 02:00
поделиться