[英]Desperately in need of help. Java assignment
這段代碼是學校的作業。 每次我下注並連續獲得三個符號時,它不會將分數添加到我之前擁有的硬幣總數中。 例如,如果我要得分@@@ 並且我下注 10 個硬幣,那么我的新總數將是 1000 個硬幣,但它會忽略這一點並在我沒有得分 @@@ 時采取行動。 我還希望對任何其他錯誤有所幫助,而且我對 java 還是很陌生。
import java.util.Scanner;
public class SlotMachine {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
Scanner keyboard = new Scanner(System.in);
Random randInt = new Random();
System.out.println("Welcome to The Taskin Casino!");
System.out.println("");
System.out.println("Remember, getting:");
System.out.println("### means x2");
System.out.println("$$$ means x5");
System.out.println("&&& means x20");
System.out.println("@@@ means x100");
System.out.println("");
System.out.println("Now, you will be starting off with 100 coins. Good luck!");
double postBetSum;
double userCoins = 100.00;
double userBet = 0;
userCoins -= userBet;
do {
System.out.print(" How much would you like to bet? ");
userBet = input.nextDouble();
userCoins = (userCoins - userBet);
if (userBet < 1 || userBet > 10) {
System.out.println("The number of coins you can bet can only be from 1-10!");
userBet = input.nextDouble();
}
else if (userBet >= 1 && userBet <= 10) {
} while(userBet < 1 || userBet > 10);
int spin1 = randInt.nextInt(4) + 1;
int spin2 = randInt.nextInt(4) + 1;
int spin3 = randInt.nextInt(4) + 1;
String spinName1 = " ", spinName2 = " ", spinName3 = " ";
switch (spin1)
{
case 1:
spinName1 = "#"; break;
case 2:
spinName1 = "$"; break;
case 3:
spinName1 = "&"; break;
case 4:
spinName1 = "@"; break;
}
switch (spin2)
{
case 1:
spinName2 = "#"; break;
case 2:
spinName2 = "$"; break;
case 3:
spinName2 = "&"; break;
case 4:
spinName2 = "@"; break;
}
switch (spin3)
{
case 1:
spinName3 = "#"; break;
case 2:
spinName3 = "$"; break;
case 3:
spinName3 = "&"; break;
case 4:
spinName3 = "@"; break;
}
System.out.println("-------------------------------");
System.out.printf("%-12s%-10s%5s\n", spinName1, spinName2, spinName3);
System.out.print("-------------------------------\n");
if (spin1 == 1 && spin2 == 1 && spin3 == 1)
{
double doubleReward = (userBet * 2);
postBetSum = (userCoins + doubleReward);
System.out.printf("3 in a row! You have won: $%.2f",doubleReward);
System.out.printf(" You currently have: $%.2f", postBetSum);
}
else if (spin1 == 2 && spin2 == 2 && spin3 == 2)
{
double doubleReward = (userBet * 5);
postBetSum = (userCoins + doubleReward);
System.out.printf("3 in a row! You have won: $%.2f",doubleReward);
System.out.printf(" You currently have: $%.2f", postBetSum);
}
else if (spin1 == 3 && spin2 == 3 && spin3 == 3)
{
double doubleReward = (userBet * 20);
postBetSum = (userCoins + doubleReward);
System.out.printf("3 in a row! You have won: $%.2f",doubleReward);
System.out.printf(" You currently have: $%.2f", postBetSum);
}
else if (spin1 == 4 && spin2 == 4 && spin3 == 4)
{
double doubleReward = (userBet * 100);
postBetSum = (userCoins + doubleReward);
System.out.printf("3 in a row! You have won: $%.2f",doubleReward);
System.out.printf(" You currently have: $%.2f", postBetSum);
}
else
{
postBetSum = (userCoins - userBet);
System.out.println("You have won nothing. Try again!");
System.out.printf(" You currently have: $%.2f", postBetSum);
}
} while (postBetSum > 0.00);
System.out.println(" Oops! You have no more coins. Maybe next time you'll be more lucky!");
}
}
您在變量postBetSum
中累積了中獎的結果,但我看不到該值在哪里被添加回userCoins
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.