Java Slot Machine LoopJAVA

Программисты JAVA общаются здесь
Anonymous
Java Slot Machine Loop

Сообщение Anonymous »

Я все еще довольно новичок в Java, поэтому у меня есть некоторые проблемы с разработкой этой программы игровых автоматов. После того, как вы запустите программу в первый раз и вычислите вознаграждение (скажем, вы держите на 20 долларов и выигрываете 40 долларов, так что ваша новая сумма 120 долларов), она должна забрать назад и призвать: «Сколько бы вы хотели поспорить?» Опять же, а затем пройдите через игру со своей новой суммой (так что вы делаете ставку на часть своей 120 долларов вместо 100 долларов, которые играет вам в начале), а затем продолжайте делать это, пока у вас не закончится деньги. Но то, как он работает сейчас, игра продолжает начинать все сначала, поэтому пользователь переходит вокруг и начинается с 100 долларов каждый раз. Есть советы? < /P>

import java.util.Random;
import java.util.Scanner;
import java.io.*;
public class SlotMachineSimulation
{
public static void main(String [] args)
{
Scanner user_input = new Scanner (System.in);
Random randInt = new Random();

System.out.print("Welcome to the Slot Machine Simulator!\n" + "\nActions:" + "\n1. Start a new game" + "\n2. View scores" + "\n3. Exit\n");
System.out.print("\nPlease select an action: ");
int userAction = user_input.nextInt();

if (userAction == 1)
{
System.out.print("\nBefore the game begins, please enter your name: ");
String userName = user_input.next();
System.out.print("\nGame start! You will begin with $100.00." + "\nEnter a negative value to quit the game. " + "Good luck, " + userName + "!\n");

double startingSum = 100.00;
double userTotal = 0.0;
System.out.printf("\nYou currently have: $%.2f\n", startingSum);

do
{
System.out.print("\nHow much would you like to bet? ");
double userBet1 = user_input.nextDouble();
userTotal = (startingSum - userBet1);

//Beginning of random number generation
int val1 = randInt.nextInt(6) + 1;
int val2 = randInt.nextInt(6) + 1;
int val3 = randInt.nextInt(6) + 1;
String valName1 = " ", valName2 = " ", valName3 = " "; //For assignment of slot machine names to randomly generated values

switch (val1)
{
case 1:
valName1 = "Cherries";
break;
case 2:
valName1 = "Oranges";
break;
case 3:
valName1 = "Plums";
break;
case 4:
valName1 = "Bells";
break;
case 5:
valName1 = "Melons";
break;
case 6:
valName1 = "Bars";
break;
}

switch (val2)
{
case 1:
valName2 = "Cherries";
break;
case 2:
valName2 = "Oranges";
break;
case 3:
valName2 = "Plums";
break;
case 4:
valName2 = "Bells";
break;
case 5:
valName2 = "Melons";
break;
case 6:
valName2 = "Bars";
break;
}

switch (val3)
{
case 1:
valName3 = "Cherries";
break;
case 2:
valName3 = "Oranges";
break;
case 3:
valName3 = "Plums";
break;
case 4:
valName3 = "Bells";
break;
case 5:
valName3 = "Melons";
break;
case 6:
valName3 = "Bars";
break;
}

System.out.println("\n-------------------------------");
System.out.printf("%-12s%-10s%5s\n", valName1, valName2, valName3);
System.out.print("-------------------------------\n");

//Beginning of reward calculation
if (val1 == val2 || val2 == val3 || val1 == val3)
{
System.out.println("\nNumber of matches: 1");
double doubleReward = (userBet1 * 2);
double postBetSum = (userTotal + doubleReward);
System.out.printf("You have won: $%.2f", doubleReward);
System.out.printf("\nYou currently have: $%.2f", postBetSum);
}
else if (val1 == val2 && val2 == val3)
{
System.out.println("\nNumber of matches: 3");
double tripleReward = (userBet1 * 3);
double postBetSum = (userTotal + tripleReward);
System.out.printf("\nYou have won: $%.2f",tripleReward);
System.out.printf("\nYou currently have: $%.2f", postBetSum);
}
else
{
System.out.println("\nNumber of matches: 0");
System.out.println("You have won: $0.00");
System.out.printf("You currently have: $%.2f", userTotal);
}
} while (userTotal > 0.00);
} //end of #1 option
}
}


Подробнее здесь: https://stackoverflow.com/questions/268 ... chine-loop

Вернуться в «JAVA»