Я все еще новичок в 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
Программисты JAVA общаются здесь
1731686540
Anonymous
Я все еще новичок в 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
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/26897791/java-slot-machine-loop[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия