public class Pokemon { String name, status; int health, maxHealth, power, defense; boolean isFainted; //no-arg constructor public Pokemon() { name = "Charmander"; status = "healthy"; health = 10; maxHealth = 10; power = 2; defense = 1; isFainted = false; } //create a constructor that receives name, power, defense, maxHealth //create a constructor that receives name, special, maxhealth, power, defense, isCute //create a "heal" method //should receive an integer value and add it to its health; //be sure it doesn't overheal; //healing shouldn't work it the pokemon is fainted //create a "checkFainted" method //void and receives nothing //if its health is 0 or less, change isFainted to true, set status to "fainted", set health to 0 // if he wasn't already fainted, output a message stating that "Pikachu faints!" but use the pokemon's actual name //create a "damage" method //receives an integer amount of damage sustained by the pokemon //subtract that amount from the pokemon's health //output the amount damage taken and how much remaining health the pokemon has //call the checkFainted method to see if he took enough damage to faint //create an "attack" method //This method receives another Pokemon //Damage is calculated by the following formula (attacking power - enemy's defense) //if enemy's defense is greater than or equal to attacker's power, no damage is done and a message is outputted stating that //else calculate the damage and call the damage method on the enemy, sending in the damage amount //create a toString method //This is a special method that receives nothing but will return a String. //The String returned is what will be outputted if we do SOP(Pokemon); //We want our String return to include the name, status, health and maxHealth of the Pokemon. //Remember that \n will create a new line within the quotes. }