投稿日 | : 2007/07/21(Sat) 16:08 |
投稿者 | : tea |
Eメール | : |
URL | : |
タイトル | : Re^6: 時間待機中にカウントがあった場合のコードの記述を教えてください。 |
> For文がおかしいと解っているのであれば、そこを変更して
> フローチャートを書き直してください。
> もし、フローチャートを書けないというのであれば、
> 希望する処理を順番に箇条書きにして投稿してみてください。
ひまびとさん、回答本当にありがとうございます。
最初に投稿したコードの順番を箇条書きで書きます。
1.もし、ゲームタイムが00:00秒なら
2.ブザー音
3.5秒待機
4.繰り返し処理(For チーム0&1)
5.繰り返し処理(For プレイヤー1から5名)
6.ファウルカウントの処理(select)
7.チーム0のプレイヤー1のファウルカウントが0ならばプレイヤーのFor文を抜ける
8.チーム0のプレイヤー1のファウルカウントが0ならばチームののFor文を抜ける
9.チーム0のプレイヤー1のファウルカウントが1ならばゲームタイム表示
10.チーム0のプレイヤー1のファウルカウントが1ならばゲームタイムに1秒加えて00:01とする。
10.チーム0のプレイヤー1のファウルカウントが1ならばゲームスタートボタンを非表示にする。
11.チーム0のプレイヤー1のファウルカウントが1ならばゲーム再開ボタンを表示する。
12.select文の終了。
13.繰り返し処理。
14.繰り返し処理。
とここまで書いて以下のようにしたらいいのではないかと思い、実行してみました。
If vsGameTime.Value = 0 Then
BeepBuzzer2
'---ブザービーターに備えて5秒間遅らせる。----
Delay 5000
For l = 0 To 1
For k = 1 To 5
Select Case Game.Team(l).Player(k).FoulCount
Case 0
Exit For
Exit For
Case 1
vsGameTime.Enabled = True
vsGameTime.Value = 1
cmdGameStart.Enabled = False
cmdGamePause.Enabled = True
Exit For←ここを追加。
Exit For←ここを追加。
End Select
Next
Next
'---------------------------------------------
tmrCountDown.Enabled = False
readyNextQuarter
End if
結果は失敗でした。というか何も変わりませんでした・・・。
プレイヤーは各チームに5名で、どのプレイヤーになるかはわからないですが
その中の1名がファウルカウントを取ったらの処理です。
前回の投稿でFor文を見直せとの事でしたが、他の選択肢が思い浮かびません。
教えてください。
よろしくお願いします。