如果不使用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
我认为您正在寻找标签。如果你有嵌套的循环,你可以continue
外循环,如果它有一个标签:
outer:
while(x){
// ...
while(y){
// someone quit
continue outer;
}
// ...
}
通过将整个代码包装在while循环中,当您需要"退出"时,只需继续外部循环即可从头开始。
尝试将所有这些循环包装到另一个while(true)
中。这样,当游戏循环退出时,它会回到开始,等待更多玩家,然后继续玩游戏。