changer methode attaque

This commit is contained in:
OMGiTzPomPom 2022-10-16 11:14:06 +02:00
parent 36786a0f85
commit f6fd8f6830
22 changed files with 119 additions and 117 deletions

View File

@ -4,7 +4,5 @@ public class Program {
public static void Main(string[] args) { public static void Main(string[] args) {
GameManager gm = new GameManager(); GameManager gm = new GameManager();
gm.InitializeGame(); gm.InitializeGame();
Console.WriteLine("");
} }
} }

View File

@ -20,7 +20,7 @@ namespace Programmation_objet_TLESIO21.projet {
} }
public override string ToString() { public override string ToString() {
String sb = this.Name + " est level " + this.level + "." + " " + this.Description + ". Ses pokemon sont :\n"; String sb = this.Name + " est level " + this.level + ". " + this.Description.Replace(". ", ".\n") + ".\nSes pokemon sont :\n";
foreach (Pokemon p in this.PC) { foreach (Pokemon p in this.PC) {
sb += p.getName() + ". "; sb += p.getName() + ". ";
} }

View File

@ -20,6 +20,7 @@ namespace Programmation_objet_TLESIO21.projet {
this.p1CharacterChoosen = 0; this.p1CharacterChoosen = 0;
this.p2CharacterChoosen = 0; this.p2CharacterChoosen = 0;
this.Path = "../../../csv/"; this.Path = "../../../csv/";
//this.Path = "./";
} }
private static bool StringIsValidInt(String s) { private static bool StringIsValidInt(String s) {
@ -123,6 +124,8 @@ namespace Programmation_objet_TLESIO21.projet {
} }
} }
Console.WriteLine("\n====================================================================================\n");
this.InitializePokemons(); this.InitializePokemons();
this.ChooseTeams(); this.ChooseTeams();
this.Combat(); this.Combat();
@ -159,11 +162,10 @@ namespace Programmation_objet_TLESIO21.projet {
p2CharacterChoosen = 8; p2CharacterChoosen = 8;
} }
Console.WriteLine("Vous avez choisi de faire confiance à " + Characters[p1CharacterChoosen].getName() + "."); Console.WriteLine("Vous avez choisi de faire confiance à " + Characters[p1CharacterChoosen].getName() + ".\n");
Console.WriteLine("Votre adversaire a choisis de faire confiance à " + Characters[p2CharacterChoosen].getName() + "."); Console.WriteLine("Votre adversaire a choisis de faire confiance à " + Characters[p2CharacterChoosen].getName() + ".\n");
Console.WriteLine("Maintenant, vous allez devoir choisir 6 pokémons parmis ceux de " + Characters[p1CharacterChoosen].getName() + "\n" + Console.WriteLine("Maintenant, vous allez devoir choisir 6 pokémons parmis ceux de " + Characters[p1CharacterChoosen].getName() + "\n");
"Il vous suffit de rentrer le numéro précédant le nom du pokémon.\n");
i = 0; i = 0;

View File

