protected string pokemon;
protected int attack,defense,stamina;
protected const int sAttack = 10;
protected const int sDefense = 10;
protected const int sStat = 10;
private const int cpMultiplier = 10;
public abstract void PokemonDetails(string pokemon);
Console.Write("Select Pokemon Type:\n\ta. Fire\n\tb. Water\n\tc. Grass\n\td. Electric\nSelection: ");
selection = Convert.ToChar(Console.ReadLine().ToLower());
Console.Write("Attack: ");
attack = Convert.ToInt32(Console.ReadLine());
Console.Write("Defense: ");
defense = Convert.ToInt32(Console.ReadLine());
Console.Write("Stamina: ");
stamina = Convert.ToInt32(Console.ReadLine());
public double CPComputation()
return Math.Round((attack * (Math.Pow(defense, 0.5)) * (Math.Pow(stamina, 0.5)) * (Math.Pow(cpMultiplier, 2))) / 10,0);
Console.WriteLine("AttacK Value: {0}", attack);
Console.WriteLine("Special Attack Value: {0}", sAttack);
Console.WriteLine("Special Stat Value: {0}", sStat);
return Math.Round(2.6 * Math.Pow(attack,0.46) * Math.Pow(sAttack,0.46) * Math.Pow(sStat,0.04) + 3,0);
Console.WriteLine("Defense Value: {0}", defense);
Console.WriteLine("Special Defense Value: {0}", sDefense);
Console.WriteLine("Special Stat Value: {0}", sStat);
return Math.Round(2.6 * Math.Pow(defense,0.46) * Math.Pow(sDefense,0.46) * Math.Pow(sStat,0.04) + 3,0);
Console.WriteLine("Stamina Value: {0}", stamina);
return Math.Round((2.00*stamina),0);
public override void PokemonDetails(string name)
Console.WriteLine("Pokemon Name: {0}", name);
Console.WriteLine("Pokemon Type: {0}", type);
Console.WriteLine("Combat Power: {0}", CPComputation());
Console.WriteLine("\tAttack: {0}", attack);
Console.WriteLine("\tDefense: {0}", defense);
Console.WriteLine("\tStamina: {0}", stamina);
public static void Main()
Console.Write("Pokemon Name: ");
pokemon = Convert.ToString(Console.ReadLine());
Owowpi OOP = new Owowpi();
BaseStats baseStat = new BaseStats();
baseStat.PokemonDetails(pokemon);
Console.WriteLine("Base Attack: {0}", baseStat.BaseAtk());
Console.WriteLine("Base Defense: {0}", baseStat.BaseDef());
Console.WriteLine("Base Stamina: {0}", baseStat.BaseSta());