Игра крэпс, за исключением тех случаев, когда я пытаюсь это сделать, каждый раз, когда создается число 10 (DRAW
), я бы хотел, чтобы программа продолжала работать. Каждый раз, когда производится 10, программа закрывается.
Я думал, что добавление оператора while
даст желаемые циклы, но это не так.
private enum Status { CONTINUE, DRAW, WON, LOST };
private static final int SNAKE_EYES = 2;
private static final int TREY = 3;
private static final int SEVEN = 7;
private static final int YO_LEVEN = 11;
private static final int BOX_CARS = 12;
private static final int TENN = 10;
public static void main (String[] args){
int myPoint = 0;
int drawPoint = 10;
Status gameStatus;
int sumOfDice = rollDice();
switch (sumOfDice)
{
case TENN:
gameStatus = Status.DRAW;
drawPoint = sumOfDice;
System.out.printf("Point is %d%n", drawPoint);
break;
case SEVEN:
case YO_LEVEN:
gameStatus = Status.WON;
break;
case SNAKE_EYES:
case TREY:
case BOX_CARS:
gameStatus = Status.LOST;
break;
default:
gameStatus = Status.CONTINUE;
myPoint = sumOfDice;
System.out.printf("Point is %d%n", myPoint);
break;
}
while (gameStatus == Status.CONTINUE && gameStatus == Status.DRAW)
{
sumOfDice = rollDice();
if (sumOfDice == myPoint)
gameStatus = Status.WON;
else
if (sumOfDice == SEVEN)
gameStatus = Status.LOST;
}
if (gameStatus == Status.WON)
System.out.println("Player wins");
else
System.out.println("Player loses");
}```
Every time the number 10 is rolled I expect the program to start roll again.