非常感谢任何帮助!
我是java的新手,需要为大学项目制作java应用程序(蛇和梯子),但却被卡住了。
我面对骰子动作的问题我已完成编码,但它提供随机数,问题是:
我曾经告诉过,只有骰子值为1或6才能开始游戏。 那么我该如何预定它以使我的骰子的初始值为1或6?
第二个问题,如果玩家的骰子值为6,他应该再获得一次机会。
代码:
if(togglePlayer==1){
turnIndicator.setText("Player A's turn");
togglePlayer=0; // using togglePlayer to switch between players
if(cheatInjector==0){
face=1;
cheatInjector=1;
}
else{face=r.nextInt(6);
}
switch (face)
{
case 0:
rollDice1(primaryStage);
face = 1;
break;
case 2:
rollDice2(primaryStage);
face = 2;
break;
case 3:
rollDice3(primaryStage);
face = 3;
break;
case 4:
rollDice4(primaryStage);
face = 4;
break;
case 5:
rollDice5(primaryStage);
face = 5;
break;
case 6:
rollDice6(primaryStage);
face = 6;
break;
}
答案 0 :(得分:0)
我一直告诉说,只有骰子值才能开始游戏 是1或6.所以我如何预定义它,以便我的骰子的初始值是 1还是6?
这里有两个不同的问题。
如果您的骰子卷是1或6,要开始游戏,应该如下所示:
int diceRoll = rollDice();
if (diceRoll == 1 || diceRoll == 6) {
// start game
}
要预定义您的骰子,只需:
int diceRoll = 1;
// or
int diceRoll = 6;
第二个问题,如果玩家的骰子值是6,他应该得到另一个 机会。
你在这里没有真正提出问题,但是如果你总是想在6岁时再次滚动,你可以这样做:
int diceRoll = 0;
do {
diceRoll = rollDice();
} while (diceRoll == 6);
但是还有很多其他方法可以实现它。
只是给你一个开始而不是做功课的地方。
答案 1 :(得分:0)
public static int rollDice(int repeat) {
System.out.println("ROLLING DICE...PRESS ANY KEY TO CONTINUE:");
Scanner in = new Scanner(System.in);
String cont = in.nextLine();
int rolledNo = (int) (Math.random() * 6) + 1;
if (rolledNo == 6) {
System.out.println("NUMBER IS:" + rolledNo + ". ANOTHER CHANCE.");
rollDice(repeat++);
} else {
System.out.println("NUMBER IS:" + rolledNo);
}
int finalCount = rolledNo + (repeat * 6);
return finalCount;
}