@ -47,7 +47,8 @@ namespace Programmation_objet_TLESIO21.projet {
} }
public String getStats() { public String getStats() {
return this.getName() + " - PV : " + getPV() + return this.getName() + " - Type = " + getType() +
" - PV = " + getPV() +
" - PC = " + getPC() + " - PC = " + getPC() +
" - ATK Physique = " + getATKPhys() + " - ATK Physique = " + getATKPhys() +
" - ATK Spéciale = " + getATKSpe() + " - ATK Spéciale = " + getATKSpe() +

View File

@ -1,67 +1,67 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Programmation_objet_TLESIO21.projet { namespace Programmation_objet_TLESIO21.projet {
public class PokemonBug : Pokemon { public class PokemonBug : Pokemon {
public PokemonBug(string Name, int PV, int ATKPhys, int ATKSpe, int DEFPhys, int DEFSpe, int Speed) : base(Name, PV, ATKPhys, ATKSpe, DEFPhys, DEFSpe, Speed) { public PokemonBug(string Name, int PV, int ATKPhys, int ATKSpe, int DEFPhys, int DEFSpe, int Speed) : base(Name, PV, ATKPhys, ATKSpe, DEFPhys, DEFSpe, Speed) {
base.setPC(92); base.setPC(92);
this.setType(Type.BUG); this.setType(Type.BUG);
} }
public override void PhysAttack(Pokemon cible) { public override void PhysAttack(Pokemon cible) {
this.setPC(this.getPC() - 2); this.setPC(this.getPC() - 2);
int damage = cible.getDEFPhys() - this.getATKPhys(); int damage = this.getATKPhys() - cible.getDEFPhys();
if(damage > 0) { if (damage > 0) {
if(cible.getType().Equals(Type.STEEL) || if(cible.getType().Equals(Type.STEEL) ||
cible.getType().Equals(Type.FIGHTING) || cible.getType().Equals(Type.FIGHTING) ||
cible.getType().Equals(Type.FAIRY) || cible.getType().Equals(Type.FAIRY) ||
cible.getType().Equals(Type.FIRE) || cible.getType().Equals(Type.FIRE) ||
cible.getType().Equals(Type.POISON) || cible.getType().Equals(Type.POISON) ||
cible.getType().Equals(Type.GHOST) || cible.getType().Equals(Type.GHOST) ||
cible.getType().Equals(Type.FLYING)) { cible.getType().Equals(Type.FLYING)) {
damage /= 2; damage /= 2;
Console.WriteLine("Ce n'est pas très efficace"); Console.WriteLine("Ce n'est pas très efficace");
} }
if(cible.getType().Equals(Type.GRASS) || if(cible.getType().Equals(Type.GRASS) ||
cible.getType().Equals(Type.PSYCHIC) || cible.getType().Equals(Type.PSYCHIC) ||
cible.getType().Equals(Type.DARK)) { cible.getType().Equals(Type.DARK)) {
damage *= 2; damage *= 2;
Console.WriteLine("C'est super efficace"); Console.WriteLine("C'est super efficace");
} }
cible.getDamage(damage); cible.getDamage(damage);
} else { } else {
Console.WriteLine("L'attaque n'a eu aucun effet"); Console.WriteLine("L'attaque n'a eu aucun effet");
} }
} }
public override void SpeAttack(Pokemon cible) { public override void SpeAttack(Pokemon cible) {
this.setPC(this.getPC() - 3); this.setPC(this.getPC() - 3);
int damage = cible.getDEFSpe() - this.getATKSpe(); int damage = cible.getDEFSpe() - this.getATKSpe();
if(damage > 0) { if(damage > 0) {
if (cible.getType().Equals(Type.STEEL) || if (cible.getType().Equals(Type.STEEL) ||
cible.getType().Equals(Type.FIGHTING) || cible.getType().Equals(Type.FIGHTING) ||
cible.getType().Equals(Type.FAIRY) || cible.getType().Equals(Type.FAIRY) ||
cible.getType().Equals(Type.FIRE) || cible.getType().Equals(Type.FIRE) ||
cible.getType().Equals(Type.POISON) || cible.getType().Equals(Type.POISON) ||
cible.getType().Equals(Type.GHOST) || cible.getType().Equals(Type.GHOST) ||
cible.getType().Equals(Type.FLYING)) { cible.getType().Equals(Type.FLYING)) {
damage /= 2; damage /= 2;
Console.WriteLine("Ce n'est pas très efficace"); Console.WriteLine("Ce n'est pas très efficace");
} }
if (cible.getType().Equals(Type.GRASS) || if (cible.getType().Equals(Type.GRASS) ||
cible.getType().Equals(Type.PSYCHIC) || cible.getType().Equals(Type.PSYCHIC) ||
cible.getType().Equals(Type.DARK)) { cible.getType().Equals(Type.DARK)) {
damage *= 2; damage *= 2;
Console.WriteLine("C'est super efficace"); Console.WriteLine("C'est super efficace");
} }
cible.getDamage(damage); cible.getDamage(damage);
} else { } else {
Console.WriteLine("L'attaque n'a eu aucun effet"); Console.WriteLine("L'attaque n'a eu aucun effet");
} }
} }
} }
} }

View File

@ -13,9 +13,9 @@ namespace Programmation_objet_TLESIO21.projet {
} }
public override void PhysAttack(Pokemon cible) { public override void PhysAttack(Pokemon cible) {
this.setPC(this.getPC() - 4); this.setPC(this.getPC() - 4);
int damage = cible.getDEFPhys() - this.getATKPhys(); int damage = this.getATKPhys() - cible.getDEFPhys();
if(damage > 0) { if (damage > 0) {
if(cible.getType().Equals(Type.FIGHTING) || if(cible.getType().Equals(Type.FIGHTING) ||
cible.getType().Equals(Type.FAIRY) || cible.getType().Equals(Type.FAIRY) ||
cible.getType().Equals(Type.DARK)) { cible.getType().Equals(Type.DARK)) {

View File

@ -13,9 +13,9 @@ namespace Programmation_objet_TLESIO21.projet {
} }
public override void PhysAttack(Pokemon cible) { public override void PhysAttack(Pokemon cible) {
this.setPC(this.getPC() - 1); this.setPC(this.getPC() - 1);
int damage = cible.getDEFPhys() - this.getATKPhys(); int damage = this.getATKPhys() - cible.getDEFPhys();
if(cible.getType().Equals(Type.FAIRY)) { if (cible.getType().Equals(Type.FAIRY)) {
damage = 0; damage = 0;
Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi"); Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi");
} }

View File

@ -14,7 +14,7 @@ namespace Programmation_objet_TLESIO21.projet {
public override void PhysAttack(Pokemon cible) { public override void PhysAttack(Pokemon cible) {
this.setPC(this.getPC() - 1); this.setPC(this.getPC() - 1);
int damage = cible.getDEFPhys() - this.getATKPhys(); int damage = this.getATKPhys() - cible.getDEFPhys();
if(cible.getType().Equals(Type.GROUND)) { if(cible.getType().Equals(Type.GROUND)) {
damage = 0; damage = 0;
Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi"); Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi");

View File

@ -13,9 +13,9 @@ namespace Programmation_objet_TLESIO21.projet {
} }
public override void PhysAttack(Pokemon cible) { public override void PhysAttack(Pokemon cible) {
this.setPC(this.getPC() - 2); this.setPC(this.getPC() - 2);
int damage = cible.getDEFPhys() - this.getATKPhys(); int damage = this.getATKPhys() - cible.getDEFPhys();
if(damage > 0) { if (damage > 0) {
if(cible.getType().Equals(Type.FIRE) || if(cible.getType().Equals(Type.FIRE) ||
cible.getType().Equals(Type.STEEL) || cible.getType().Equals(Type.STEEL) ||
cible.getType().Equals(Type.POISON)) { cible.getType().Equals(Type.POISON)) {

View File

@ -13,9 +13,9 @@ namespace Programmation_objet_TLESIO21.projet {
} }
public override void PhysAttack(Pokemon cible) { public override void PhysAttack(Pokemon cible) {
this.setPC(this.getPC() - 4); this.setPC(this.getPC() - 4);
int damage = cible.getDEFPhys() - this.getATKPhys(); int damage = this.getATKPhys() - cible.getDEFPhys();
if(cible.getType().Equals(Type.GHOST)) { if (cible.getType().Equals(Type.GHOST)) {
damage = 0; damage = 0;
Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi"); Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi");
} }

View File

@ -12,9 +12,9 @@ namespace Programmation_objet_TLESIO21.projet {
} }
public override void PhysAttack(Pokemon cible) { public override void PhysAttack(Pokemon cible) {
this.setPC(this.getPC() - 2); this.setPC(this.getPC() - 2);
int damage = cible.getDEFPhys() - this.getATKPhys(); int damage = this.getATKPhys() - cible.getDEFPhys();
if(damage > 0) { if (damage > 0) {
if(cible.getType().Equals(Type.DRAGON) || if(cible.getType().Equals(Type.DRAGON) ||
cible.getType().Equals(Type.WATER) || cible.getType().Equals(Type.WATER) ||
cible.getType().Equals(Type.FIRE) || cible.getType().Equals(Type.FIRE) ||

View File

@ -13,9 +13,10 @@ namespace Programmation_objet_TLESIO21.projet {
} }
public override void PhysAttack(Pokemon cible) { public override void PhysAttack(Pokemon cible) {
this.setPC(this.getPC() - 4); this.setPC(this.getPC() - 4);
int damage = cible.getDEFPhys() - this.getATKPhys(); int damage = this.getATKPhys() - cible.getDEFPhys();
if(damage > 0) {
if (damage > 0) {
if(cible.getType().Equals(Type.ROCK) || if(cible.getType().Equals(Type.ROCK) ||
cible.getType().Equals(Type.STEEL) || cible.getType().Equals(Type.STEEL) ||
cible.getType().Equals(Type.ELECTRIC)) { cible.getType().Equals(Type.ELECTRIC)) {

View File

@ -13,9 +13,9 @@ namespace Programmation_objet_TLESIO21.projet {
} }
public override void PhysAttack(Pokemon cible) { public override void PhysAttack(Pokemon cible) {
this.setPC(this.getPC() - 3); this.setPC(this.getPC() - 3);
int damage = cible.getDEFPhys() - this.getATKPhys(); int damage = this.getATKPhys() - cible.getDEFPhys();
if(cible.getType().Equals(Type.NORMAL)) { if (cible.getType().Equals(Type.NORMAL)) {
damage = 0; damage = 0;
Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi"); Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi");
} }

View File

@ -12,9 +12,9 @@ namespace Programmation_objet_TLESIO21.projet {
} }
public override void PhysAttack(Pokemon cible) { public override void PhysAttack(Pokemon cible) {
this.setPC(this.getPC() - 2); this.setPC(this.getPC() - 2);
int damage = cible.getDEFPhys() - this.getATKPhys(); int damage = this.getATKPhys() - cible.getDEFPhys();
if(damage > 0) { if (damage > 0) {
if(cible.getType().Equals(Type.STEEL) || if(cible.getType().Equals(Type.STEEL) ||
cible.getType().Equals(Type.DRAGON) || cible.getType().Equals(Type.DRAGON) ||
cible.getType().Equals(Type.FIRE) || cible.getType().Equals(Type.FIRE) ||

View File

@ -14,8 +14,8 @@ namespace Programmation_objet_TLESIO21.projet {
public override void PhysAttack(Pokemon cible) { public override void PhysAttack(Pokemon cible) {
this.setPC(this.getPC() - 3); this.setPC(this.getPC() - 3);
int damage = cible.getDEFPhys() - this.getATKPhys(); int damage = this.getATKPhys() - cible.getDEFPhys();
if(cible.getType().Equals(Type.FLYING)) { if (cible.getType().Equals(Type.FLYING)) {
damage = 0; damage = 0;
Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi"); Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi");
} }

View File

@ -13,9 +13,9 @@ namespace Programmation_objet_TLESIO21.projet {
} }
public override void PhysAttack(Pokemon cible) { public override void PhysAttack(Pokemon cible) {
this.setPC(this.getPC() - 2); this.setPC(this.getPC() - 2);
int damage = cible.getDEFPhys() - this.getATKPhys(); int damage = this.getATKPhys() - cible.getDEFPhys();
if(damage > 0) { if (damage > 0) {
if(cible.getType().Equals(Type.STEEL) || if(cible.getType().Equals(Type.STEEL) ||
cible.getType().Equals(Type.WATER) || cible.getType().Equals(Type.WATER) ||
cible.getType().Equals(Type.FIRE) || cible.getType().Equals(Type.FIRE) ||

View File

@ -13,9 +13,9 @@ namespace Programmation_objet_TLESIO21.projet {
} }
public override void PhysAttack(Pokemon cible) { public override void PhysAttack(Pokemon cible) {
this.setPC(this.getPC() - 2); this.setPC(this.getPC() - 2);
int damage = cible.getDEFPhys() - this.getATKPhys(); int damage = this.getATKPhys() - cible.getDEFPhys();
if(cible.getType().Equals(Type.GHOST)) { if (cible.getType().Equals(Type.GHOST)) {
damage = 0; damage = 0;
Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi"); Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi");
} }

View File

@ -13,9 +13,9 @@ namespace Programmation_objet_TLESIO21.projet {
} }
public override void PhysAttack(Pokemon cible) { public override void PhysAttack(Pokemon cible) {
this.setPC(this.getPC() - 2); this.setPC(this.getPC() - 2);
int damage = cible.getDEFPhys() - this.getATKPhys(); int damage = this.getATKPhys() - cible.getDEFPhys();
if(cible.getType().Equals(Type.STEEL)) { if (cible.getType().Equals(Type.STEEL)) {
damage = 0; damage = 0;
Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi"); Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi");
} }

View File

@ -13,9 +13,9 @@ namespace Programmation_objet_TLESIO21.projet {
} }
public override void PhysAttack(Pokemon cible) { public override void PhysAttack(Pokemon cible) {
this.setPC(this.getPC() - 1); this.setPC(this.getPC() - 1);
int damage = cible.getDEFPhys() - this.getATKPhys(); int damage = this.getATKPhys() - cible.getDEFPhys();
if(cible.getType().Equals(Type.DARK)) { if (cible.getType().Equals(Type.DARK)) {
damage = 0; damage = 0;
Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi"); Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi");
} }

View File

@ -13,9 +13,9 @@ namespace Programmation_objet_TLESIO21.projet {
} }
public override void PhysAttack(Pokemon cible) { public override void PhysAttack(Pokemon cible) {
this.setPC(this.getPC() - 4); this.setPC(this.getPC() - 4);
int damage = cible.getDEFPhys() - this.getATKPhys(); int damage = this.getATKPhys() - cible.getDEFPhys();
if(damage > 0) { if (damage > 0) {
if(cible.getType().Equals(Type.STEEL) || if(cible.getType().Equals(Type.STEEL) ||
cible.getType().Equals(Type.FIGHTING) || cible.getType().Equals(Type.FIGHTING) ||
cible.getType().Equals(Type.GROUND)) { cible.getType().Equals(Type.GROUND)) {

View File

@ -14,8 +14,8 @@ namespace Programmation_objet_TLESIO21.projet {
public override void PhysAttack(Pokemon cible) { public override void PhysAttack(Pokemon cible) {
this.setPC(this.getPC() - 3); this.setPC(this.getPC() - 3);
int damage = cible.getDEFPhys() - this.getATKPhys(); int damage = this.getATKPhys() - cible.getDEFPhys();
if(damage > 0) { if (damage > 0) {
if(cible.getType().Equals(Type.STEEL) || if(cible.getType().Equals(Type.STEEL) ||
cible.getType().Equals(Type.WATER) || cible.getType().Equals(Type.WATER) ||
cible.getType().Equals(Type.FIRE) || cible.getType().Equals(Type.FIRE) ||

View File

@ -13,8 +13,8 @@ namespace Programmation_objet_TLESIO21.projet {
public override void PhysAttack(Pokemon cible) { public override void PhysAttack(Pokemon cible) {
this.setPC(this.getPC() - 3); this.setPC(this.getPC() - 3);
int damage = cible.getDEFPhys() - this.getATKPhys(); int damage = this.getATKPhys() - cible.getDEFPhys();
if(damage > 0) { if (damage > 0) {
if(cible.getType().Equals(Type.DRAGON) || if(cible.getType().Equals(Type.DRAGON) ||
cible.getType().Equals(Type.WATER) || cible.getType().Equals(Type.WATER) ||
cible.getType().Equals(Type.GRASS)) { cible.getType().Equals(Type.GRASS)) {