VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 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


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -