制限時間内のキー入力検査
Posted feedbacks - PHP
trimを使うと末尾のスペースまで無くなってしまうジレンマ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <?php
InputChecker(5, "ABCDEF");
function InputChecker($limitTime, $compareString){
$startTime = microtime(true);
echo "input($compareString) =>";
$inputString = fgets(STDIN);
$endTime = microtime(true);
if($endTime - $startTime > $limitTime){
echo "TimeOut";
}else{
if(strrchr($inputString, "\n"))
$inputString = substr($inputString, 0, strlen($inputString)-1);
if(strrchr($inputString, "\r"))
$inputString = substr($inputString, 0, strlen($inputString)-1);
if($inputString == $compareString){
echo "OK";
}else{
echo "NG";
}
}
}
?>
|


raynstard
#3420()
Rating0/2=0.00
関数 InputCheckerは、以下の仕様を満たしてください。
たとえば、「InputCheker(5, "ABCDEF")」と指定した場合、 出力例はこんな感じです。
1. input(ABCDEF) =>と出力して入力待ちをし、ユーザーが「ABCDEF<ENTER>」を入力したとき、 入力開始から5秒以内ならば「OK」、5秒をこえていれば「TIME OUT」を出力します。 このとき、ユーザーがキーを押下しなければ1. を出力してから たとえ10秒たっていても「TIME OUT」にはならないので注意してください。 時間計測はあくまでユーザーが入力を開始してからです。
このお題はraynstardさんの投稿です。ご協力ありがとうございます。
[ reply ]