我想制作一款纸牌游戏,例如Android的Spades游戏。在这个游戏中(不同的黑桃),最高出价者将决定胜负。因此,在出价过程中,所有玩家(北,西和东玩家都是机器)必须至少出价一次,并且如果一个以上的玩家不说“及格”,他/她应该再次出价。
机器将进行3次竞标,而玩家将进行1次(南竞标)。对于此代码,如果我使用while循环,则当南方回合到来时出价页面不会出现,而玩家的回合以无所事事结束。因此,while循环也永远不会结束(请参见代码)。
有人可以提些建议吗?
public void bidding () {
turn = 0;
boolean finish = false;
maxbid = 0;
while (!finish){
if (turn == 0) {
southBid();
if (Npass == 1 && Spass == 1 && Wpass == 1 && Epass == 1) {
finish = true;
}
} else if (turn == 1) {
eastBid(); // machine says 8 or pass in this method.
if (Npass == 1 && Spass == 1 && Wpass == 1 && Epass == 1) {
finish = true;
}
} else if (turn == 2) {
northBid(); // machine says 8 or pass in this method.
if (Npass == 1 && Spass == 1 && Wpass == 1 && Epass == 1) {
finish = true;
}
} else if (turn == 3) {
westBid(); // machine says 8 or pass in this method.
if (Npass == 1 && Spass == 1 && Wpass == 1 && Epass == 1) {
finish = true;
}
}
turn++;
turn = turn % 4;
}
}