Preciso modificar o jogo Craps, de modo que o mesmo permita apostas. Foi criado um atribudo chamado bankBalance o qual iniciliza com 1000 dólares, após o jogador inserir a aposta é verificado se ela é menor ou igual ao bankBalance, caso for menor, o jogador devera reinserir o valor da aposta. Depois de um valor válido inserido é executado o jogo de dados. Caso o jogador ganhe é acrescentado a aposta ao bankBalance. Se o jogador perder é subtraído o valor da aposta do bankBalance e exibido o novo bankBalance, se o novo bankBalance tenha se tornado 0, é exibida a seguinte mensagem “Desculpe mas, você faliu”. A medida em que o jogo vai se desenvolvendo é exibido várias mensagens adequadas à situação para criar uma conversa com o usuário, como:
“Ihh, parece que você vai quebrar hein?”
“Hey, vamos lá, dê uma chance para sua sorte!”
“Você está montado na grana, agora é hora de trocar as fichas e embolsar o dinheiro”.
Consegui fazer determinadas coisas como por exemplo : Fazer o jogador inserir uma aposta válida;
Exibir a mensagem “Desculpe mas, você faliu”.
Preciso de ajuda para completar o restante da atividade.
Segue o código:
public class Craps {
private static final Random randomNumbers = new Random();
public double bankBalance = 1000;
public double aposta = 0;
public double novo;
public double novo1;
public int res;
public int cont =0;
public double soma = 0;
private enum Status {
Continue, Ganhou, Perdeu
};
private static final int Snake_Eyes = 2;
private static final int Trey = 3;
private static final int Seven = 7;
private static final int Yo_Eleven = 11;
private static final int Box_cards = 12;
public void play() {
int myPoint = 0;
Status gameStatus;
int sumOfDice = rollDice();
switch (sumOfDice) {
case Seven:
case Yo_Eleven:
gameStatus = Status.Ganhou;
break;
case Snake_Eyes:
case Trey:
case Box_cards:
gameStatus = Status.Perdeu;
break;
default:
gameStatus = Status.Continue;
myPoint = sumOfDice;
System.out.printf("Sua pontuação é: %d\n", myPoint);
break;
}
while (gameStatus == Status.Continue) {
sumOfDice = rollDice();
if (sumOfDice == myPoint) {
gameStatus = Status.Ganhou;
} else if (sumOfDice == Seven) {
gameStatus = Status.Perdeu;
}
}
if (gameStatus == Status.Ganhou) {
System.out.println("Jogador ganhou");
novo = bankBalance+aposta;
System.out.println("Novo bankBalance: " + novo);
} else {
System.out.println("Jogador perdeu");
novo= bankBalance - aposta ;
System.out.println("Novo bankBalance: " + novo);
System.out.println("Desculpe, mas você faliu");
}
if(novo > 0 && novo < 5000){
System.out.println("Hey, vamos lá, dê uma chance a sua sorte!");
}
if(novo == 5000){
System.out.println("“Você está montado na grana, agora é hora de trocar as fichas e embolsar o dinheiro”.");
}
}
public int rollDice() {
int die = 1 + randomNumbers.nextInt(6);
int die2 = 1 + randomNumbers.nextInt(6);
int sum = die + die2;
System.out.printf("Player rolled %d + %d = %d\n", die, die2, sum);
return sum;
}
}
public class TestCraps {
public static void main(String[] args) {
Craps game = new Craps();
Scanner entrada = new Scanner(System.in);
while(game.aposta < game.bankBalance){
System.out.print("Entre com valor da aposta: ");
game.aposta = entrada.nextDouble();
if (game.aposta >= game.bankBalance) {
game.play();
} else {
System.err.println("Valor da aposta inválido");
}
}
if (game.novo != 0){
game.play();
}
}
}