Ejemplo n.º 1
0
 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");
     }
 }
Ejemplo n.º 2
0
 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");
 }
Ejemplo n.º 3
0
 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!!");
 }
Ejemplo n.º 4
0
        //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()));
        }
Ejemplo n.º 5
0
 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()));
     }
 }
Ejemplo n.º 6
0
        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);
                }
            }
        }