2016-10-04 11 views
0

私は行列testNumbers = [1, 3, 8, 6, 9, 7]を持っています。プロンプトユーザ入力、時間4秒、再度プロンプト

今私がしたいのは、入力を促し、その入力がtestNumbers(1)と等しいかどうかを確認することです(後で、何かを実行するために何かを行う場合)。そして4秒後にユーザーを作り続ける数字をもう一度入力してください。今回は、testNumbers(2)がユーザープロンプトと等しいかどうかを確認してください。これはlength(testNumbers)が終了するまで続きます。

これはできますか?私はforループを使用しなければならないと仮定しますが、私は全く新しいので、例は素晴らしいでしょう。そして、私はこれを構築し続けます。

例:

testNumbers = [1, 3, 8, 6, 9, 7] 
  1. タイマがスタート(4秒)T内
  2. ユーザ入力1 < = 4秒
  3. ( '正しい')DISPような何かを
  4. ユーザー入力内の3は< = 4秒
  5. disp( 'Correct')のようにする
  6. ユーザートン内
  7. ユーザ入力5 < = 4秒で入力8が、時間がDISP(「時間なくなっ」)のような何かをする
  8. を走る必要がありますが間違っている、6
  9. DISPような何かをしなければなりません(「間違った」)
  10. あなたは2点間の経過時間を計測するtictocを使用することができます行列が終了するまで...

答えて

3

次のように続けます。ユーザ入力の前に(タイマを開始するために)ticを置き、その時点から経過した時間をチェックする場合はいつでもtocを使用することができます。マルチプルtocを使用することができ、それらはすべて最も近いticを参照します。

% Start the timer 
tic 

% Prompt the user for input 
value = input('Enter a number:'); 

elapsed_time = toc; 

% If the response took more than 4 seconds 
if elapsed_time > 4 
    disp('took too long') 
end 

あなたは4秒を待ちたい(あなたのタイトルの状態として)代わりにした場合は、私は私のタイトルを変更した

input('Enter a number:'); 

pause(4) % Pause for 4 seconds 

% Do something else 
+0

一定時間のためにあなたのプログラムの実行を一時停止するpauseを使用することができます。各ティックとトックの間に経過時間を得ることは可能ですか? –

+1

@Lasseそれは正確に 'toc'が返すものです。もう少し明確になるように更新しました – Suever

+0

私はそれを手に入れました。時間がなくなったらプロンプトを中止できますか?のような:elapsed_time> 4の場合 - 中止プロンプト - -do何か - 今すぐユーザーは時間がなくても入力することができます。私はそれを防ぐことができますか、または間に何かをディスパッチできますか? –