Java中的老虎机

时间:2013-10-05 01:01:42

标签: java

我应该建立一个有3个显示窗口的老虎机,每个窗口有6个可以显示的选项。

我很困惑在术语切换后使用什么“测试表达式”?然后如何让程序比较6个案例或选项(樱桃,橙子,李子,铃,甜瓜,酒吧),看看它们是否匹配,并提供他们赢得的回报。

    import java.util.Random;

    import java.util.Scanner;

    public class SlotMachine
    {
       //This is the main method
         public static void main(String[] args)
      {
       Scanner keyboard = new Scanner(System.in);
       Random random = new Random();
       String cont = "y" or "Y";
       char answer;
       int money = 0;
       int totalEntered = 0;
       int a;
       int n;
       int amountWon = 0;
       int dbl = money * 2;
       int trpl = money * 3;

       while (cont.equals("y"))OR (cont.equals("Y"))
       {
           a = random.nextInt(6);
           n = random.nextInt(991) +10;
           totalEntered += money;
           System.out.println("How much money would you like to bet? ");
           money = keyboard.nextInt();

           switch (TestExpression????) 
           {
               case 0:
                   System.out.println("Cherry");
                   break;
               case 1:
                   System.out.println("Orange");
                   break;
               case 2:
                   System.out.println("Plum");
                   break;
               case 3:
                   System.out.println("Bell");
                   break;
               case 4:
                   System.out.println("Melon");
                   break;
               default:
                   System.out.println("Bar");
           }

           if ()
           {
               System.out.println("You have won $0");
           }
           else if ()
           {
               System.out.println("Congratulations, you have won $" + dbl);
                  amountWon += dbl;
           }
           else if ()
           {
               System.out.println("Congratulations, you have won $" + trpl);
                  amountWon += trpl;
           }


           System.out.println("Continue? Enter y = yes");
           cont = keyboard.nextLine();
       }
   }
}

3 个答案:

答案 0 :(得分:1)

a放在那里。无论a是什么,它都会在switch语句中跳转到那种情况。例如:如果a为2则会跳转到case 2,因此会打印“Plum”

在这种情况下我还可以推荐使用Enum吗?

enum SlotOptions {
   CHERRY,
   ORANGE,
   PLUM,
   BELL,
   MELON,
   BAR;
}

答案 1 :(得分:0)

看起来swithc表达式是“实际”慢速机器,所以你想在那里放一个随机int。类似switch(a)

的内容

为什么呢?想想老虎机的工作原理,然后看看你的代码。老虎机随机为每个点(即1个水果)选择一个符号。在你的代码中,每个水果都有一个案例。发生的事情是你用一个数字代表每个案例。因此,要确定哪种情况,您需要选择一个数字。你选的号码是多少?从它的老虎机你选择一个随机数。这就是为什么你有a=random.nextInt();

答案 2 :(得分:-2)

您没有在switch语句中放置测试表达式。你输入一个整数值。在这种情况下,似乎你想要那里。