DOBON.NET DOBON.NETプログラミング掲示板過去ログ

旗揚げゲームの問題文関連の処理について

環境/言語:[VB.NET2008 WindowsXP]
分類:[.NET]

前に旗揚げの画像の切り替えについて質問した893という者ですが、今度は別のことで詰まって困っています。

困っていることとは、問題が出たとき「3秒以内に問題に答えない(ボタンを押さない)と不正解になるが、ここでもし3秒以内にボタンを押したら、そこからまた3秒以内にボタンを押さないと不正解になる。」という処理にしたいんですが、どういう風に書いたらいいか分かりません。

今の説明だと少し分かりづらいと思うのでもっと分かりやすく図?で説明します。
(逆にもっと分かりづらかったらごめんなさい。)

↓理想。

開始 不正解 不正解 不正解
↓   ↓   ↓   ↓
|−−−|−−−|−−−|−−−|−−−|−−−|…  ←制限時間
  ↑
 ボタンを押す。(正解でも不正解でも構わない。)
  |−−−|−−−|−−−|… 
  ↑   ↑   ↑  ↑ 
  再開 不正解 不正解 |
            ボタンを押す。
             |−−−|…
             ↑   ↑
             再開 不正解
ボタンを押した為、考える時間が3秒に。正解しても、いきなり不正解になったりせず、ちゃんと3秒間待ってくれる。

こんな感じにしたいのですが。


↓現実

始  答えても構わず、一定時間(3秒毎)に不正解処理が起きてしまう。 
↓   ↓   ↓   ↓   ↓   ↓
|−−−|−−−|−−−|−−−|−−−|−−−|…
  ↑  ↑     ↑
 ボタンを押す。(正解でも不正解でも構わない。)
この場合、制限時間内にボタンを押して正解しても、何もしていないのにいきなり不正解になってしまう。

と、こんな感じになってしまいます。

これでは旗揚げゲームとして成り立たないので、何とかしたいのですが、どうやってプログラムを書いたらいいか分からず困っています。

何方かご教授ください。お願いします。orz
長文ですみません。
図がめっちゃずれてるので修正します。
これでさっきより良くなっているはず・・・。

↓理想。

開始 不正解 不正解 不正解
↓    ↓     ↓     ↓
|−−−|−−−|−−−|−−−|−−−|−−−|…  ←制限時間
  ↑
 時間内にボタンを押す。(正解でも不正解でも構わない。)
  |−−−|−−−|−−−|… 
  ↑     ↑     ↑  ↑ 
  再開 不正解 不正解 |
              ボタンを押す。
                 |−−−|…
                 ↑     ↑
                 再開 不正解
ボタンを押した為、考える時間が3秒に。正解しても、いきなり不正解になったりせず、ちゃんと3秒間待ってくれる。

こんな感じにしたいのですが。


↓現実

始  答えても構わず、一定時間(3秒毎)に不正解処理が起きてしまう。 
↓     ↓    ↓     ↓     ↓    ↓
|−−−|−−−|−−−|−−−|−−−|−−−|…
   ↑   ↑      ↑
 ボタンを押す。(正解でも不正解でも構わない。)
■No23275に返信(893さんの記事)
> 前に旗揚げの画像の切り替えについて質問した893という者ですが、今度は別のことで詰まって困っています。
>
> 困っていることとは、問題が出たとき「3秒以内に問題に答えない(ボタンを押さない)と不正解になるが、ここでもし3秒以内にボタンを押したら、そこからまた3秒以内にボタンを押さないと不正解になる。」という処理にしたいんですが、どういう風に書いたらいいか分かりません。
とりあえず「正解・不正解」になる部分ですが
A 正解のボタンを押す→正解
B 不正解のボタンを押す→不正解
C 3秒以内にボタンを押さない→不正解

AとBは実装するのは簡単だと思いますので割愛します.
Cについてですが,「回答開始時刻(仮にStartTime)」を”問題を提示したとき”に設定し,
「タイマーコントロールを使い一定間隔で,StartTimeから現在時刻までの時刻差をとり,
3秒以上であったら不正解にする」の様に作ってみてはいかがでしょう?
> Cについてですが,「回答開始時刻(仮にStartTime)」を”問題を提示したとき”に設定し,
> 「タイマーコントロールを使い一定間隔で,StartTimeから現在時刻までの時刻差をとり,
> 3秒以上であったら不正解にする」の様に作ってみてはいかがでしょう?


試行錯誤の上、なんとかできました!
なるほど、そういう考え方をするのか・・・。

もさん。質問にお答え下さり、誠に有難う御座いました!
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板