投稿日 | : 2007/07/24(Tue) 15:11 |
投稿者 | : tea |
Eメール | : |
URL | : |
タイトル | : Re^2: 前回の投稿では解決していませんでした・・・。 |
> > For l = 0 To 1
> > For k = 1 To 5
> 〜 中略 〜
> > Next k
> > '外側のループ(l)を抜ける。
> > Exit For
> > Next l
>
> これだと l = 1の処理がされませんが
> 大丈夫ですか?
回答していただき本当にありがとうございます。
試してみましたが確かにおかしいです・・・。
l = 0の方ばかりで動作検証してましたので気がつきませんでした。
今のコードは以下のようになっていますが、依然としてファウルカウント
があった場合に0秒から01秒にして再度タイマーを起動させて0秒になる
とコードの上部のvsGameTime = 0からコードが読み込まれていきます。
これを回避するにはどうしたらよいでしょうか?
どうか教えてください。
よろしくお願いします。
'ゲームタイムタイマー(カウントダウンタイマー)
With vsGameTime
If 0 < .Value Then
.Value = .Value - 1
End If
End With
'' クオーターの終了。
'' 次のクオーターへ表示を更新して、停止。
If vsGameTime.Value = 0 Then
BeepBuzzer2
'---ブザービーターに備えて5秒間遅らせる。----
Delay 5000
For l = 0 To 1
For k = 1 To 5
'ゲームメンバーの誰かがファウルカウントされなかった場合
If Game.Team(l).GameMember(k).FoulCount = 0 Then
'時間待機はなし
Delay 0
'ゲームメンバーの誰かが1回だけファウルカウントされた場合
ElseIf Game.Team(l).GameMember(k).FoulCount = 1 Then
'ゲームタイマーに1秒加えて00:01にする。
vsGameTime.Value = 1
'一時停止。
pauseGame
'内側のループ(k)を抜ける。
Exit For
End If
Next k
Next l
'00:00秒になったらカウントダウンタイマーを停止。
tmrCountDown.Enabled = False
'次のクォーターへ移る。
readyNextQuarter