Пример #1
0
 public void heal(Trainer trainer) {
   System.out.println(trainer.getName() + " is using a potion!");
   wait(600);
   if (trainer.getPotionAmount() == 0) {
     System.out.println("Tried to use a potion but didn't have any!");
     wait(600);
   } else {
     trainer.usePotion();
   }
 }
Пример #2
0
  public Move chooseAttack(Trainer trainer) {

    // player attackchooser
    if (trainer == player) {
      ArrayList<Move> availableMoves = player.getPokemon().getMoveSet();
      for (int i = 0; i < availableMoves.size(); i++) {
        System.out.println(i + ") " + availableMoves.get(i));
      }
      System.out.println("2) Use Potion (" + player.getPotionAmount() + " left)");

      System.out.print("\n Choose action (number): ");
      String command = reader.nextLine();
      Move chosenMove;
      while (true) {
        if (command.equals("0")) {
          chosenMove = availableMoves.get(0);
          System.out.println(
              player.getPokemonName() + " will use: " + availableMoves.get(0).getName());
          break;
        } else if (command.equals("1")) {
          chosenMove = availableMoves.get(1);
          System.out.println(
              player.getPokemonName() + " will use: " + availableMoves.get(1).getName());
          break;
        } else if (command.equals("2")) { // use potion as a move, check for it in method attack()
          chosenMove = new Move("usepotion", "", "", 0, 0, 0);
          break;
        } else {
          System.out.println("Invalid move!");
          System.out.print("\n Choose action (number): ");
          command = reader.nextLine();
        }
      }
      return chosenMove;
    }
    // AI control
    else if (trainer == opponent) {
      Move chosenMove;
      int randomized;
      randomized = random.nextInt((2 - 0 + 1) + 0);
      ArrayList<Move> availableMoves = opponent.getPokemon().getMoveSet();
      for (int i = 0; i < availableMoves.size(); i++) {
        if (randomized == 2) {
          if (opponent.getPokemon().isFullHp()) {
            // System.out.println("Gary tried to use a potion, but his pokemon is already at Full
            // HP!");
            wait(200);
            chosenMove = availableMoves.get(0);
          }

          if (opponent.getPokemon().getHp() < 40 && opponent.getPotionAmount() != 0) {
            chosenMove = new Move("usepotion", "", "", 0, 0, 0);
          } else {
            chosenMove = availableMoves.get(0);
            System.out.println(
                "Gary's " + opponent.getPokemonName() + " will use: " + chosenMove.getName());
            wait(600);
          }

          return chosenMove;
        } else {
          wait(200);
          chosenMove = availableMoves.get(randomized);
          System.out.println(
              "Gary's " + opponent.getPokemonName() + " will use: " + chosenMove.getName());
          wait(600);
          return chosenMove;
        }
      }
      System.out.println("Critical error! Exiting... \"chooseAttack()\", AI controlled");
      return null;
    } else {
      System.out.println("Critical error! Exiting... \"chooseAttack()\"");
      return null;
    }
  }