Example #1
0
        public void Attaquer(Soldat ennemi)
        {
            // Si du même camp, on ne fait rien
            if (Camp == ennemi.Camp)
            {
                return;
            }

            if (Camp == Camp.Empire)
            {
                Console.WriteLine("Traitor!");
                Console.WriteLine($"Le soldat {Matricule} attaque le rebelle {ennemi.Matricule} et lui inflige {Degats} de dégats.");
                Console.ResetColor();
            }
            else
            {
                Console.WriteLine("Pour la princesse Organa!");
                Console.WriteLine($"Le rebelle {Matricule} attaque le soldat {ennemi.Matricule} et lui inflige {Degats} de dégats.");
                Console.ResetColor();
            }

            ennemi.Sante -= Degats;

            if (ennemi.IsDead(ennemi.Sante))
            {
                Console.WriteLine("Le soldat ennemi est mort \r\n");
            }
            else
            {
                Console.WriteLine($"Il reste {ennemi.Sante} de santé au soldat ennemi. \r\n");
            }
        }
Example #2
0
        public Soldat PickHero(List <Soldat> soldats)
        {
            if (soldats.Count == 0)
            {
                throw new InvalidOperationException("Empty list");
            }

            foreach (Soldat soldat in soldats)
            {
                if (soldat.Degats + soldat.Sante > 0)
                {
                    hero = soldat;
                }
            }

            return(hero);
        }
Example #3
0
        public void LaunchBattle()
        {
            string favori = GetFavori(RebellesList, EmpireList);

            listeSoldats = new List <Soldat>();
            listeSoldats.AddRange(RebellesList);
            listeSoldats.AddRange(EmpireList);

            if (Enum.TryParse(favori, out enumFavori) && enumFavori == Camp.Empire)
            {
                hero = PickHero(EmpireList);
                Console.WriteLine($"L'empire commence la bataille et le soldat {hero.Matricule} est le héros ! \r\n");
                EmpireList[0].Attaquer(RebellesList[0]);
            }
            else
            {
                hero = PickHero(RebellesList);
                Console.WriteLine($"Les rebelles commencent la bataille et le rebelle {hero.Matricule} est le favori ! \r\n");
                RebellesList[0].Attaquer(EmpireList[0]);
            }

            do
            {
                if (EmpireList.Count <= 0 || RebellesList.Count <= 0)
                {
                    break;
                }

                Soldat soldatEmpire  = EmpireList[rnd.Next(0, EmpireList.Count - 1)];
                Soldat soldatRebelle = RebellesList[rnd.Next(0, RebellesList.Count - 1)];

                listeSoldats[rnd.Next(0, 100)].Attaquer(listeSoldats[rnd.Next(0, 100)]);

                if (soldatEmpire.IsDead(soldatEmpire.Sante))
                {
                    EmpireList.Remove(soldatEmpire);
                }
                if (soldatRebelle.IsDead(soldatRebelle.Sante))
                {
                    RebellesList.Remove(soldatRebelle);
                }
            } while (true);
        }
Example #4
0
        static void Main(string[] args)
        {
            var    rebellesList = new List <Soldat>();
            var    empireList   = new List <Soldat>();
            Random rnd          = new Random();

            for (int i = 0; i < 100; i++)
            {
                int sante  = rnd.Next(1000, 2000);
                int degats = rnd.Next(100, 500);

                var       v         = Enum.GetValues(typeof(Camp));
                Camp      camp      = (Camp)v.GetValue(new Random().Next(v.Length));
                Matricule matricule = null;

                if (camp == Camp.Empire)
                {
                    int matr = rnd.Next(100, 1000);
                    matricule = new Matricule(matr);
                }
                else
                {
                    string nom = $"Rebelle {i}";
                    matricule = new Matricule(nom);
                }

                Soldat soldat = new Soldat(sante, degats, camp, matricule);

                System.Threading.Thread.Sleep(10);
                if (soldat.Camp == Camp.Empire)
                {
                    empireList.Add(soldat);
                }
                else
                {
                    rebellesList.Add(soldat);
                }
            }

            Bataille bataille = new Bataille(rebellesList, empireList);

            Console.ReadLine();
        }