帮助在Java中将数组更改为单个变量

ear*_*est 0 java arrays variables

请帮忙.

我想添加这些选项,其中goodMan并购买蝙蝠,斧头或剑来对抗怪物.

如何创建这3个数组,然后从中获取单个变量.然后使用这些变量来影响游戏的结果?

  1. 蝙蝠最小伤害= 2最大伤害= 4成本= 3
  2. ax min damage = 4 max damage = 6 cost = 6
  3. 剑最小伤害= 6最大伤害= 8成本= 10
  4. 取消
public static void main(String[] args)
        throws IOException
        {



            int count = 1;

    // start both with 1 point  
    int goodTotal = 50;
    int monTotal = 50;
    int moneyAmt = 10;

     // input switch statement




    loop: while (goodTotal > 0 && monTotal > 0) {


        System.out.print("Type a letter: ");
        System.out.println("\n");
        System.out.print("F: Go out and Fight ");
        System.out.println("\n");
        System.out.print("R: Rest ");
        System.out.println("\n");
        System.out.print("C: Check Stats ");
        System.out.println("\n");
        System.out.print("Q: Quit ");
        char input = (char) System.in.read();


        System.out.println("You typed: " + (char)input);         

            switch(input) {
            case 'f': System.out.println("Continue the game"); continue;

            case 'r': System.out.println("Players should rest"); break loop;

            case 'c': System.out.println("Checking the status of the game");
                        System.out.print("Goodman has " + goodTotal + " points and Monster has  " + monTotal + " points");
                         System.out.println("\n"); break loop;

            case 'q': System.out.println("Game over");
            System.exit(input); break loop;

            default: System.out.println("Invalid selection");break;
            }                          


        // Set value of minimum and maximum damage
        int minDmg = 2;
        int maxDmg = 15;

        // Get random number;
        int damage = minDmg + Double.valueOf(Math.random() * (maxDmg - minDmg)).intValue();
        int damage2 = minDmg + Double.valueOf(Math.random() * (maxDmg - minDmg)).intValue();

        // remove value of damage from started value to get total value remaining
        goodTotal = goodTotal - damage;
        monTotal = monTotal - damage2;


        // print message if still in the game
        if(goodTotal > 0){
        System.out.println("Goodman has " + goodTotal + " points left. Not bad, Man! ");
        }

        // if Goodman survives round 2 print a message of encouragement
        if (goodTotal > 0 && count > 1 && count <= 2){
            System.out.print("This is encouraging. Goodman has lasted past roundhh " +count+ ". ");

       // print new message if Goodman passes round 3
        } else if (goodTotal > 0 && count == 3){
            System.out.print("Goodman is as strong as Samson. He has lasted round " +count+ " and still looks strong.");
            System.out.print(" 10 hit points has been added to your total");
            }


        if(monTotal > 0){     
          System.out.println("Wait, Monster has a total of " + monTotal + " points and is still in the game");
        }


         // exit if have less than 0 point, and print game over. Congratulate the winner
       if(goodTotal < 0){
          System.out.println("Goodman you are out of the game");  
          System.out.println("The monster will take over the village. This is sad");
          System.out.println("Game Over!");
          }  else if(monTotal < 0){
          System.out.println("Goodman has been victorious");  
          System.out.println("The monster is dead. The people live!!!!");
          System.out.println("Game Over!");
        }
      System.out.println("This is the end of round " + count +" ");
      System.out.println("\n");
      count = count + 1;

        }

    }
Run Code Online (Sandbox Code Playgroud)

Jan*_*ski 8

Java是面向对象的语言.因此,您可以为Weapon具有三个属性(minDamage,maxDamagecost)的类建模.然后,您创建该类的实例

Weapon axe = new Weapon(2,4,3);
Run Code Online (Sandbox Code Playgroud)

稍后在代码中进行损坏计算,您可以使用axe.getMinDamage()axe.getMaxDamage()设置随机函数的限制.