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(); } }
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; } }