public static void DoEtalage(HeroConstructor hero, Enemy enemy) { Console.WriteLine(hero.GetName() + " a lancé l'attaque: " + etalage.GetName() + "!"); hero.SetDef(hero.GetDef() - 10); enemy.SetHp(enemy.GetHp() - (etalage.GetDamage() + hero.GetAtt() - enemy.GetDef())); Console.WriteLine("Vous avez infligé " + (etalage.GetDamage() + hero.GetAtt() - enemy.GetDef()) + " et perdu 10 de défense"); }
public static void DoFlambage(HeroConstructor hero, Enemy enemy) { Console.WriteLine(hero.GetName() + " a lancé l'attaque: " + flambage.GetName() + "!"); enemy.SetHp(enemy.GetHp() - (flambage.GetDamage() + hero.GetAtt() - enemy.GetDef())); hero.SetAtt(hero.GetAtt() + 25); Console.WriteLine("Vous avez infligé " + (flambage.GetDamage() + hero.GetAtt() - enemy.GetDef()) + " et augmenté votre de 25!!"); }
//at public static void DoJulienne(HeroConstructor hero, Enemy enemy) { Console.WriteLine(hero.GetName() + " a lancé l'attaque: " + julienne.GetName() + "!"); int total = enemy.GetHp(); enemy.SetHp(enemy.GetHp() - (julienne.GetDamage() + hero.GetAtt() - enemy.GetDef())); enemy.SetHp(enemy.GetHp() - (int)((julienne.GetDamage() + hero.GetAtt()) / 2)); enemy.SetHp(enemy.GetHp() - (int)((julienne.GetDamage() + hero.GetAtt()) / 4)); Console.WriteLine("Premier coup ... " + (julienne.GetDamage() + hero.GetAtt() - enemy.GetDef())); Console.WriteLine("Deuxième coup ..... " + (int)((julienne.GetDamage() + hero.GetAtt()) / 2)); Console.WriteLine("Troisième coup ........ " + (int)((julienne.GetDamage() + hero.GetAtt()) / 4)); Console.WriteLine("Total " + (total - enemy.GetHp())); }
public static void DoBasicAttack(Attack atk, HeroConstructor hero, Enemy enemy) { if ((atk.GetDamage() + hero.GetAtt()) <= enemy.GetDef()) { Console.WriteLine(hero.GetName() + " a lancé l'attaque: " + atk.GetName() + "!"); Console.WriteLine("l'attaque à été complètement bloquée!!!"); } else { Console.WriteLine(hero.GetName() + " a lancé l'attaque: " + atk.GetName() + "!"); enemy.SetHp(enemy.GetHp() - (atk.GetDamage() + hero.GetAtt() - enemy.GetDef())); Console.WriteLine("vous avez tappé pour " + (atk.GetDamage() + hero.GetAtt()) + " - " + enemy.GetDef() + "armure = " + (atk.GetDamage() + hero.GetAtt() - enemy.GetDef()) + " dommages"); } }
public static void DoHachage(HeroConstructor hero, Enemy enemy, int enemyMaxHp) { Console.WriteLine(hero.GetName() + " a lancé l'attaque: " + hachage.GetName() + "!"); if (enemy.GetHp() <= enemyMaxHp / 2) { enemy.SetHp(enemy.GetHp() - ((hachage.GetDamage() + hero.GetAtt()) * 2 - enemy.GetDef())); Console.WriteLine("Execution!! " + ((hachage.GetDamage() + hero.GetAtt()) * 2)); } else { Console.WriteLine("Pas d'execution, dommages normaux.." + (hachage.GetDamage() + hero.GetAtt())); enemy.SetHp(enemy.GetHp() - (hachage.GetDamage() + hero.GetAtt() - enemy.GetDef())); } }
public static void DoSpores(HeroConstructor hero, Enemy enemy) { Console.WriteLine(enemy.GetName() + " a lancé l'attaque: " + spores.GetName() + "!"); hero.SetHp(hero.GetHp() - (spores.GetDamage() + enemy.GetAtt())); Console.WriteLine(enemy.GetName() + " vous a tappé pour " + (spores.GetDamage() + enemy.GetAtt()) + " - 0 armure = " + (spores.GetDamage() + enemy.GetAtt()) + " dommages"); hero.SetAtt(hero.GetAtt() - 10); Console.WriteLine("votre attaque diminue de 10"); }
public static void DoPyrolise(HeroConstructor hero, Enemy enemy) { Console.WriteLine("Vous a lancé l'attaque: " + pyrolise.GetName() + "!"); Random r = new Random(DateTime.Now.Millisecond); int alea = r.Next(1, 5); if (alea == 1) { Console.WriteLine("Surchauffe!! l'attaque à raté.."); } else if (alea > 1) { enemy.SetHp(enemy.GetHp() - (pyrolise.GetDamage() + hero.GetAtt() - enemy.GetDef())); Console.WriteLine("Réussite! vous avez tappé pour " + (pyrolise.GetDamage() + hero.GetAtt()) + " - " + enemy.GetDef() + "armure = " + (pyrolise.GetDamage() + hero.GetAtt() - enemy.GetDef()) + " dommages"); } }
public bool Fight(HeroConstructor hero, Enemy enemy) { string option; bool tourJoueur = true; bool victoire; int enemyHpReset = enemy.GetHp(); int enemyAttReset = enemy.GetAtt(); int enemyDefReset = enemy.GetDef(); int heroHpReset = hero.GetHp(); int heroAttReset = hero.GetAtt(); int heroDefReset = hero.GetDef(); //début du combat while (true) { //tour de l'ennemi if (tourJoueur == false) { Attack atk = enemy.ChoixAttackEnemy(); if (enemy.GetTheType() == "plaine" && atk == enemy.attackList[2]) { EnemyPlaine.DoOgm(enemy); } else if (enemy.GetTheType() == "plaine" && atk == enemy.attackList[3]) { EnemyPlaine.DoPotager(hero, enemy); } else if (enemy.GetTheType() == "foret" && atk == enemy.attackList[2]) { EnemyForet.DoOgm2(enemy); } else if (enemy.GetTheType() == "foret" && atk == enemy.attackList[3]) { EnemyForet.DoDoubleBaffe(hero, enemy); } else if (enemy.GetTheType() == "bossPlaine") { Enemy.DoBasicAttack(atk, hero, enemy); } else if (enemy.GetTheType() == "bossforet" && atk == enemy.attackList[0] || atk == enemy.attackList[1]) { Enemy.DoBasicAttack(atk, hero, enemy); } else if (enemy.GetTheType() == "bossforet" && atk == enemy.attackList[2]) { EnemyForet.DoDoubleBaffe(hero, enemy); } else if (enemy.GetTheType() == "bossforet" && atk == enemy.attackList[3]) { Boss.DoSpores(hero, enemy); } else if (atk == enemy.attackList[0] || atk == enemy.attackList[1]) { Enemy.DoBasicAttack(atk, hero, enemy); } tourJoueur = true; } if (hero.GetHp() <= 0) { Console.WriteLine("Vous vous etes fait tuer par " + enemy.GetName()); //on reset les stats du joueur et de l'ennemi hero.SetHp(heroHpReset); hero.SetAtt(heroAttReset); hero.SetDef(heroDefReset); enemy.SetHp(enemyHpReset); enemy.SetAtt(enemyAttReset); enemy.SetDef(enemyDefReset); return(victoire = false); } if (tourJoueur == true) { Console.WriteLine("c'est votre tour!"); Console.WriteLine("Hp = " + hero.GetHp() + " /// Att = " + hero.GetAtt() + " /// Def = " + hero.GetDef()); option = FightMenu(enemy); if (option == "attack") { hero.AttackMenu(); Attack atk = hero.ChoixAttaqueHero(); if (hero.GetClasse() == "Découpe" && atk == hero.GetAttacKList()[2]) { AttackDecoupe.DoJulienne(hero, enemy); } else if (hero.GetClasse() == "Découpe" && atk == hero.GetAttacKList()[3]) { AttackDecoupe.DoHachage(hero, enemy, enemyHpReset); } else if (hero.GetClasse() == "Cuisson" && atk == hero.GetAttacKList()[2]) { AttackCuisson.DoFlambage(hero, enemy); } else if (hero.GetClasse() == "Cuisson" && atk == hero.GetAttacKList()[3]) { AttackCuisson.DoPyrolise(hero, enemy); } else if (hero.GetClasse() == "Pâte" && atk == hero.GetAttacKList()[2]) { AttackPate.DoMalaxage(hero, enemy); } else if (hero.GetClasse() == "Pâte" && atk == hero.GetAttacKList()[3]) { AttackPate.DoEtalage(hero, enemy); } else if (atk == hero.GetAttacKList()[0] || atk == hero.GetAttacKList()[1]) { Attack.DoBasicAttack(atk, hero, enemy); } tourJoueur = false; } else if (option == "herb") { Herb herb = hero.ChoixHerbs(); if (herb != null) { Console.WriteLine(hero.GetName() + " a utilisé: " + herb.GetName() + "!"); if (herb == herbs[0]) { Herb.UseRomarin(enemy); } else if (herb == herbs[1]) { Herb.UseThym(enemy); } else if (herb == herbs[2]) { Herb.UseCoriandre(enemy); } } else { Console.WriteLine("vous n'en n'avez pas dans votre inventaire!!"); } } else if (option == "spice") { Spice spice = hero.ChoixSpice(); if (spice != null) { Console.WriteLine(hero.GetName() + " a utilisé: " + spice.GetName() + "!"); if (spice == spices[0]) { Spice.UsePaprika(hero); } else if (spice == spices[1]) { Spice.UseCanelle(hero); } else if (spice == spices[2]) { Spice.UseGingembre(hero, heroHpReset); } } else { Console.WriteLine("vous n'en n'avez pas dans votre inventaire!!"); } } else if (option == "infos") { enemy.StatsMenuEnemy(); enemy.AttackMenuEnemy(); } if (enemy.GetHp() > 0) { Console.WriteLine(enemy.GetName() + " a " + enemy.GetHp() + "hp"); } } if (enemy.GetHp() <= 0) { Console.WriteLine(enemy.GetName() + " est mort!!"); //on reset les stats du joueur et de l'ennemis hero.SetHp(heroHpReset); hero.SetAtt(heroAttReset); hero.SetDef(heroDefReset); enemy.SetHp(enemyHpReset); enemy.SetAtt(enemyAttReset); enemy.SetDef(enemyDefReset); if (hero.getXp() + enemy.xp >= hero.getNextLvl()) { Console.WriteLine("Vous avez gagné un niveau!!"); Console.WriteLine(hero.GetName() + " passe niveau " + (hero.getLvl() + 1) + "!!!"); Console.WriteLine("Hp --> +100 | Att --> +10 | Def --> +10"); hero.SetXp(enemy.xp - (hero.getNextLvl() - hero.getXp())); hero.SetLvl(hero.getLvl() + 1); hero.SetNextLvl(hero.getNextLvl() * 2 + 50); hero.SetHp(hero.GetHp() + 100); hero.SetAtt(hero.GetAtt() + 10); hero.SetDef(hero.GetDef() + 10); } else if (hero.getXp() + enemy.xp < hero.getNextLvl()) { hero.SetXp(hero.getXp() + enemy.xp); } if (enemy.GetTheType() == "bossplaine" || enemy.GetTheType() == "bossforet" || enemy.GetTheType() == "bossmer" || enemy.GetTheType() == "bossdesert" || enemy.GetTheType() == "bossmontagne" || enemy.GetTheType() == "bossruine") { Console.WriteLine("Vous avez gagné \"" + enemy.reward.GetName() + "\"!!!"); hero.inventory.ingredientList.Add(enemy.reward); } Console.ReadLine(); return(victoire = true); } } }
public void NewFrame() { MapCase currentCase = map.FindHero(); if (currentCase.enemyHere != null) { Console.Clear(); Console.WriteLine("\nCOMBAT!!!"); Console.WriteLine("vs " + currentCase.enemyHere.GetName()); bool result = Fight(hero, currentCase.enemyHere); if (result == true) { if (map.FindHero().GetTerrain() == "plaine") { map.SpawnBoss("plaine", 4, 9, boss[0], 1); } else if (map.FindHero().GetTerrain() == "foret") { map.SpawnBoss("foret", 4, 12, boss[1], 1); } currentCase.enemyHere = null; currentCase.defeatedEnemy = true; } else if (result == false) { Console.Clear(); Console.WriteLine("vous etes mort..."); hero.SetHp(100); } } else if (currentCase.chestHere == true) { Console.Clear(); Chest chest = new Chest("coffre"); Console.WriteLine("Vous avez trouvé un coffre!!!"); Console.WriteLine("Voici son contenu: "); string content = chest.SetContent(); chest.ShowContent(); Console.ReadLine(); if (content == "weapon") { hero.inventory.weaponList.Add(chest.weapon[0]); hero.SetAtt(hero.GetAtt() + chest.weapon[0].statAtt); hero.SetDef(hero.GetDef() + chest.weapon[0].statDef); hero.SetHp(hero.GetHp() + chest.weapon[0].statHp); } else if (content == "consommable") { for (int i = 0; i < chest.herb.Count; i++) { hero.inventory.herbList.Add(chest.herb[i]); } for (int i = 0; i < chest.spice.Count; i++) { hero.inventory.spiceList.Add(chest.spice[i]); } } currentCase.chestHere = false; currentCase.openedChest = true; } else { Console.Clear(); map.AfficheMap(); GameMenu(); } }
public static void UsePaprika(HeroConstructor hero) { hero.SetAtt(hero.GetAtt() + 20); Console.WriteLine("Votre attaque a augmenté de 20!"); }