2012-02-08 7 views
-1

gotoを使用せずにこれを行う方法はわかりません。Java Cardゲームサーバー、gotoを持たずに最初から起動する方法を理解できません

少なくとも2人のプレイヤーを待っている状態のネットワークカードを作成しています。2人のプレイヤーが入った後、ゲームが終了するとループが繰り返されます。このループの中には、シャッフル用のループが3つあります。 3つのループのいずれかで、プレイヤーが終了し、唯一の1があるか、何のプレイヤーが残っていない場合は、どのように私はそれが2人のプレーヤーのループを待っているコードの先頭に行く

Do{ 
// waiting for two player??? 
…....... 
} while less then 2 players 
while(true) 
{ 
    shuffle cards 
    wait for all players to see cards 

    ****** if players quit how can it go to waiting state 

    do{ 
     turn card over 
     ****** if players quit how can it go to waiting state 
     wait for all players to see card 
     Look at the card blown up 
      } while turn over cards<12) 
} // true reloop game 

答えて

1

あなたはラベルを探していると思います。あなただけ起動する外側のループを続け、「終了」する必要がある場合は、whileループでは、あなたのコード全体を包むことで

outer: 
while(x){ 
    // ... 

    while(y){ 

     // someone quit 
     continue outer; 

    } 

    // ... 
} 

:あなたは、ループを入れ子にしている場合は、ラベルを持っている場合は、外側のループをcontinueすることができます最初から戻ってくる。

+0

あなたは 'break outer;'と言いたいこともあります。また、私はラベルを意味のある名前にしたいと思います。特に、 'continue'はうまく読みます。例えば、' continue waitingForTwoPlayers' – Bohemian

1

は、すべてのラップ試してみてくださいされていることを確認することができますそれらのループの周りに別のwhile(true)。こうすることで、ゲームループが終了すると、最初に戻り、より多くのプレイヤーを待ってから、ゲームをやり直します。

関連する問題