Я все еще новичок в Java, поэтому у меня возникли некоторые проблемы при работе с этой программой для игрового автомата. После того, как вы запустите программу в первый раз и рассчитаете вознаграждение (скажем, вы поставили 20 долларов и выиграли 40 долларов, то есть ваша новая сумма составит 120 долларов), она должна выполнить цикл и запрос: «Сколько бы вы хотели поставить?» еще раз, а затем пройдите игру с новой суммой (так что вы ставите часть своих 120 долларов вместо 100 долларов, которые игра дает вам в начале), а затем продолжайте делать это, пока у вас не закончатся деньги. Но, как это работает сейчас, игра постоянно начинается заново, поэтому пользователь каждый раз начинает циклически со 100 долларов. Есть какие-нибудь советы?
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 ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как получить доступ к элементам конечного автомата из подгосударственного автомата?
Anonymous » » в форуме C++ - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-