2022-10-13 13:53:26 +02:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace Programmation_objet_TLESIO21.projet {
|
|
|
|
|
public class PokemonElectric : Pokemon {
|
|
|
|
|
|
|
|
|
|
public PokemonElectric(string Name, int PV, int ATKPhys, int ATKSpe, int DEFPhys, int DEFSpe, int Speed) : base(Name, PV, ATKPhys, ATKSpe, DEFPhys, DEFSpe, Speed) {
|
|
|
|
|
base.setPC(80);
|
|
|
|
|
this.setType(Type.ELECTRIC);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void PhysAttack(Pokemon cible) {
|
|
|
|
|
this.setPC(this.getPC() - 1);
|
2022-10-16 11:14:06 +02:00
|
|
|
|
int damage = this.getATKPhys() - cible.getDEFPhys();
|
2022-10-13 13:53:26 +02:00
|
|
|
|
if(cible.getType().Equals(Type.GROUND)) {
|
|
|
|
|
damage = 0;
|
2022-10-15 18:39:27 +02:00
|
|
|
|
Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi");
|
2022-10-13 13:53:26 +02:00
|
|
|
|
}
|
2022-10-15 18:39:27 +02:00
|
|
|
|
if (damage > 0) {
|
2022-10-13 13:53:26 +02:00
|
|
|
|
if(cible.getType().Equals(Type.DRAGON) ||
|
|
|
|
|
cible.getType().Equals(Type.GRASS) ||
|
|
|
|
|
cible.getType().Equals(Type.ELECTRIC)) {
|
|
|
|
|
damage /= 2;
|
2022-10-15 18:39:27 +02:00
|
|
|
|
Console.WriteLine("Ce n'est pas très efficace");
|
2022-10-13 13:53:26 +02:00
|
|
|
|
}
|
2022-10-15 18:39:27 +02:00
|
|
|
|
if (cible.getType().Equals(Type.STEEL) ||
|
2022-10-13 13:53:26 +02:00
|
|
|
|
cible.getType().Equals(Type.WATER)) {
|
|
|
|
|
damage *= 2;
|
2022-10-15 18:39:27 +02:00
|
|
|
|
Console.WriteLine("C'est super efficace");
|
2022-10-13 13:53:26 +02:00
|
|
|
|
}
|
|
|
|
|
cible.getDamage(damage);
|
2022-10-15 18:39:27 +02:00
|
|
|
|
} else {
|
|
|
|
|
Console.WriteLine("L'attaque n'a eu aucun effet");
|
2022-10-13 13:53:26 +02:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void SpeAttack(Pokemon cible) {
|
|
|
|
|
this.setPC(this.getPC() - 1);
|
|
|
|
|
int damage = cible.getDEFSpe() - this.getATKSpe();
|
|
|
|
|
if(cible.getType().Equals(Type.GROUND)) {
|
|
|
|
|
damage = 0;
|
2022-10-15 18:39:27 +02:00
|
|
|
|
Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi");
|
2022-10-13 13:53:26 +02:00
|
|
|
|
}
|
2022-10-15 18:39:27 +02:00
|
|
|
|
if (damage > 0) {
|
2022-10-13 13:53:26 +02:00
|
|
|
|
if(cible.getType().Equals(Type.DRAGON) ||
|
|
|
|
|
cible.getType().Equals(Type.GRASS) ||
|
|
|
|
|
cible.getType().Equals(Type.ELECTRIC)) {
|
|
|
|
|
damage /= 2;
|
2022-10-15 18:39:27 +02:00
|
|
|
|
Console.WriteLine("Ce n'est pas très efficace");
|
2022-10-13 13:53:26 +02:00
|
|
|
|
}
|
2022-10-15 18:39:27 +02:00
|
|
|
|
if (cible.getType().Equals(Type.FLYING) ||
|
2022-10-13 13:53:26 +02:00
|
|
|
|
cible.getType().Equals(Type.WATER)) {
|
|
|
|
|
damage *= 2;
|
2022-10-15 18:39:27 +02:00
|
|
|
|
Console.WriteLine("C'est super efficace");
|
2022-10-13 13:53:26 +02:00
|
|
|
|
}
|
|
|
|
|
cible.getDamage(damage);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|