簡體   English   中英

迫切需要幫助。 Java分配

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM