jeu fini
This commit is contained in:
parent
34b6e157c8
commit
36786a0f85
@ -3,9 +3,8 @@
|
||||
public class Program {
|
||||
public static void Main(string[] args) {
|
||||
GameManager gm = new GameManager();
|
||||
gm.initializeGame();
|
||||
gm.InitializeGame();
|
||||
|
||||
Console.WriteLine(gm.GetPlayers()[0]);
|
||||
Console.WriteLine("");
|
||||
}
|
||||
}
|
@ -1,10 +1,10 @@
|
||||
//Nom;Description;Effet
|
||||
Applejack;Applejack est une honnête dresseuse pokémon et sait faire preuve d'un grand altruisme envers les pokémon. Elle vit et travaille à la Ferme de la Douce Baie Oran.;Ses Pokémons ont un bonus de PV de 5%
|
||||
Applejack;Applejack est une honnête dresseuse pokémon et sait faire preuve d'un grand altruisme envers les pokémon. Elle vit et travaille à la Ferme de la Douce Baie Oran;Ses Pokémons ont un bonus de PV de 5%
|
||||
Rainbow Dash;Rainbow Dash est une loyale dresseuse pokémon. Elle est en charge de la météo de Pokeville;Ses Pokémons ont un bonus d'ATKPhys de 3%
|
||||
Twilight Sparkle;Twilight Sparkle est une dresseuse pokémon avec un talent inné. Elle a la capacité d'élever ses pokémons avec aisance. Elle vit dans le palais royal du Bourg Galop;Ses Pokémons ont un bonus de vitesse de 7%
|
||||
Pinkie Pie;Pinkie Pie est une souriante dresseuse pokémon. Elle fait sourire tous les pokémons en un instant. Elle vit avec sa famille dans une ferme de production de caillous à Mérouville.;Ses Pokémons ont un bonus de DEFPhys de 4%
|
||||
Fluttershy;Fluttershy est une timide dresseuse pokémon mais néanmoins très puissante. Elle est la seule dresseuse capable de parler aux pokémons. Elle les élève dans sa pension à Bonville.;Ses Pokémons ont un bonus de DEFSpé de 4%
|
||||
Izzy Moonbow;Izzy Moonbow est une dresseuse pokémon qui adore unicycler les restes des objets laissés par les dresseurs pour les transformer en outils de capture. Elle vit dand la forêt de Brideblanc.;Ses Pokémons ont un bonus de PV de 5% et un malus de vitesse de 5%
|
||||
Zipp Storm;Zipp Storm est une enquêtrice pokémon qui enquête régulièrement sur les mystères à travers les régions pokémon. Bien que de sang royal, elle vit loin de sa famille pour vivre sa passion au phare de cristal de Rivamar;Ses Pokémons ont un malus de PV de 5% et un bonus de vitesse de 5%
|
||||
Pinkie Pie;Pinkie Pie est une souriante dresseuse pokémon. Elle fait sourire tous les pokémons en un instant. Elle vit avec sa famille dans une ferme de production de caillous à Mérouville;Ses Pokémons ont un bonus de DEFPhys de 4%
|
||||
Fluttershy;Fluttershy est une timide dresseuse pokémon mais néanmoins très puissante. Elle est la seule dresseuse capable de parler aux pokémons. Elle les élève dans sa pension à Bonville;Ses Pokémons ont un bonus de DEFSpé de 4%
|
||||
Izzy Moonbow;Izzy Moonbow est une dresseuse pokémon qui adore unicycler les restes des objets laissés par les dresseurs pour les transformer en outils de capture. Elle vit dand la forêt de Brideblanc;Ses Pokémons ont un bonus de PV de 5% et un malus de vitesse de 5%
|
||||
Zipp Storm;Zipp Storm est une enquêtrice pokémon qui enquête régulièrement sur les mystères des régions pokémon. Bien que de sang royal, elle vit loin de sa famille pour vivre sa passion au phare de cristal de Rivamar;Ses Pokémons ont un malus de PV de 5% et un bonus de vitesse de 5%
|
||||
Sunny Starscout;Sunny Starscout est une dresseuse pokémon qui est pesuadée que peu importe leur nature, tous les pokémon peuvent vivre ensemble. Elle vit dans la Baie de Portponi;Ses Pokémons ont un bonus d'ATKSPe de 3%
|
||||
Derpy Hooves; Derpy Hooves est une dresseuse pokemon qui adore les pokémons bien qu'elle soit très maladroite dans ses mouvements. Son regard effrai en général les pokémons sauvages;Ses Pokémons ont un malus de PV de 5%
|
|
6
csv/Title.txt
Normal file
6
csv/Title.txt
Normal file
@ -0,0 +1,6 @@
|
||||
____ __ ____ __ __ __
|
||||
/ __ \____ / /_____ ____ ___ ____ ____ / __ )____ _/ /_/ /_/ /__
|
||||
/ /_/ / __ \/ //_/ _ \/ __ `__ \/ __ \/ __ \ / __ / __ `/ __/ __/ / _ \
|
||||
/ ____/ /_/ / ,< / __/ / / / / / /_/ / / / / / /_/ / /_/ / /_/ /_/ / __/
|
||||
/_/ \____/_/|_|\___/_/ /_/ /_/\____/_/ /_/ /_____/\__,_/\__/\__/_/\___/
|
||||
/_/
|
39
projet/Character.cs
Normal file
39
projet/Character.cs
Normal file
@ -0,0 +1,39 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Programmation_objet_TLESIO21.projet {
|
||||
public class Character {
|
||||
private string Name;
|
||||
private string Description;
|
||||
private int level;
|
||||
private List<Pokemon> PC;
|
||||
|
||||
#pragma warning disable CS8618 // Un champ non-nullable doit contenir une valeur non-null lors de la fermeture du constructeur. Envisagez de déclarer le champ comme nullable.
|
||||
public Character(string Name, string Description, List<Pokemon> PC) {
|
||||
this.Name = Name;
|
||||
this.Description = Description;
|
||||
this.PC = PC;
|
||||
this.level = PC.Count;
|
||||
}
|
||||
|
||||
public override string ToString() {
|
||||
String sb = this.Name + " est level " + this.level + "." + " " + this.Description + ". Ses pokemon sont :\n";
|
||||
foreach (Pokemon p in this.PC) {
|
||||
sb += p.getName() + ". ";
|
||||
}
|
||||
|
||||
return sb + "\n";
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return this.Name;
|
||||
}
|
||||
|
||||
public List<Pokemon> getPC() {
|
||||
return this.PC;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,26 +1,355 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.IO;
|
||||
|
||||
namespace Programmation_objet_TLESIO21.projet {
|
||||
public class GameManager {
|
||||
|
||||
private string Path;
|
||||
private List<Pokemon> pkm = new List<Pokemon>();
|
||||
private List<Player> players = new List<Player>();
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.IO;
|
||||
|
||||
namespace Programmation_objet_TLESIO21.projet {
|
||||
public class GameManager {
|
||||
|
||||
private string Path;
|
||||
private List<Pokemon> Pkm = new List<Pokemon>();
|
||||
private List<Character> Characters = new List<Character>();
|
||||
private Player p1;
|
||||
private Player p2;
|
||||
private int p1CharacterChoosen;
|
||||
private int p2CharacterChoosen;
|
||||
|
||||
public GameManager() {
|
||||
this.p1CharacterChoosen = 0;
|
||||
this.p2CharacterChoosen = 0;
|
||||
this.Path = "../../../csv/";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static bool StringIsValidInt(String s) {
|
||||
foreach (char c in s) {
|
||||
if (c < '0' || c > '9')
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private static bool StringIsValidIntFight(String s) {
|
||||
foreach (char c in s) {
|
||||
if (c < '0' || c > '7')
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private static bool TabStringIsValidInt(String[] tab) {
|
||||
foreach(String s in tab) {
|
||||
foreach (char c in s) {
|
||||
if (c < '0' || c > '9') {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private static bool StringIsValidIntCharacters(String s) {
|
||||
foreach(char c in s) {
|
||||
if (c < '1' || c > '9') {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private static String DisplayTeam(Player p) {
|
||||
String sb = "";
|
||||
int i = 0;
|
||||
foreach(Pokemon pkm in p.getTeam()) {
|
||||
if(pkm.isAlive()) {
|
||||
sb += "["+(i+1)+"]" + pkm.getName() + ". ";
|
||||
} else {
|
||||
sb += "[OUT]" + pkm.getName() + ". ";
|
||||
}
|
||||
++i;
|
||||
}
|
||||
return sb;
|
||||
}
|
||||
|
||||
public void InitializeGame() {
|
||||
|
||||
StreamReader strm = new StreamReader(this.Path + "Title.txt");
|
||||
String strmL;
|
||||
|
||||
//Read the first line of text
|
||||
strmL = strm.ReadLine();
|
||||
//Continue to read until you reach end of file
|
||||
while (strmL != null) {
|
||||
if (strmL[0] == '/') {
|
||||
strmL = strm.ReadLine();
|
||||
}
|
||||
//write the line to console window
|
||||
Console.WriteLine(strmL);
|
||||
//Read the next line
|
||||
strmL = strm.ReadLine();
|
||||
}
|
||||
//close the file
|
||||
strm.Close();
|
||||
|
||||
Console.WriteLine(" ");
|
||||
|
||||
String entreeStandard;
|
||||
bool p1 = false;
|
||||
bool p2 = false;
|
||||
|
||||
while(!p1) {
|
||||
Console.WriteLine("Merci d'entrer le nom du joueur 1 :");
|
||||
entreeStandard = Console.ReadLine();
|
||||
if(entreeStandard == "") {
|
||||
Console.WriteLine("Veuillez resaisir. Nom incorrect.");
|
||||
} else {
|
||||
this.p1 = new Player(entreeStandard);
|
||||
p1 = true;
|
||||
}
|
||||
}
|
||||
|
||||
while (!p2) {
|
||||
Console.WriteLine("Merci d'entrer le nom du joueur 2 :");
|
||||
entreeStandard = Console.ReadLine();
|
||||
if (entreeStandard == "") {
|
||||
Console.WriteLine("Veuillez resaisir. Nom incorrect.");
|
||||
} else {
|
||||
this.p2 = new Player(entreeStandard);
|
||||
p2 = true;
|
||||
}
|
||||
}
|
||||
|
||||
this.InitializePokemons();
|
||||
this.ChooseTeams();
|
||||
this.Combat();
|
||||
|
||||
}
|
||||
|
||||
private void ChooseTeams() {
|
||||
String entreeStandard = "";
|
||||
Console.WriteLine("Vous avez devant vous plusieurs dresseuses pokémon. Vous allez devoir choisir 6 pokémon parmis ceux de la dresseuse que vous allez choisir :\n");
|
||||
int i = 0;
|
||||
foreach(Character c in Characters) {
|
||||
Console.WriteLine("[" + (i+1) + "] " + c.ToString());
|
||||
++i;
|
||||
}
|
||||
Console.WriteLine("Choissez la dresseuse que vous pensez être la plus apte à vous prêter des pokémon pour combattre.\n" +
|
||||
"Pour cela, rentrez le numéro affiché devant le nom de la dresseuse.");
|
||||
|
||||
bool correctChoice = false;
|
||||
|
||||
|
||||
while (!correctChoice) {
|
||||
entreeStandard = Console.ReadLine();
|
||||
if(entreeStandard != "" && StringIsValidIntCharacters(entreeStandard)) {
|
||||
correctChoice = true;
|
||||
p1CharacterChoosen = int.Parse(entreeStandard.Substring(0,1))-1;
|
||||
} else {
|
||||
Console.WriteLine("Veuillez resaisir. Entrée incorrecte.");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
p2CharacterChoosen = getRandom(9);
|
||||
if (p2CharacterChoosen == 9) {
|
||||
p2CharacterChoosen = 8;
|
||||
}
|
||||
|
||||
Console.WriteLine("Vous avez choisi de faire confiance à " + Characters[p1CharacterChoosen].getName() + ".");
|
||||
Console.WriteLine("Votre adversaire a choisis de faire confiance à " + Characters[p2CharacterChoosen].getName() + ".");
|
||||
|
||||
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;
|
||||
foreach(Pokemon pkm in Characters[p1CharacterChoosen].getPC()) {
|
||||
Console.WriteLine("[" + (i+1) + "] " + pkm.getStats());
|
||||
++i;
|
||||
}
|
||||
Console.WriteLine("Entrez les 6 numéros des pokémons que vous souhaitez utiliser. Exemple : 1-12-5-6-10-2");
|
||||
bool isTeamValid = false;
|
||||
|
||||
while(!isTeamValid) {
|
||||
entreeStandard = Console.ReadLine();
|
||||
String[] tab = entreeStandard.Split("-");
|
||||
if (tab.Length == 6 && TabStringIsValidInt(tab)) {
|
||||
foreach (String s in tab) {
|
||||
p1.choosePokemon(Characters[p1CharacterChoosen].getPC()[int.Parse(s)-1]);
|
||||
}
|
||||
isTeamValid = true;
|
||||
} else {
|
||||
Console.WriteLine("Veuillez resaisir. Entrée incorrecte (Format attendu : 1-12-5-6-10-2).");
|
||||
}
|
||||
}
|
||||
|
||||
Console.Write("Votre équipe est constituée de : ");
|
||||
foreach (Pokemon pkm in p1.getTeam()) {
|
||||
Console.Write(pkm.getName() + ". ");
|
||||
}
|
||||
Console.WriteLine("");
|
||||
|
||||
for(int j = 0; j < 6; ++j) {
|
||||
p2.choosePokemon(Characters[p2CharacterChoosen].getPC()[getRandom(Characters[p2CharacterChoosen].getPC().Count)]);
|
||||
}
|
||||
|
||||
Console.Write("L'équipe de votre adversaire est constituée de : ");
|
||||
foreach (Pokemon pkm in p2.getTeam()) {
|
||||
Console.Write(pkm.getName() + ". ");
|
||||
}
|
||||
Console.WriteLine("\n\n Préparez vous, le combat va commencer. Vous allez envoyer " + p1.getTeam()[0].getName() +
|
||||
"et votre adversaire va envoyer " + p2.getTeam()[0].getName() + ".");
|
||||
|
||||
p1.setCurrentPokemonIndex(0);
|
||||
p2.setCurrentPokemonIndex(0);
|
||||
}
|
||||
|
||||
private void Combat() {
|
||||
bool isFighting = true;
|
||||
bool currentTurnisValid = false;
|
||||
String entreeStandard;
|
||||
int p2Choice = getRandom(3);
|
||||
|
||||
while (isFighting) {
|
||||
Console.WriteLine("\n\n\n");
|
||||
while(!currentTurnisValid) {
|
||||
displayCurrentPlayerTurn(p1);
|
||||
Console.WriteLine("Pokemon adverse : " + p2.getCurrentPokemon() + " - Type : " + p2.getCurrentPokemon().getType());
|
||||
entreeStandard = Console.ReadLine();
|
||||
switch (entreeStandard) {
|
||||
case "1":
|
||||
Console.WriteLine(p1.getNom() + " décide que " + p1.getCurrentPokemon().getName() + " doit attaquer en physique.");
|
||||
p1.getCurrentPokemon().PhysAttack(p2.getCurrentPokemon());
|
||||
currentTurnisValid = true;
|
||||
break;
|
||||
case "2":
|
||||
Console.WriteLine(p1.getNom() + " décide que " + p1.getCurrentPokemon().getName() + " doit attaquer en spécial.");
|
||||
p1.getCurrentPokemon().SpeAttack(p2.getCurrentPokemon());
|
||||
currentTurnisValid = true;
|
||||
break;
|
||||
case "3":
|
||||
Console.WriteLine(p1.getNom() + " décide que " + p1.getCurrentPokemon().getName() + " revenir.");
|
||||
displayTeamChange(p1);
|
||||
entreeStandard = Console.ReadLine();
|
||||
entreeStandard = entreeStandard.Substring(0, 1);
|
||||
if(StringIsValidIntFight(entreeStandard)) {
|
||||
p1.setCurrentPokemonIndex(int.Parse(entreeStandard)-1);
|
||||
}
|
||||
Console.WriteLine("À toi " + p2.getCurrentPokemon());
|
||||
currentTurnisValid = true;
|
||||
break;
|
||||
default:
|
||||
Console.WriteLine("Erreur de saisie. Veuillez recommencer.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
currentTurnisValid = false;
|
||||
|
||||
if (!p2.getCurrentPokemon().isAlive()) {
|
||||
bool correctSwitchChoice = false;
|
||||
if (p2.canStillFight()) {
|
||||
isFighting = false;
|
||||
Console.WriteLine("La partie est terminée. " + p1.getNom() + " a gagné !");
|
||||
correctSwitchChoice = true;
|
||||
} else {
|
||||
while (!correctSwitchChoice) {
|
||||
Console.WriteLine(p2.getNom() + ", votre pokémon " + p2.getCurrentPokemon().getName() + " n'est plus capable de se battre. Vous devez changer de Pokémon !");
|
||||
displayTeamChange(p2);
|
||||
p2Choice = getRandom(6);
|
||||
if (p2.getTeam()[p2Choice].isAlive()) {
|
||||
Console.Write("Reviens " + p2.getCurrentPokemon());
|
||||
p2.setCurrentPokemonIndex(p2Choice);
|
||||
correctSwitchChoice = true;
|
||||
Console.WriteLine("À toi " + p2.getCurrentPokemon());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
while (!currentTurnisValid) {
|
||||
p2Choice = getRandom(3);
|
||||
switch (p2Choice) {
|
||||
case 0:
|
||||
Console.WriteLine(p2.getNom() + " décide que " + p2.getCurrentPokemon().getName() + " doit attaquer en physique.");
|
||||
p2.getCurrentPokemon().PhysAttack(p1.getCurrentPokemon());
|
||||
currentTurnisValid = true;
|
||||
break;
|
||||
case 1:
|
||||
Console.WriteLine(p2.getNom() + " décide que " + p2.getCurrentPokemon().getName() + " doit attaquer en spécial.");
|
||||
p2.getCurrentPokemon().SpeAttack(p1.getCurrentPokemon());
|
||||
currentTurnisValid = true;
|
||||
break;
|
||||
case 2:
|
||||
Console.WriteLine(p2.getNom() + " décide que " + p2.getCurrentPokemon().getName() + " revenir.");
|
||||
displayTeamChange(p2);
|
||||
p2.setCurrentPokemonIndex(getRandom(6));
|
||||
currentTurnisValid = true;
|
||||
Console.WriteLine("À toi " + p2.getCurrentPokemon());
|
||||
break;
|
||||
default:
|
||||
Console.WriteLine("Erreur de saisie. Veuillez recommencer.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
currentTurnisValid = false;
|
||||
|
||||
if (!p1.getCurrentPokemon().isAlive()) {
|
||||
bool correctSwitchChoice = false;
|
||||
if (p1.canStillFight()) {
|
||||
isFighting = false;
|
||||
Console.WriteLine("La partie est terminée. " + p2.getNom() + " a gagné !");
|
||||
correctSwitchChoice = true;
|
||||
} else {
|
||||
while (!correctSwitchChoice) {
|
||||
Console.WriteLine(p1.getNom() + ", votre pokémon " + p1.getCurrentPokemon().getName() + " n'est plus capable de se battre. Vous devez changer de Pokémon !");
|
||||
displayTeamChange(p1);
|
||||
entreeStandard = Console.ReadLine();
|
||||
entreeStandard = entreeStandard.Substring(0, 1);
|
||||
if (StringIsValidIntFight(entreeStandard) && p1.getTeam()[int.Parse(entreeStandard)-1].isAlive()) {
|
||||
Console.Write("Reviens " + p1.getCurrentPokemon());
|
||||
p1.setCurrentPokemonIndex(int.Parse(entreeStandard)-1);
|
||||
correctSwitchChoice = true;
|
||||
Console.WriteLine("À toi " + p1.getCurrentPokemon());
|
||||
|
||||
} else {
|
||||
Console.WriteLine("Vous ne pouvez pas switch avec ce pokémon. Merci d'entrer une valeur correcte.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void displayCurrentPlayerTurn(Player p) {
|
||||
Console.WriteLine("C'est au tour de " + p.getNom() + " de combattre avec " + p.getCurrentPokemon().ToString() + " Type : " + p.getCurrentPokemon().getType() + ".");
|
||||
Console.WriteLine("Que souhaitez vous faire : ");
|
||||
Console.WriteLine("[1] Effectuer une attaque physique (ATK Physique "+ p.getCurrentPokemon().getATKPhys() +")");
|
||||
Console.WriteLine("[2] Effectuer une attaque spéciale (ATK Spéciale "+ p.getCurrentPokemon().getATKSpe() +")");
|
||||
Console.WriteLine("[3] Changer de pokémon");
|
||||
}
|
||||
|
||||
private void displayTeamChange(Player p) {
|
||||
Console.WriteLine("Avec quel Pokémon switch ?");
|
||||
Console.WriteLine(DisplayTeam(p));
|
||||
|
||||
}
|
||||
|
||||
private int RandomMove() {
|
||||
return getRandom(3);
|
||||
}
|
||||
|
||||
|
||||
private static int getRandom(int max) {
|
||||
Random r = new Random();
|
||||
return r.Next(max);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private Nature GenerateNature() {
|
||||
switch (getRandom(25)) {
|
||||
case 0:
|
||||
@ -76,8 +405,8 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
default:
|
||||
return Nature.NULL;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private Pokemon? CreatePokemon(String s) {
|
||||
String[] tab = s.Split(";");
|
||||
switch (tab[1]) {
|
||||
@ -120,13 +449,13 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private Player createPlayer(String s) {
|
||||
}
|
||||
|
||||
private Character createCharacter(String s) {
|
||||
String[] tab = s.Split(";");
|
||||
List<Pokemon> pokemons = new List<Pokemon>();
|
||||
for(int i = 0; i < getRandom(30)+7; ++i) {
|
||||
pokemons.Add(pkm.ElementAt(getRandom(1072)));
|
||||
pokemons.Add(Pkm.ElementAt(getRandom(1072)));
|
||||
}
|
||||
|
||||
foreach (Pokemon pkm in pokemons) {
|
||||
@ -136,10 +465,10 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
this.ApplyPlayerEffect(tab[0], pkm);
|
||||
}
|
||||
|
||||
return new Player(tab[0], tab[1], pokemons);
|
||||
}
|
||||
|
||||
public void initializeGame() {
|
||||
return new Character(tab[0], tab[1] + ". " + tab[2], pokemons);
|
||||
}
|
||||
|
||||
private void InitializePokemons() {
|
||||
String line;
|
||||
try {
|
||||
//Pass the file path and file name to the StreamReader constructor
|
||||
@ -154,7 +483,7 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
line = srPkm.ReadLine();
|
||||
}
|
||||
//write the line to console window
|
||||
pkm.Add(CreatePokemon(line));
|
||||
Pkm.Add(CreatePokemon(line));
|
||||
//Read the next line
|
||||
line = srPkm.ReadLine();
|
||||
}
|
||||
@ -169,7 +498,7 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
line = srPerso.ReadLine();
|
||||
}
|
||||
//write the line to console window
|
||||
players.Add(createPlayer(line));
|
||||
Characters.Add(createCharacter(line));
|
||||
//Read the next line
|
||||
line = srPerso.ReadLine();
|
||||
}
|
||||
@ -180,148 +509,148 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
} catch (Exception e) {
|
||||
Console.WriteLine("Exception: " + e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
public void AlterPokemonStat(String stat, double value, Pokemon p) {
|
||||
switch(stat) {
|
||||
case "PV":
|
||||
p.setPV((int)Math.Floor(p.getPV() * value));
|
||||
break;
|
||||
case "ATKPhys":
|
||||
p.setATKPhys(((int)Math.Floor(p.getATKPhys() * value)));
|
||||
break;
|
||||
case "ATKSpe":
|
||||
p.setATKSpe(((int)Math.Floor(p.getATKSpe() * value)));
|
||||
break;
|
||||
case "DEFPhys":
|
||||
p.setDefPhys(((int)Math.Floor(p.getDEFPhys() * value)));
|
||||
break;
|
||||
case "DEFSpe":
|
||||
p.setDefSpe(((int)Math.Floor(p.getDEFSpe() * value)));
|
||||
break;
|
||||
case "Speed":
|
||||
p.setSpeed(((int)Math.Floor(p.getSpeed() * value)));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void ApplyNatureEffect(Enum nature, Pokemon p) {
|
||||
switch(nature) { //malus
|
||||
case Nature.BOLD:
|
||||
case Nature.CALM:
|
||||
case Nature.MODEST:
|
||||
case Nature.TIMID:
|
||||
AlterPokemonStat("ATKPhys", 0.9, p);
|
||||
break;
|
||||
case Nature.MILD:
|
||||
case Nature.GENTLE:
|
||||
case Nature.HASTY:
|
||||
case Nature.LONELY:
|
||||
AlterPokemonStat("DEFPhys", 0.9, p);
|
||||
break;
|
||||
case Nature.JOLLY:
|
||||
case Nature.IMPISH:
|
||||
case Nature.CAREFUL:
|
||||
case Nature.ADAMANT:
|
||||
AlterPokemonStat("ATKSpe", 0.9, p);
|
||||
break;
|
||||
case Nature.RASH:
|
||||
case Nature.LAX:
|
||||
case Nature.NAUGHTY:
|
||||
case Nature.NAIVE:
|
||||
AlterPokemonStat("DEFSpe", 0.9, p);
|
||||
break;
|
||||
case Nature.BRAVE:
|
||||
case Nature.QUIET:
|
||||
case Nature.SASSY:
|
||||
case Nature.RELAXED:
|
||||
AlterPokemonStat("Speed", 0.9, p);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
switch(nature) { //bonus
|
||||
case Nature.BRAVE:
|
||||
case Nature.NAUGHTY:
|
||||
case Nature.ADAMANT:
|
||||
case Nature.LONELY:
|
||||
AlterPokemonStat("ATKPhys", 1.1, p);
|
||||
break;
|
||||
case Nature.BOLD:
|
||||
case Nature.LAX:
|
||||
case Nature.IMPISH:
|
||||
case Nature.RELAXED:
|
||||
AlterPokemonStat("DEFPhys", 1.1, p);
|
||||
break;
|
||||
case Nature.QUIET:
|
||||
case Nature.MILD:
|
||||
case Nature.RASH:
|
||||
case Nature.MODEST:
|
||||
AlterPokemonStat("ATKSpe", 1.1, p);
|
||||
break;
|
||||
case Nature.CALM:
|
||||
case Nature.GENTLE:
|
||||
case Nature.SASSY:
|
||||
case Nature.CAREFUL:
|
||||
AlterPokemonStat("DEFSpe", 1.1, p);
|
||||
break;
|
||||
case Nature.JOLLY:
|
||||
case Nature.NAIVE:
|
||||
case Nature.HASTY:
|
||||
case Nature.TIMID:
|
||||
AlterPokemonStat("Speed", 1.1, p);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void ApplyPlayerEffect(String playerName, Pokemon p) {
|
||||
switch(playerName) {
|
||||
case "Applejack":
|
||||
AlterPokemonStat("PV", 1.05, p);
|
||||
break;
|
||||
case "Rainbow Dash":
|
||||
AlterPokemonStat("ATKPhys", 1.03, p);
|
||||
break;
|
||||
case "Twilight Sparkle":
|
||||
AlterPokemonStat("Speed", 1.07, p);
|
||||
break;
|
||||
case "Pinkie Pie":
|
||||
AlterPokemonStat("DEFPhys", 1.04, p);
|
||||
break;
|
||||
case "Fluttershy":
|
||||
AlterPokemonStat("DEFPhys", 0.96, p);
|
||||
break;
|
||||
case "Izzy Moonbow":
|
||||
AlterPokemonStat("PV", 1.05, p);
|
||||
AlterPokemonStat("Speed", 0.95, p);
|
||||
break;
|
||||
case "Zipp Storm":
|
||||
AlterPokemonStat("PV", 0.95, p);
|
||||
AlterPokemonStat("Speed", 1.05, p);
|
||||
break;
|
||||
case "Sunny Starscout":
|
||||
AlterPokemonStat("ATKSpe", 1.03, p);
|
||||
break;
|
||||
case "Derpy Hooves":
|
||||
AlterPokemonStat("PV", 0.95, p);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public List<Pokemon> GetPokemons() {
|
||||
return this.pkm;
|
||||
}
|
||||
|
||||
public List<Player> GetPlayers() {
|
||||
return this.players;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void AlterPokemonStat(String stat, double value, Pokemon p) {
|
||||
switch(stat) {
|
||||
case "PV":
|
||||
p.setPV((int)Math.Floor(p.getPV() * value));
|
||||
break;
|
||||
case "ATKPhys":
|
||||
p.setATKPhys(((int)Math.Floor(p.getATKPhys() * value)));
|
||||
break;
|
||||
case "ATKSpe":
|
||||
p.setATKSpe(((int)Math.Floor(p.getATKSpe() * value)));
|
||||
break;
|
||||
case "DEFPhys":
|
||||
p.setDefPhys(((int)Math.Floor(p.getDEFPhys() * value)));
|
||||
break;
|
||||
case "DEFSpe":
|
||||
p.setDefSpe(((int)Math.Floor(p.getDEFSpe() * value)));
|
||||
break;
|
||||
case "Speed":
|
||||
p.setSpeed(((int)Math.Floor(p.getSpeed() * value)));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void ApplyNatureEffect(Enum nature, Pokemon p) {
|
||||
switch(nature) { //malus
|
||||
case Nature.BOLD:
|
||||
case Nature.CALM:
|
||||
case Nature.MODEST:
|
||||
case Nature.TIMID:
|
||||
AlterPokemonStat("ATKPhys", 0.9, p);
|
||||
break;
|
||||
case Nature.MILD:
|
||||
case Nature.GENTLE:
|
||||
case Nature.HASTY:
|
||||
case Nature.LONELY:
|
||||
AlterPokemonStat("DEFPhys", 0.9, p);
|
||||
break;
|
||||
case Nature.JOLLY:
|
||||
case Nature.IMPISH:
|
||||
case Nature.CAREFUL:
|
||||
case Nature.ADAMANT:
|
||||
AlterPokemonStat("ATKSpe", 0.9, p);
|
||||
break;
|
||||
case Nature.RASH:
|
||||
case Nature.LAX:
|
||||
case Nature.NAUGHTY:
|
||||
case Nature.NAIVE:
|
||||
AlterPokemonStat("DEFSpe", 0.9, p);
|
||||
break;
|
||||
case Nature.BRAVE:
|
||||
case Nature.QUIET:
|
||||
case Nature.SASSY:
|
||||
case Nature.RELAXED:
|
||||
AlterPokemonStat("Speed", 0.9, p);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
switch(nature) { //bonus
|
||||
case Nature.BRAVE:
|
||||
case Nature.NAUGHTY:
|
||||
case Nature.ADAMANT:
|
||||
case Nature.LONELY:
|
||||
AlterPokemonStat("ATKPhys", 1.1, p);
|
||||
break;
|
||||
case Nature.BOLD:
|
||||
case Nature.LAX:
|
||||
case Nature.IMPISH:
|
||||
case Nature.RELAXED:
|
||||
AlterPokemonStat("DEFPhys", 1.1, p);
|
||||
break;
|
||||
case Nature.QUIET:
|
||||
case Nature.MILD:
|
||||
case Nature.RASH:
|
||||
case Nature.MODEST:
|
||||
AlterPokemonStat("ATKSpe", 1.1, p);
|
||||
break;
|
||||
case Nature.CALM:
|
||||
case Nature.GENTLE:
|
||||
case Nature.SASSY:
|
||||
case Nature.CAREFUL:
|
||||
AlterPokemonStat("DEFSpe", 1.1, p);
|
||||
break;
|
||||
case Nature.JOLLY:
|
||||
case Nature.NAIVE:
|
||||
case Nature.HASTY:
|
||||
case Nature.TIMID:
|
||||
AlterPokemonStat("Speed", 1.1, p);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void ApplyPlayerEffect(String playerName, Pokemon p) {
|
||||
switch(playerName) {
|
||||
case "Applejack":
|
||||
AlterPokemonStat("PV", 1.05, p);
|
||||
break;
|
||||
case "Rainbow Dash":
|
||||
AlterPokemonStat("ATKPhys", 1.03, p);
|
||||
break;
|
||||
case "Twilight Sparkle":
|
||||
AlterPokemonStat("Speed", 1.07, p);
|
||||
break;
|
||||
case "Pinkie Pie":
|
||||
AlterPokemonStat("DEFPhys", 1.04, p);
|
||||
break;
|
||||
case "Fluttershy":
|
||||
AlterPokemonStat("DEFPhys", 0.96, p);
|
||||
break;
|
||||
case "Izzy Moonbow":
|
||||
AlterPokemonStat("PV", 1.05, p);
|
||||
AlterPokemonStat("Speed", 0.95, p);
|
||||
break;
|
||||
case "Zipp Storm":
|
||||
AlterPokemonStat("PV", 0.95, p);
|
||||
AlterPokemonStat("Speed", 1.05, p);
|
||||
break;
|
||||
case "Sunny Starscout":
|
||||
AlterPokemonStat("ATKSpe", 1.03, p);
|
||||
break;
|
||||
case "Derpy Hooves":
|
||||
AlterPokemonStat("PV", 0.95, p);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private List<Pokemon> GetPokemons() {
|
||||
return this.Pkm;
|
||||
}
|
||||
|
||||
private List<Character> GetCharacters() {
|
||||
return this.Characters;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,29 +1,60 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Programmation_objet_TLESIO21.projet {
|
||||
public class Player {
|
||||
private string Name;
|
||||
private string Description;
|
||||
private int level;
|
||||
private List<Pokemon> PC;
|
||||
private List<Pokemon> Team;
|
||||
|
||||
#pragma warning disable CS8618 // Un champ non-nullable doit contenir une valeur non-null lors de la fermeture du constructeur. Envisagez de déclarer le champ comme nullable.
|
||||
public Player(string Name, string Description, List<Pokemon> PC) {
|
||||
this.Name = Name;
|
||||
this.Description = Description;
|
||||
this.PC = PC;
|
||||
this.level = PC.Count;
|
||||
this.Team = new List<Pokemon>(6);
|
||||
}
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Programmation_objet_TLESIO21.projet {
|
||||
public class Player {
|
||||
private String Nom;
|
||||
private List<Pokemon> Team;
|
||||
private int currentPokemonIndex;
|
||||
|
||||
public Player(string nom) {
|
||||
this.Nom = nom;
|
||||
this.Team = new List<Pokemon>();
|
||||
}
|
||||
|
||||
public void choosePokemon(Pokemon pkm) {
|
||||
this.Team.Add(pkm);
|
||||
}
|
||||
|
||||
public String getNom() {
|
||||
return this.Nom;
|
||||
}
|
||||
|
||||
public List<Pokemon> getTeam() {
|
||||
return this.Team;
|
||||
}
|
||||
|
||||
public void setCurrentPokemonIndex(int i) {
|
||||
this.currentPokemonIndex = i;
|
||||
}
|
||||
|
||||
public Pokemon getCurrentPokemon() {
|
||||
return this.getTeam()[currentPokemonIndex];
|
||||
}
|
||||
|
||||
public bool canStillFight() {
|
||||
int pkmCount = this.Team.Count;
|
||||
|
||||
|
||||
foreach(Pokemon pkm in Team) {
|
||||
if(!pkm.isAlive()) {
|
||||
pkmCount--;
|
||||
}
|
||||
}
|
||||
|
||||
return pkmCount == 0;
|
||||
}
|
||||
|
||||
public override string ToString() {
|
||||
return this.Name + " est level " + this.level + ". Ses pokemon sont : " + this.PC.ToString();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
String sb = "";
|
||||
sb += this.Nom + " a pour pokémons : ";
|
||||
foreach (Pokemon p in this.Team) {
|
||||
sb += p.getName() + ". ";
|
||||
}
|
||||
return sb;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,128 +1,139 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Programmation_objet_TLESIO21.projet {
|
||||
public abstract class Pokemon {
|
||||
private readonly string Name;
|
||||
private Type Type;
|
||||
private Nature Nature;
|
||||
private int PV;
|
||||
private int PC;
|
||||
private int ATKPhys;
|
||||
private int ATKSpe;
|
||||
private int DEFPhys;
|
||||
private int DEFSpe;
|
||||
private int Speed;
|
||||
|
||||
public Pokemon(string Name, int PV, int ATKPhys, int ATKSpe, int DEFPhys, int DEFSpe, int Speed) {
|
||||
this.Name = Name;
|
||||
this.PV = PV;
|
||||
this.ATKPhys = ATKPhys;
|
||||
this.ATKSpe = ATKSpe;
|
||||
this.DEFPhys = DEFPhys;
|
||||
this.DEFSpe = DEFSpe;
|
||||
this.Speed = Speed;
|
||||
}
|
||||
|
||||
public virtual void PhysAttack(Pokemon cible) {
|
||||
}
|
||||
|
||||
public virtual void SpeAttack(Pokemon cible) {
|
||||
}
|
||||
|
||||
public void getDamage(int d) {
|
||||
this.PV -= d;
|
||||
}
|
||||
|
||||
public Boolean hasEnoughtPC() {
|
||||
return (this.getPC() > 0);
|
||||
}
|
||||
|
||||
public Boolean isAlive() {
|
||||
return (this.getPV() > 0);
|
||||
}
|
||||
|
||||
public override string ToString() {
|
||||
return this.getName() + " - PV : " + getPV() + ", PC = " + getPC();
|
||||
}
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Programmation_objet_TLESIO21.projet {
|
||||
public abstract class Pokemon {
|
||||
private readonly string Name;
|
||||
private Type Type;
|
||||
private Nature Nature;
|
||||
private int PV;
|
||||
private int PC;
|
||||
private int ATKPhys;
|
||||
private int ATKSpe;
|
||||
private int DEFPhys;
|
||||
private int DEFSpe;
|
||||
private int Speed;
|
||||
|
||||
public Pokemon(string Name, int PV, int ATKPhys, int ATKSpe, int DEFPhys, int DEFSpe, int Speed) {
|
||||
this.Name = Name;
|
||||
this.PV = PV;
|
||||
this.ATKPhys = ATKPhys;
|
||||
this.ATKSpe = ATKSpe;
|
||||
this.DEFPhys = DEFPhys;
|
||||
this.DEFSpe = DEFSpe;
|
||||
this.Speed = Speed;
|
||||
}
|
||||
|
||||
public virtual void PhysAttack(Pokemon cible) {
|
||||
}
|
||||
|
||||
public virtual void SpeAttack(Pokemon cible) {
|
||||
}
|
||||
|
||||
public void getDamage(int d) {
|
||||
this.PV -= d;
|
||||
Console.WriteLine(this.getName() + " a subbi " + d + " dégats");
|
||||
}
|
||||
|
||||
public Boolean hasEnoughtPC() {
|
||||
return (this.getPC() > 0);
|
||||
}
|
||||
|
||||
public Boolean isAlive() {
|
||||
return (this.getPV() > 0);
|
||||
}
|
||||
|
||||
public String getStats() {
|
||||
return this.getName() + " - PV : " + getPV() +
|
||||
" - PC = " + getPC() +
|
||||
" - ATK Physique = " + getATKPhys() +
|
||||
" - ATK Spéciale = " + getATKSpe() +
|
||||
" - DEF Physique = " + getDEFPhys() +
|
||||
" - DEF Spéciale = " + getDEFSpe() +
|
||||
" - Vitesse = " + getSpeed() ;
|
||||
}
|
||||
|
||||
public override string ToString() {
|
||||
return this.Name + " - PV : " + this.PV + " - PC : " + this.PC;
|
||||
}
|
||||
|
||||
public void SetNature(Nature n) {
|
||||
this.Nature = n;
|
||||
}
|
||||
|
||||
public void setPV(int pv) {
|
||||
this.PV = pv;
|
||||
}
|
||||
|
||||
internal void setPC(int pc) {
|
||||
this.PC = pc;
|
||||
}
|
||||
|
||||
internal void setType(Type t) {
|
||||
this.Type = t;
|
||||
}
|
||||
|
||||
public void setATKPhys(int atk) {
|
||||
this.ATKPhys = atk;
|
||||
}
|
||||
|
||||
public void setATKSpe(int atk) {
|
||||
this.ATKSpe = atk;
|
||||
}
|
||||
|
||||
public void setDefPhys(int def) {
|
||||
this.DEFPhys = def;
|
||||
}
|
||||
|
||||
public void setDefSpe(int def) {
|
||||
this.DEFSpe = def;
|
||||
}
|
||||
|
||||
public void setSpeed(int speed) {
|
||||
this.Speed = speed;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return this.Name;
|
||||
}
|
||||
|
||||
public Type getType() {
|
||||
return this.Type;
|
||||
}
|
||||
|
||||
public Nature GetNature() {
|
||||
return this.Nature;
|
||||
}
|
||||
|
||||
public int getPV() {
|
||||
return this.PV;
|
||||
}
|
||||
|
||||
public int getPC() {
|
||||
return this.PC;
|
||||
}
|
||||
|
||||
public int getATKPhys() {
|
||||
return this.ATKPhys;
|
||||
}
|
||||
|
||||
public int getATKSpe() {
|
||||
return this.ATKSpe;
|
||||
}
|
||||
|
||||
public int getDEFPhys() {
|
||||
return this.DEFPhys;
|
||||
}
|
||||
|
||||
public int getDEFSpe() {
|
||||
return this.DEFSpe;
|
||||
}
|
||||
|
||||
public int getSpeed() {
|
||||
return this.Speed;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setPV(int pv) {
|
||||
this.PV = pv;
|
||||
}
|
||||
|
||||
internal void setPC(int pc) {
|
||||
this.PC = pc;
|
||||
}
|
||||
|
||||
internal void setType(Type t) {
|
||||
this.Type = t;
|
||||
}
|
||||
|
||||
public void setATKPhys(int atk) {
|
||||
this.ATKPhys = atk;
|
||||
}
|
||||
|
||||
public void setATKSpe(int atk) {
|
||||
this.ATKSpe = atk;
|
||||
}
|
||||
|
||||
public void setDefPhys(int def) {
|
||||
this.DEFPhys = def;
|
||||
}
|
||||
|
||||
public void setDefSpe(int def) {
|
||||
this.DEFSpe = def;
|
||||
}
|
||||
|
||||
public void setSpeed(int speed) {
|
||||
this.Speed = speed;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return this.Name;
|
||||
}
|
||||
|
||||
public Type getType() {
|
||||
return this.Type;
|
||||
}
|
||||
|
||||
public Nature GetNature() {
|
||||
return this.Nature;
|
||||
}
|
||||
|
||||
public int getPV() {
|
||||
return this.PV;
|
||||
}
|
||||
|
||||
public int getPC() {
|
||||
return this.PC;
|
||||
}
|
||||
|
||||
public int getATKPhys() {
|
||||
return this.ATKPhys;
|
||||
}
|
||||
|
||||
public int getATKSpe() {
|
||||
return this.ATKSpe;
|
||||
}
|
||||
|
||||
public int getDEFPhys() {
|
||||
return this.DEFPhys;
|
||||
}
|
||||
|
||||
public int getDEFSpe() {
|
||||
return this.DEFSpe;
|
||||
}
|
||||
|
||||
public int getSpeed() {
|
||||
return this.Speed;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -24,13 +24,17 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
cible.getType().Equals(Type.GHOST) ||
|
||||
cible.getType().Equals(Type.FLYING)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if(cible.getType().Equals(Type.GRASS) ||
|
||||
cible.getType().Equals(Type.PSYCHIC) ||
|
||||
cible.getType().Equals(Type.DARK)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
|
||||
@ -46,13 +50,17 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
cible.getType().Equals(Type.GHOST) ||
|
||||
cible.getType().Equals(Type.FLYING)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if (cible.getType().Equals(Type.GRASS) ||
|
||||
cible.getType().Equals(Type.PSYCHIC) ||
|
||||
cible.getType().Equals(Type.DARK)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -20,12 +20,16 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
cible.getType().Equals(Type.FAIRY) ||
|
||||
cible.getType().Equals(Type.DARK)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if(cible.getType().Equals(Type.PSYCHIC) ||
|
||||
if (cible.getType().Equals(Type.PSYCHIC) ||
|
||||
cible.getType().Equals(Type.GHOST)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
|
||||
@ -37,12 +41,16 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
cible.getType().Equals(Type.FAIRY) ||
|
||||
cible.getType().Equals(Type.DARK)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if (cible.getType().Equals(Type.PSYCHIC) ||
|
||||
cible.getType().Equals(Type.GHOST)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -17,15 +17,20 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
int damage = cible.getDEFPhys() - this.getATKPhys();
|
||||
if(cible.getType().Equals(Type.FAIRY)) {
|
||||
damage = 0;
|
||||
Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi");
|
||||
}
|
||||
if(damage > 0) {
|
||||
if(cible.getType().Equals(Type.STEEL)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if(cible.getType().Equals(Type.DRAGON)) {
|
||||
if (cible.getType().Equals(Type.DRAGON)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
|
||||
@ -34,15 +39,20 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
int damage = cible.getDEFSpe() - this.getATKSpe();
|
||||
if (cible.getType().Equals(Type.FAIRY)) {
|
||||
damage = 0;
|
||||
Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi");
|
||||
}
|
||||
if (damage > 0) {
|
||||
if (cible.getType().Equals(Type.STEEL)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if (cible.getType().Equals(Type.DRAGON)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -17,18 +17,23 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
int damage = cible.getDEFPhys() - this.getATKPhys();
|
||||
if(cible.getType().Equals(Type.GROUND)) {
|
||||
damage = 0;
|
||||
Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi");
|
||||
}
|
||||
if(damage > 0) {
|
||||
if (damage > 0) {
|
||||
if(cible.getType().Equals(Type.DRAGON) ||
|
||||
cible.getType().Equals(Type.GRASS) ||
|
||||
cible.getType().Equals(Type.ELECTRIC)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if(cible.getType().Equals(Type.STEEL) ||
|
||||
if (cible.getType().Equals(Type.STEEL) ||
|
||||
cible.getType().Equals(Type.WATER)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
|
||||
@ -37,16 +42,19 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
int damage = cible.getDEFSpe() - this.getATKSpe();
|
||||
if(cible.getType().Equals(Type.GROUND)) {
|
||||
damage = 0;
|
||||
Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi");
|
||||
}
|
||||
if(damage > 0) {
|
||||
if (damage > 0) {
|
||||
if(cible.getType().Equals(Type.DRAGON) ||
|
||||
cible.getType().Equals(Type.GRASS) ||
|
||||
cible.getType().Equals(Type.ELECTRIC)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if(cible.getType().Equals(Type.FLYING) ||
|
||||
if (cible.getType().Equals(Type.FLYING) ||
|
||||
cible.getType().Equals(Type.WATER)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
}
|
||||
|
@ -20,13 +20,17 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
cible.getType().Equals(Type.STEEL) ||
|
||||
cible.getType().Equals(Type.POISON)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if(cible.getType().Equals(Type.FIGHTING) ||
|
||||
if (cible.getType().Equals(Type.FIGHTING) ||
|
||||
cible.getType().Equals(Type.DRAGON) ||
|
||||
cible.getType().Equals(Type.DARK)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
|
||||
@ -38,13 +42,17 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
cible.getType().Equals(Type.STEEL) ||
|
||||
cible.getType().Equals(Type.POISON)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if (cible.getType().Equals(Type.FIGHTING) ||
|
||||
cible.getType().Equals(Type.DRAGON) ||
|
||||
cible.getType().Equals(Type.DARK)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -17,22 +17,27 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
int damage = cible.getDEFPhys() - this.getATKPhys();
|
||||
if(cible.getType().Equals(Type.GHOST)) {
|
||||
damage = 0;
|
||||
Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi");
|
||||
}
|
||||
if(damage > 0) {
|
||||
if (damage > 0) {
|
||||
if(cible.getType().Equals(Type.PSYCHIC) ||
|
||||
cible.getType().Equals(Type.FLYING) ||
|
||||
cible.getType().Equals(Type.BUG) ||
|
||||
cible.getType().Equals(Type.FAIRY)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if(cible.getType().Equals(Type.STEEL) ||
|
||||
if (cible.getType().Equals(Type.STEEL) ||
|
||||
cible.getType().Equals(Type.NORMAL) ||
|
||||
cible.getType().Equals(Type.DARK) ||
|
||||
cible.getType().Equals(Type.ICE) ||
|
||||
cible.getType().Equals(Type.ROCK)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
|
||||
@ -41,6 +46,7 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
int damage = cible.getDEFSpe() - this.getATKSpe();
|
||||
if (cible.getType().Equals(Type.GHOST)) {
|
||||
damage = 0;
|
||||
Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi");
|
||||
}
|
||||
if (damage > 0) {
|
||||
if (cible.getType().Equals(Type.PSYCHIC) ||
|
||||
@ -48,6 +54,7 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
cible.getType().Equals(Type.BUG) ||
|
||||
cible.getType().Equals(Type.FAIRY)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if (cible.getType().Equals(Type.STEEL) ||
|
||||
cible.getType().Equals(Type.NORMAL) ||
|
||||
@ -55,8 +62,11 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
cible.getType().Equals(Type.ICE) ||
|
||||
cible.getType().Equals(Type.ROCK)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -20,14 +20,18 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
cible.getType().Equals(Type.FIRE) ||
|
||||
cible.getType().Equals(Type.ROCK)) {
|
||||
damage /= 2;
|
||||
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.BUG) ||
|
||||
cible.getType().Equals(Type.ICE) ||
|
||||
cible.getType().Equals(Type.STEEL)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
|
||||
@ -40,14 +44,18 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
cible.getType().Equals(Type.FIRE) ||
|
||||
cible.getType().Equals(Type.ROCK)) {
|
||||
damage /= 2;
|
||||
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.BUG) ||
|
||||
cible.getType().Equals(Type.ICE) ||
|
||||
cible.getType().Equals(Type.STEEL)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -20,13 +20,17 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
cible.getType().Equals(Type.STEEL) ||
|
||||
cible.getType().Equals(Type.ELECTRIC)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if(cible.getType().Equals(Type.FIGHTING) ||
|
||||
if (cible.getType().Equals(Type.FIGHTING) ||
|
||||
cible.getType().Equals(Type.BUG) ||
|
||||
cible.getType().Equals(Type.GRASS)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
|
||||
@ -38,13 +42,17 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
cible.getType().Equals(Type.STEEL) ||
|
||||
cible.getType().Equals(Type.ELECTRIC)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if (cible.getType().Equals(Type.FIGHTING) ||
|
||||
cible.getType().Equals(Type.BUG) ||
|
||||
cible.getType().Equals(Type.GRASS)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -17,16 +17,21 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
int damage = cible.getDEFPhys() - this.getATKPhys();
|
||||
if(cible.getType().Equals(Type.NORMAL)) {
|
||||
damage = 0;
|
||||
Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi");
|
||||
}
|
||||
if(damage > 0) {
|
||||
if (damage > 0) {
|
||||
if(cible.getType().Equals(Type.DARK)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if(cible.getType().Equals(Type.PSYCHIC) ||
|
||||
if (cible.getType().Equals(Type.PSYCHIC) ||
|
||||
cible.getType().Equals(Type.GHOST)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
|
||||
@ -35,16 +40,21 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
int damage = cible.getDEFSpe() - this.getATKSpe();
|
||||
if (cible.getType().Equals(Type.NORMAL)) {
|
||||
damage = 0;
|
||||
Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi");
|
||||
}
|
||||
if (damage > 0) {
|
||||
if (cible.getType().Equals(Type.DARK)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if (cible.getType().Equals(Type.PSYCHIC) ||
|
||||
cible.getType().Equals(Type.GHOST)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -23,13 +23,17 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
cible.getType().Equals(Type.POISON) ||
|
||||
cible.getType().Equals(Type.FLYING)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if(cible.getType().Equals(Type.WATER) ||
|
||||
if (cible.getType().Equals(Type.WATER) ||
|
||||
cible.getType().Equals(Type.ROCK) ||
|
||||
cible.getType().Equals(Type.GROUND)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
|
||||
@ -45,13 +49,17 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
cible.getType().Equals(Type.POISON) ||
|
||||
cible.getType().Equals(Type.FLYING)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if(cible.getType().Equals(Type.WATER) ||
|
||||
if (cible.getType().Equals(Type.WATER) ||
|
||||
cible.getType().Equals(Type.ROCK) ||
|
||||
cible.getType().Equals(Type.GROUND)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -17,20 +17,25 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
int damage = cible.getDEFPhys() - this.getATKPhys();
|
||||
if(cible.getType().Equals(Type.FLYING)) {
|
||||
damage = 0;
|
||||
Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi");
|
||||
}
|
||||
if(damage > 0) {
|
||||
if (damage > 0) {
|
||||
if(cible.getType().Equals(Type.BUG) ||
|
||||
cible.getType().Equals(Type.GRASS)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if(cible.getType().Equals(Type.ROCK) ||
|
||||
if (cible.getType().Equals(Type.ROCK) ||
|
||||
cible.getType().Equals(Type.STEEL) ||
|
||||
cible.getType().Equals(Type.FIRE) ||
|
||||
cible.getType().Equals(Type.POISON) ||
|
||||
cible.getType().Equals(Type.ELECTRIC)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
|
||||
@ -38,6 +43,7 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
this.setPC(this.getPC() - 4);
|
||||
int damage = cible.getDEFSpe() - this.getATKSpe();
|
||||
if(cible.getType().Equals(Type.FLYING)) {
|
||||
Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi");
|
||||
damage = 0;
|
||||
}
|
||||
if(damage > 0) {
|
||||
@ -45,12 +51,16 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
cible.getType().Equals(Type.GRASS) ||
|
||||
cible.getType().Equals(Type.ELECTRIC)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if(cible.getType().Equals(Type.FLYING) ||
|
||||
if (cible.getType().Equals(Type.FLYING) ||
|
||||
cible.getType().Equals(Type.WATER)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -21,14 +21,18 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
cible.getType().Equals(Type.FIRE) ||
|
||||
cible.getType().Equals(Type.ICE)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if(cible.getType().Equals(Type.DRAGON) ||
|
||||
if (cible.getType().Equals(Type.DRAGON) ||
|
||||
cible.getType().Equals(Type.GRASS) ||
|
||||
cible.getType().Equals(Type.GROUND) ||
|
||||
cible.getType().Equals(Type.FLYING)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
|
||||
@ -41,14 +45,18 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
cible.getType().Equals(Type.FIRE) ||
|
||||
cible.getType().Equals(Type.ICE)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if (cible.getType().Equals(Type.DRAGON) ||
|
||||
cible.getType().Equals(Type.GRASS) ||
|
||||
cible.getType().Equals(Type.GROUND) ||
|
||||
cible.getType().Equals(Type.FLYING)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -17,12 +17,16 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
int damage = cible.getDEFPhys() - this.getATKPhys();
|
||||
if(cible.getType().Equals(Type.GHOST)) {
|
||||
damage = 0;
|
||||
Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi");
|
||||
}
|
||||
if(damage > 0) {
|
||||
if (damage > 0) {
|
||||
if(cible.getType().Equals(Type.STEEL) || cible.getType().Equals(Type.ROCK)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
|
||||
@ -35,8 +39,11 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
if(damage > 0) {
|
||||
if(cible.getType().Equals(Type.STEEL) || cible.getType().Equals(Type.ROCK)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -17,19 +17,24 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
int damage = cible.getDEFPhys() - this.getATKPhys();
|
||||
if(cible.getType().Equals(Type.STEEL)) {
|
||||
damage = 0;
|
||||
Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi");
|
||||
}
|
||||
if(damage > 0) {
|
||||
if (damage > 0) {
|
||||
if(cible.getType().Equals(Type.POISON) ||
|
||||
cible.getType().Equals(Type.ROCK) ||
|
||||
cible.getType().Equals(Type.GROUND) ||
|
||||
cible.getType().Equals(Type.GHOST)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if(cible.getType().Equals(Type.FAIRY) ||
|
||||
if (cible.getType().Equals(Type.FAIRY) ||
|
||||
cible.getType().Equals(Type.GRASS)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
|
||||
@ -38,6 +43,7 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
int damage = cible.getDEFSpe() - this.getATKSpe();
|
||||
if (cible.getType().Equals(Type.STEEL)) {
|
||||
damage = 0;
|
||||
Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi");
|
||||
}
|
||||
if (damage > 0) {
|
||||
if (cible.getType().Equals(Type.POISON) ||
|
||||
@ -45,12 +51,16 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
cible.getType().Equals(Type.GROUND) ||
|
||||
cible.getType().Equals(Type.GHOST)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if (cible.getType().Equals(Type.FAIRY) ||
|
||||
cible.getType().Equals(Type.GRASS)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -17,17 +17,22 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
int damage = cible.getDEFPhys() - this.getATKPhys();
|
||||
if(cible.getType().Equals(Type.DARK)) {
|
||||
damage = 0;
|
||||
Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi");
|
||||
}
|
||||
if(damage > 0) {
|
||||
if (damage > 0) {
|
||||
if(cible.getType().Equals(Type.STEEL) ||
|
||||
cible.getType().Equals(Type.PSYCHIC)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if(cible.getType().Equals(Type.FIGHTING) ||
|
||||
if (cible.getType().Equals(Type.FIGHTING) ||
|
||||
cible.getType().Equals(Type.POISON)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
|
||||
@ -35,18 +40,23 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
this.setPC(this.getPC() - 3);
|
||||
int damage = cible.getDEFSpe() - this.getATKSpe();
|
||||
if (cible.getType().Equals(Type.DARK)) {
|
||||
Console.WriteLine("Ca n'affecte pas le " + cible.getName() + "ennemi");
|
||||
damage = 0;
|
||||
}
|
||||
if (damage > 0) {
|
||||
if (cible.getType().Equals(Type.STEEL) ||
|
||||
cible.getType().Equals(Type.PSYCHIC)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if (cible.getType().Equals(Type.FIGHTING) ||
|
||||
cible.getType().Equals(Type.POISON)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -20,13 +20,17 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
cible.getType().Equals(Type.FIGHTING) ||
|
||||
cible.getType().Equals(Type.GROUND)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if(cible.getType().Equals(Type.FIRE) ||
|
||||
if (cible.getType().Equals(Type.FIRE) ||
|
||||
cible.getType().Equals(Type.ICE) ||
|
||||
cible.getType().Equals(Type.BUG)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
|
||||
@ -38,13 +42,17 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
cible.getType().Equals(Type.FIGHTING) ||
|
||||
cible.getType().Equals(Type.GROUND)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if(cible.getType().Equals(Type.FIRE) ||
|
||||
if (cible.getType().Equals(Type.FIRE) ||
|
||||
cible.getType().Equals(Type.ICE) ||
|
||||
cible.getType().Equals(Type.BUG)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -21,13 +21,17 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
cible.getType().Equals(Type.FIRE) ||
|
||||
cible.getType().Equals(Type.ELECTRIC)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if(cible.getType().Equals(Type.FAIRY) ||
|
||||
if (cible.getType().Equals(Type.FAIRY) ||
|
||||
cible.getType().Equals(Type.ICE) ||
|
||||
cible.getType().Equals(Type.ROCK)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
|
||||
@ -40,13 +44,17 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
cible.getType().Equals(Type.FIRE) ||
|
||||
cible.getType().Equals(Type.ELECTRIC)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if (cible.getType().Equals(Type.FAIRY) ||
|
||||
cible.getType().Equals(Type.ICE) ||
|
||||
cible.getType().Equals(Type.ROCK)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -19,13 +19,17 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
cible.getType().Equals(Type.WATER) ||
|
||||
cible.getType().Equals(Type.GRASS)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if(cible.getType().Equals(Type.FIRE) ||
|
||||
if (cible.getType().Equals(Type.FIRE) ||
|
||||
cible.getType().Equals(Type.ROCK) ||
|
||||
cible.getType().Equals(Type.GROUND)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
|
||||
@ -37,13 +41,17 @@ namespace Programmation_objet_TLESIO21.projet {
|
||||
cible.getType().Equals(Type.WATER) ||
|
||||
cible.getType().Equals(Type.GRASS)) {
|
||||
damage /= 2;
|
||||
Console.WriteLine("Ce n'est pas très efficace");
|
||||
}
|
||||
if(cible.getType().Equals(Type.FIRE) ||
|
||||
if (cible.getType().Equals(Type.FIRE) ||
|
||||
cible.getType().Equals(Type.ROCK) ||
|
||||
cible.getType().Equals(Type.GROUND)) {
|
||||
damage *= 2;
|
||||
Console.WriteLine("C'est super efficace");
|
||||
}
|
||||
cible.getDamage(damage);
|
||||
} else {
|
||||
Console.WriteLine("L'attaque n'a eu aucun effet");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user