游戏Java随机生成器与立方体,而如果做而
可爱的人们, 我被我的java程序卡住了。如果我运行我的程序,它就不能正常工作。如果computerSpeler抛出1或2x1,则应轮到Menspeler。我的程序有什么问题
import java.util.Random;
public class Spel {
private EgbertComputerSpeler computerSpeler;
private MensSpeler mensSpeler;
private boolean mensSpelerBegint;
public static final int HET_SPEL_IS_UIT_SCORE = 100;
private int dobbelsteen1;
private int dobbelsteen2;
private Random generator = new Random();
private int scoreComputer;
private int scoreMens;
private int worpen;
private int beurt;
public Spel() {
computerSpeler = new EgbertComputerSpeler(HET_SPEL_IS_UIT_SCORE);
mensSpeler = new MensSpeler(HET_SPEL_IS_UIT_SCORE);
mensSpelerBegint = generator.nextBoolean();
}
public void dobbel() {
dobbelsteen1 = generator.nextInt(6) + 1;
dobbelsteen2 = generator.nextInt(6) + 1;
worpen = worpen + 1;
beurt = beurt + dobbelsteen1 + dobbelsteen2;
}
public void speelSpel() {
while (scoreMens <100 || scoreComputer < 100) {
if (mensSpelerBegint) {
do {
dobbel();
if (dobbelsteen1 == 1 && dobbelsteen2 == 1) {
scoreMens = scoreMens + 25 ;
mensSpelerBegint = false;
}
else if (dobbelsteen1 == 1 || dobbelsteen2 == 1) {
scoreMens = scoreMens + 0 ;
mensSpelerBegint = false;}
} while (mensSpeler.wilGooien(false, worpen,
scoreMens, scoreComputer));
scoreMens = beurt + scoreMens;
worpen = 0;
beurt = 0;
}
else {
do {
dobbel();
if (dobbelsteen1 == 1 && dobbelsteen2 == 1) {
scoreComputer = scoreComputer + 25;
mensSpelerBegint = true;}
else if (dobbelsteen1 == 1 || dobbelsteen2 == 1) {
scoreComputer = scoreComputer + 0;
mensSpelerBegint = true;}
} while (computerSpeler.wilGooien(false, worpen,
scoreMens, scoreComputer));
scoreComputer = beurt + scoreComputer;
worpen = 0;
beurt = 0;
}
}
}
}
谢谢
# 1 楼答案
您的问题是代码基本上是这样工作的(假设我正确理解代码)
是的,您正在将其设置为计算机的轮到,但它仍然卡在
do-while
循环中,直到wilGooien
设置为false您需要做的是
break;
除了将其设置为计算机的轮次之外,还将其移出循环