Example #1
0
        public List <string> Progress(Gladiator gladiator)
        {
            var attribs  = AttributeSelections.ToList();
            var increase = new List <AttributeSelection>();
            var random   = new Random();
            var result   = new List <string>();

            var nameGenerator = new NameGenerator();

            if (gladiator.Victories == 7)
            {
                gladiator.Name = gladiator.Name + " the " + nameGenerator.GetAdjective();
            }
            if (gladiator.Victories == 14)
            {
                gladiator.Name = nameGenerator.GetTitle() + " " + gladiator.Name;
            }

            for (var i = 0; i < 2; i++)
            {
                var a = attribs[random.Next(0, attribs.Count)];
                attribs.Remove(a);
                increase.Add(a);
            }

            foreach (var attribute in increase)
            {
                attribute.GetProperty().SetValue(gladiator, ((int)attribute.GetProperty().GetValue(gladiator)) + 1);
                result.Add(attribute.Name);
            }

            return(result);
        }
Example #2
0
        public Combat()
        {
            GladiatorFactory Arena = new GladiatorFactory();

            FirstGladiator  = Arena.GenerateRandomGladiator();
            SecondGladiator = Arena.GenerateRandomGladiator();
        }
Example #3
0
        public static int FightOfTwoGladiators(Gladiator first, Gladiator second)
        {
            string firstStats  = first.Name + " is " + first.type + "(" + first.Hp + "/" + first.Sp + "/" + first.Dex + "/" + first.Lvl + ")";
            string secondStats = second.Name + " is " + second.type + "(" + second.Hp + "/" + second.Sp + "/" + second.Dex + "/" + second.Lvl + ")";

            Console.WriteLine(firstStats + " vs " + secondStats);
            int tempHpFirst        = first.Hp;
            int tempHpSecond       = second.Hp;
            int dexWhenAtackFirst  = HowManyDex(first.Dex, second.Dex);
            int dexWhenAtackSecond = HowManyDex(second.Dex, first.Dex);


            while (tempHpFirst > 1 && tempHpSecond > 1)
            {
                // first attack
                if (IsSuccesAttack(dexWhenAtackFirst))
                {
                    int damage = first.Sp * Util.GetNumber(1, 6) / 10;
                    Console.WriteLine(first.Name + " make " + damage + "dmg, ");
                    tempHpSecond -= damage;
                }
                else
                {
                    Console.WriteLine(first.Name + " miss attack, ");
                }
                // second attack
                if (IsSuccesAttack(dexWhenAtackSecond))
                {
                    int damage = second.Sp * Util.GetNumber(1, 6) / 10;
                    Console.WriteLine(second.Name + " make " + damage + "dmg, ");
                    tempHpFirst -= damage;
                }
                else
                {
                    Console.WriteLine(second.Name + " miss attack, ");
                }
            }

            if (tempHpFirst < 1 && tempHpSecond < 1)
            {
                Console.WriteLine("Draw");
                return(0);
            }
            else if (tempHpFirst > 1)
            {
                Console.WriteLine(first.Name + " Win");
                return(1);
            }
            else if (tempHpSecond > 1)
            {
                Console.WriteLine(second.Name + " Win");
                return(2);
            }
            else
            {
                Console.WriteLine("problem w wlace");
                return(0);
            }
        }
Example #4
0
 public void AnnounceFight(Gladiator a, Gladiator b)
 {
     Console.WriteLine("");
     Console.WriteLine("");
     Console.WriteLine("");
     Console.WriteLine($"{a.Name} ({a.Victories}) WILL FIGHT {b.Name} ({b.Victories})");
     Console.WriteLine("------------------------------------------------------------");
     C.Wait(500);
 }
        public void GladiatorPresentation(Gladiator gladiator)
        {
            var presentation = $"My name is {gladiator.Name}, I am a mighty warrior " +
                               $"with attack {gladiator.AttackScore} and defense {gladiator.DefenseScore}. " +
                               $"I have {gladiator.HitPoints()} hit points.";

            Console.WriteLine(presentation);
            C.Wait(600);
        }
 private void FateOf(Gladiator gladiator)
 {
     if (gladiator.IsAlive())
     {
         Combatants.Add(gladiator);
     }
     else
     {
         Graveyard.Add(gladiator);
     }
 }
Example #7
0
 //retirer un gladiateur d'une team
 public void RemoveGladiator(Gladiator gladiator)
 {
     if (this.Gladiators.Count > 0)
     {
         this.Gladiators.Remove(gladiator);
         Console.WriteLine("Votre gladiateur a bien été retiré de cette team.");
     }
     else
     {
         Console.WriteLine("Votre team ne contient aucun gladiateur.");
     }
 }
Example #8
0
        public Gladiator BuildGladiator()
        {
            var gladiator = new Gladiator(NameGenerator.GetName());

            gladiator.Strength     = RollAttribute();
            gladiator.AttackScore  = RollAttribute();
            gladiator.DefenseScore = RollAttribute();
            gladiator.Morale       = RollAttribute();
            gladiator.Constitution = RollAttribute();

            return(gladiator);
        }
Example #9
0
        private double DamageDone(Gladiator gladiator)
        {
            Random rnd        = new Random();
            double coeficient = rnd.NextDouble();

            coeficient /= 2;
            if (coeficient < 0.1)
            {
                coeficient = 0.1;
            }
            return(gladiator.Strength * coeficient);
        }
Example #10
0
 //Ajouter un gladiateur dans une team
 public void AddGladiator(Gladiator gladiator)
 {
     //Vérification si la taille limite d'une team n'a pas été atteinte
     if (this.Gladiators.Count < NB_GLADIATOR)
     {
         this.Gladiators.Add(gladiator);
         Console.WriteLine("Votre gladiateur a bien été ajouté à cette team.");
     }
     else
     {
         Console.WriteLine("Vous ne pouvez pas avoir plus de " + NB_GLADIATOR + " gladiateurs dans une team.");
     }
 }
Example #11
0
        private double DexterityNormalization(Gladiator attacker, Gladiator deffender)
        {
            double dexterityDifference = attacker.Dexterity - deffender.Dexterity;

            if (dexterityDifference < 10)
            {
                dexterityDifference = 10;
            }
            else if (dexterityDifference > 100)
            {
                dexterityDifference = 100;
            }
            return(dexterityDifference);
        }
Example #12
0
        private void PerformAttack(Gladiator attacker, Gladiator defender)
        {
            var attackRoll        = CombatRoll(attacker.AttackScore);
            var enemysDefenseRoll = CombatRoll(defender.DefenseScore);
            var isHit             = attackRoll > enemysDefenseRoll;
            var damage            = 0;

            if (isHit)
            {
                damage           = DamageRoll(attacker.Strength);
                defender.Wounds += damage;
            }

            View?.AttackResult(attacker, defender, isHit, damage);
        }
        public void AttackResult(Gladiator attacker, Gladiator defender, bool hit, int damage = 0)
        {
            return;

            string result = $"{attacker.Name} attacks {defender.Name}";

            if (hit)
            {
                result += $" and scores a hit for {damage} damage. {defender.Name} now has {defender.HitPoints()} hit points left.";
            }
            else
            {
                result += $" but misses!";
            }

            Console.WriteLine(result);
            C.Wait(100);
        }
Example #14
0
        public void CombatResult(Gladiator winner, Gladiator loser, int combatantCount, int graveyardCount)
        {
            var s = new StringBuilder();

            s.Append($"{winner.Name} wins the fight over {loser.Name}");

            if (!loser.IsAlive())
            {
                s.Append($", who has died. He joins {graveyardCount} other poor souls.");
            }
            else
            {
                s.Append(", who conceded.");
            }

            s.Append($" There are still {combatantCount} combatants left.");


            Console.WriteLine(s.ToString());
            C.Wait(1000);
        }
Example #15
0
        public CombatResult Fight(Gladiator a, Gladiator b)
        {
            View?.GladiatorPresentation(a);
            View?.GladiatorPresentation(b);

            var attacker = a;
            var defender = b;

            while (DoContinueFight(a, b))
            {
                var temp = attacker;
                attacker = defender;
                defender = temp;

                PerformAttack(attacker, defender);
            }

            return(new CombatResult()
            {
                Winner = attacker,
                Loser = defender
            });
        }
Example #16
0
 //Ajouter un gladiateur dans une team
 public void AddGladiator(Gladiator gladiator)
 {
     //Vérification si la taille limite d'une team n'a pas été atteinte
     if (this.Gladiators.Count < NB_GLADIATOR) {
         this.Gladiators.Add (gladiator);
         Console.WriteLine ("Votre gladiateur a bien été ajouté à cette team.");
     }
     else
         Console.WriteLine ("Vous ne pouvez pas avoir plus de " + NB_GLADIATOR + " gladiateurs dans une team.");
 }
 public Fight(Gladiator firstGladiator, Gladiator secondGladiator)
 {
     FirstGladiator = firstGladiator;
     SecondGladiator = secondGladiator;
 }
Example #18
0
        public static void Main(string[] args)
        {
            //////  PLAYERS  //////

            Player player1 = new Player("Daniel", "SMITH", "Dany");
            Player player2 = new Player("Ryan", "JOHNSON", "RJ");
            Player player3 = new Player("James", "WILLIAMS", "Jimy");
            Player player4 = new Player("Kyle", "BROWN", "Kyle");

            //////  WEAPONS  //////

            Equipment petitBouclierRond     = new SmallRoundShield();
            Equipment bouclierRectangulaire = new RectangularShield();
            Equipment casque  = new Helmet();
            Equipment dague   = new Dagger();
            Equipment epee    = new Sword();
            Equipment trident = new Trident();
            Equipment lance   = new Lance();
            Equipment filet   = new Net();

            //////  TEAMS  //////

            Team teamRed    = new Team("teamRed", "La teamRed est la plus forte.");
            Team teamBlue   = new Team("teamBlue", "La teamBlue est la plus forte.");
            Team teamGreen  = new Team("teamGreen", "La teamGreen est la plus forte.");
            Team teamYellow = new Team("teamYellow", "La teamYellow est la plus forte.");

            player1.AddTeam(teamRed);
            player2.AddTeam(teamBlue);
            player3.AddTeam(teamGreen);
            player4.AddTeam(teamYellow);

            /// TEAM RED
            Gladiator gladiatorR1 = new Gladiator("gladiatorR1");

            gladiatorR1.Equip(casque);
            gladiatorR1.Equip(trident);
            gladiatorR1.Equip(trident);
            gladiatorR1.Equip(casque);
            Gladiator gladiatorR2 = new Gladiator("gladiatorR2");

            gladiatorR2.Equip(filet);
            gladiatorR2.Equip(lance);
            Gladiator gladiatorR3 = new Gladiator("gladiatorR3");

            gladiatorR3.Equip(epee);
            gladiatorR3.Equip(petitBouclierRond);

            gladiatorR1.SetInitiativeTo(1);
            gladiatorR2.SetInitiativeTo(2);
            gladiatorR3.SetInitiativeTo(3);

            teamRed.AddGladiator(gladiatorR1);
            teamRed.AddGladiator(gladiatorR3);
            teamRed.AddGladiator(gladiatorR2);


            /// TEAM BLUE
            Gladiator gladiatorB1 = new Gladiator("gladiatorB1");

            gladiatorB1.Equip(dague);
            gladiatorB1.Equip(dague);
            gladiatorB1.Equip(petitBouclierRond);
            Gladiator gladiatorB2 = new Gladiator("gladiatorB2");

            gladiatorB2.Equip(dague);
            gladiatorB2.Equip(bouclierRectangulaire);
            Gladiator gladiatorB3 = new Gladiator("gladiatorB3");

            gladiatorB3.Equip(epee);
            gladiatorB3.Equip(casque);

            gladiatorB1.SetInitiativeTo(1);
            gladiatorB2.SetInitiativeTo(2);
            gladiatorB3.SetInitiativeTo(3);

            teamBlue.AddGladiator(gladiatorB1);
            teamBlue.AddGladiator(gladiatorB2);
            teamBlue.AddGladiator(gladiatorB3);

            /// TEAM GREEN
            Gladiator gladiatorG1 = new Gladiator("gladiatorG1");

            gladiatorG1.Equip(epee);
            gladiatorG1.Equip(petitBouclierRond);
            Gladiator gladiatorG2 = new Gladiator("gladiatorG2");

            gladiatorG2.Equip(dague);
            gladiatorG2.Equip(dague);
            gladiatorG2.Equip(petitBouclierRond);
            Gladiator gladiatorG3 = new Gladiator("gladiatorG3");

            gladiatorG3.Equip(lance);
            gladiatorG3.Equip(casque);

            gladiatorG1.SetInitiativeTo(1);
            gladiatorG2.SetInitiativeTo(2);
            gladiatorG3.SetInitiativeTo(3);

            teamGreen.AddGladiator(gladiatorG1);
            teamGreen.AddGladiator(gladiatorG2);
            teamGreen.AddGladiator(gladiatorG3);

            /// TEAM YELLOW
            Gladiator gladiatorY1 = new Gladiator("gladiatorY1");

            gladiatorY1.Equip(dague);
            gladiatorY1.Equip(dague);
            gladiatorY1.Equip(petitBouclierRond);
            Gladiator gladiatorY2 = new Gladiator("gladiatorY2");

            gladiatorY2.Equip(epee);
            gladiatorY2.Equip(petitBouclierRond);
            Gladiator gladiatorY3 = new Gladiator("gladiatorY3");

            gladiatorY3.Equip(trident);
            gladiatorY3.Equip(casque);

            gladiatorY1.SetInitiativeTo(1);
            gladiatorY2.SetInitiativeTo(2);
            gladiatorY3.SetInitiativeTo(3);

            teamYellow.AddGladiator(gladiatorY1);
            teamYellow.AddGladiator(gladiatorY2);
            teamYellow.AddGladiator(gladiatorY3);

            //////  TOURNAMENT  //////
            Tournament tournois = new Tournament();

            tournois.AddTeam(teamGreen);
            tournois.AddTeam(teamYellow);
            tournois.AddTeam(teamBlue);
            tournois.AddTeam(teamRed);

            //////  TEST  //////

            tournois.Start();

            Console.WriteLine("STATISTIQUES :\r\n");
            Console.WriteLine("teamBlue winrate : " + teamBlue.WinRate);
            Console.WriteLine("teamGreen winrate : " + teamGreen.WinRate);
            Console.WriteLine("teamRed winrate : " + teamRed.WinRate);
            Console.WriteLine("teamYellow winrate : " + teamYellow.WinRate + "\r\n");
            Console.WriteLine("gladiatorB1 winrate : " + gladiatorB1.WinRate);
            Console.WriteLine("gladiatorB2 winrate : " + gladiatorB2.WinRate);
            Console.WriteLine("gladiatorB3 winrate : " + gladiatorB3.WinRate);
            Console.WriteLine("gladiatorR1 winrate : " + gladiatorR1.WinRate);
            Console.WriteLine("gladiatorR2 winrate : " + gladiatorR2.WinRate);
            Console.WriteLine("gladiatorR3 winrate : " + gladiatorR3.WinRate);
            Console.WriteLine("gladiatorG1 winrate : " + gladiatorG1.WinRate);
            Console.WriteLine("gladiatorG2 winrate : " + gladiatorG2.WinRate);
            Console.WriteLine("gladiatorG3 winrate : " + gladiatorG3.WinRate);
            Console.WriteLine("gladiatorY1 winrate : " + gladiatorY1.WinRate);
            Console.WriteLine("gladiatorY2 winrate : " + gladiatorY2.WinRate);
            Console.WriteLine("gladiatorY3 winrate : " + gladiatorY3.WinRate);
        }
Example #19
0
 //retirer un gladiateur d'une team
 public void RemoveGladiator(Gladiator gladiator)
 {
     if (this.Gladiators.Count > 0) {
         this.Gladiators.Remove (gladiator);
         Console.WriteLine ("Votre gladiateur a bien été retiré de cette team.");
     }
     else
         Console.WriteLine ("Votre team ne contient aucun gladiateur.");
 }
Example #20
0
 public void AnnounceProgress(Gladiator winner, List <string> result)
 {
     Console.WriteLine($"{winner.Name} got a +1 to the following: {string.Join(", ", result)}");
     C.Wait(300);
 }
Example #21
0
 private double DamageTaken(Gladiator deffender, Gladiator attacker)
 {
     return(deffender.Health - DamageDone(attacker));
 }
Example #22
0
 public void AnnounceWinner(Gladiator winner)
 {
     Console.WriteLine($"THE TOURNAMENT WAS WON BY {winner.Name}.");
 }
Example #23
0
 private bool Survived(Gladiator gladiator)
 {
     return(gladiator.Health > 0);
 }
        //Méthode de lancement du combat entre les deux gladiateur, elle renvoie le gladiateur vainqueur
        public Gladiator Start()
        {
            Gladiator winnerGladiator = null;
            Gladiator attacker        = null;
            Gladiator defender        = null;
//			Gladiator sameAttacker = null;
//			Gladiator sameDefender = null;
            List <Equipment> listWeapons = new List <Equipment>();
            List <Equipment> listArmor   = new List <Equipment>();
//			List<Equipment> secondListWeapons = new List<Equipment>();
//			List<Equipment> secondListArmor = new List<Equipment>();
            List <Equipment> firstEquipmentList  = new List <Equipment>();
            List <Equipment> secondEquipmentList = new List <Equipment>();
            Random           rand = new Random();

            firstEquipmentList  = this.FirstGladiator.Equipments.OrderBy(j => j.Initiative).ToList();
            secondEquipmentList = this.SecondGladiator.Equipments.OrderBy(j => j.Initiative).ToList();

//			if (firstEquipmentList.First ().Initiative == secondEquipmentList.First ().Initiative) {
//				sameAttacker = this.FirstGladiator;
//				sameDefender = this.SecondGladiator;
//				Console.WriteLine ("Cas 1");
//			}


            //Choix du gladiateur qui attaquera en premier en fonction de l'initiative de leurs armes
            if (firstEquipmentList.First().Initiative < secondEquipmentList.First().Initiative)
            {
                attacker = this.FirstGladiator;
                defender = this.SecondGladiator;
            }
            else
            {
                attacker = this.SecondGladiator;
                defender = this.FirstGladiator;
            }


            while (attacker.State == true && defender.State == true)
            {
                Console.WriteLine("-------- Passe d'arme --------");

//				if (sameAttacker == null && sameDefender == null) {
                for (int i = 0; i < attacker.Equipments.Count; i++)
                {
                    if (attacker.Equipments [i].Type == "att" || attacker.Equipments [i].Type == "both")
                    {
                        if (attacker.Equipments [i].Name == "Filet" && attacker.Equipments [i].UniqueUse == false)
                        {
                            continue;
                        }
                        else
                        {
                            listWeapons.Add(attacker.Equipments [i]);
                        }
                    }
                }

                for (int i = 0; i < defender.Equipments.Count; i++)
                {
                    if (defender.Equipments [i].Type == "def" || defender.Equipments [i].Type == "both")
                    {
                        listArmor.Add(defender.Equipments [i]);
                    }
                }
//				}
//				else {
//					for (int i = 0; i < sameAttacker.Equipments.Count; i++) {
//						if (sameAttacker.Equipments [i].Type == "att" || sameAttacker.Equipments [i].Type == "both") {
//							listWeapons.Add (sameAttacker.Equipments [i]);
//						}
//						if (sameAttacker.Equipments [i].Type == "def" || sameAttacker.Equipments [i].Type == "both") {
//							listArmor.Add (sameAttacker.Equipments [i]);
//						}
//					}
//
//					for (int i = 0; i < sameDefender.Equipments.Count; i++) {
//						if (sameDefender.Equipments [i].Type == "att" || sameDefender.Equipments [i].Type == "both") {
//							secondListWeapons.Add (sameDefender.Equipments [i]);
//						}
//						if (sameDefender.Equipments [i].Type == "def" || sameDefender.Equipments [i].Type == "both") {
//							secondListArmor.Add (sameDefender.Equipments [i]);
//						}
//					}
//				}


                Console.WriteLine("L'attaquant a " + listWeapons.Count + " arme(s)");
                Console.WriteLine("Le défenseur a " + listArmor.Count + " armure(s)");
//				Console.WriteLine ("Le défenseur a "+secondListWeapons.Count+" armes");
//				Console.WriteLine ("Le défenseur a "+secondListArmor.Count+" armure");

                //Attaque et défense successive des armes et des armures
                foreach (Equipment weapon in listWeapons)
                {
                    if (attacker.Trap == true)
                    {
                        weapon.Attack = weapon.Attack / 2;
                        Console.WriteLine(attacker.Name + " est piégé");
                    }
                    if (defender.State == true)
                    {
                        if (weapon.Attack < rand.Next(100))
                        {
                            Console.WriteLine(attacker.Name + " réussi son attaque avec un(e) " + weapon.Name);
                            if (weapon.Name == "Filet" && weapon.UniqueUse == true)
                            {
                                defender.Trap    = true;
                                weapon.UniqueUse = false;
                            }

                            foreach (Equipment armor in listArmor)
                            {
                                if (weapon.Name == "Filet")
                                {
                                    Console.WriteLine(defender.Name + " se prend un filet sur la tronche");
                                    break;
                                }
                                else if (armor.Defense < rand.Next(100))
                                {
                                    Console.WriteLine(defender.Name + " bloque le coup avec un(e)" + armor.Name);
                                    break;
                                }
                                else
                                {
                                    Console.WriteLine(defender.Name + " est mort.\r\n");
                                    defender.State  = false;
                                    winnerGladiator = attacker;
                                    defender.FightLost++;
                                    attacker.FightWin++;
                                    goto Outer;
                                }
                            }
                            if (listArmor.Count == 0)
                            {
                                Console.WriteLine(defender.Name + " est mort.");
                                defender.State  = false;
                                winnerGladiator = attacker;
                                defender.FightLost++;
                                attacker.FightWin++;
                                goto Outer;
                            }
                        }
                        else
                        {
                            Console.WriteLine(attacker.Name + " rate son attaque de " + weapon.Name);
                        }
                    }
                    Outer : continue;
                }
                //Switch entre l'attaquant et le défenseur
                listWeapons.Clear();
                listArmor.Clear();
                Gladiator temp = attacker;
                attacker = defender;
                defender = temp;
            }

            //remise à neuf de nos braves gladiateurs pour les prochains combats
            this.FirstGladiator.State  = true;
            this.SecondGladiator.State = true;
            this.FirstGladiator.Trap   = false;
            this.SecondGladiator.Trap  = false;
            for (int i = 0; i < this.FirstGladiator.Equipments.Count; i++)
            {
                if (this.FirstGladiator.Equipments [i].Name == "Filet")
                {
                    this.FirstGladiator.Equipments [i].UniqueUse = true;
                }
            }
            for (int i = 0; i < this.SecondGladiator.Equipments.Count; i++)
            {
                if (this.SecondGladiator.Equipments [i].Name == "Filet")
                {
                    this.SecondGladiator.Equipments [i].UniqueUse = true;
                }
            }
            return(winnerGladiator);
        }
 private void Progress(Gladiator winner)
 {
     var generator = new ProgressGenerator();
     var result    = generator.Progress(winner);
     //View.AnnounceProgress(winner, result);
 }
Example #26
0
 private bool DoContinueFight(Gladiator a, Gladiator b)
 {
     return(!a.IsBeaten() && !b.IsBeaten());
 }
        public static void Main(string[] args)
        {
            //////  PLAYERS  //////

            Player player1 = new Player ("Daniel", "SMITH", "Dany");
            Player player2 = new Player ("Ryan", "JOHNSON", "RJ");
            Player player3 = new Player ("James", "WILLIAMS", "Jimy");
            Player player4 = new Player ("Kyle", "BROWN", "Kyle");

            //////  WEAPONS  //////

            Equipment petitBouclierRond = new SmallRoundShield ();
            Equipment bouclierRectangulaire = new RectangularShield ();
            Equipment casque = new Helmet ();
            Equipment dague = new Dagger ();
            Equipment epee = new Sword ();
            Equipment trident = new Trident ();
            Equipment lance = new Lance ();
            Equipment filet = new Net ();

            //////  TEAMS  //////

            Team teamRed = new Team ("teamRed", "La teamRed est la plus forte.");
            Team teamBlue = new Team ("teamBlue", "La teamBlue est la plus forte.");
            Team teamGreen = new Team ("teamGreen", "La teamGreen est la plus forte.");
            Team teamYellow = new Team ("teamYellow", "La teamYellow est la plus forte.");

            player1.AddTeam (teamRed);
            player2.AddTeam (teamBlue);
            player3.AddTeam (teamGreen);
            player4.AddTeam (teamYellow);

            /// TEAM RED
            Gladiator gladiatorR1 = new Gladiator ("gladiatorR1");
            gladiatorR1.Equip (casque);
            gladiatorR1.Equip (trident);
            gladiatorR1.Equip (trident);
            gladiatorR1.Equip (casque);
            Gladiator gladiatorR2 = new Gladiator ("gladiatorR2");
            gladiatorR2.Equip (filet);
            gladiatorR2.Equip (lance);
            Gladiator gladiatorR3 = new Gladiator ("gladiatorR3");
            gladiatorR3.Equip (epee);
            gladiatorR3.Equip (petitBouclierRond);

            gladiatorR1.SetInitiativeTo (1);
            gladiatorR2.SetInitiativeTo (2);
            gladiatorR3.SetInitiativeTo (3);

            teamRed.AddGladiator (gladiatorR1);
            teamRed.AddGladiator (gladiatorR3);
            teamRed.AddGladiator (gladiatorR2);

            /// TEAM BLUE
            Gladiator gladiatorB1 = new Gladiator ("gladiatorB1");
            gladiatorB1.Equip (dague);
            gladiatorB1.Equip (dague);
            gladiatorB1.Equip (petitBouclierRond);
            Gladiator gladiatorB2 = new Gladiator ("gladiatorB2");
            gladiatorB2.Equip (dague);
            gladiatorB2.Equip (bouclierRectangulaire);
            Gladiator gladiatorB3 = new Gladiator ("gladiatorB3");
            gladiatorB3.Equip (epee);
            gladiatorB3.Equip (casque);

            gladiatorB1.SetInitiativeTo (1);
            gladiatorB2.SetInitiativeTo (2);
            gladiatorB3.SetInitiativeTo (3);

            teamBlue.AddGladiator (gladiatorB1);
            teamBlue.AddGladiator (gladiatorB2);
            teamBlue.AddGladiator (gladiatorB3);

            /// TEAM GREEN
            Gladiator gladiatorG1 = new Gladiator ("gladiatorG1");
            gladiatorG1.Equip (epee);
            gladiatorG1.Equip (petitBouclierRond);
            Gladiator gladiatorG2 = new Gladiator ("gladiatorG2");
            gladiatorG2.Equip (dague);
            gladiatorG2.Equip (dague);
            gladiatorG2.Equip (petitBouclierRond);
            Gladiator gladiatorG3 = new Gladiator ("gladiatorG3");
            gladiatorG3.Equip (lance);
            gladiatorG3.Equip (casque);

            gladiatorG1.SetInitiativeTo (1);
            gladiatorG2.SetInitiativeTo (2);
            gladiatorG3.SetInitiativeTo (3);

            teamGreen.AddGladiator (gladiatorG1);
            teamGreen.AddGladiator (gladiatorG2);
            teamGreen.AddGladiator (gladiatorG3);

            /// TEAM YELLOW
            Gladiator gladiatorY1 = new Gladiator ("gladiatorY1");
            gladiatorY1.Equip (dague);
            gladiatorY1.Equip (dague);
            gladiatorY1.Equip (petitBouclierRond);
            Gladiator gladiatorY2 = new Gladiator ("gladiatorY2");
            gladiatorY2.Equip (epee);
            gladiatorY2.Equip (petitBouclierRond);
            Gladiator gladiatorY3 = new Gladiator ("gladiatorY3");
            gladiatorY3.Equip (trident);
            gladiatorY3.Equip (casque);

            gladiatorY1.SetInitiativeTo (1);
            gladiatorY2.SetInitiativeTo (2);
            gladiatorY3.SetInitiativeTo (3);

            teamYellow.AddGladiator (gladiatorY1);
            teamYellow.AddGladiator (gladiatorY2);
            teamYellow.AddGladiator (gladiatorY3);

            //////  TOURNAMENT  //////
            Tournament tournois = new Tournament();
            tournois.AddTeam (teamGreen);
            tournois.AddTeam (teamYellow);
            tournois.AddTeam (teamBlue);
            tournois.AddTeam (teamRed);

            //////  TEST  //////

            tournois.Start ();

            Console.WriteLine ("STATISTIQUES :\r\n");
            Console.WriteLine ("teamBlue winrate : "+ teamBlue.WinRate);
            Console.WriteLine ("teamGreen winrate : "+teamGreen.WinRate);
            Console.WriteLine ("teamRed winrate : "+teamRed.WinRate);
            Console.WriteLine ("teamYellow winrate : "+teamYellow.WinRate + "\r\n");
            Console.WriteLine ("gladiatorB1 winrate : "+gladiatorB1.WinRate);
            Console.WriteLine ("gladiatorB2 winrate : "+gladiatorB2.WinRate);
            Console.WriteLine ("gladiatorB3 winrate : "+gladiatorB3.WinRate);
            Console.WriteLine ("gladiatorR1 winrate : "+gladiatorR1.WinRate);
            Console.WriteLine ("gladiatorR2 winrate : "+gladiatorR2.WinRate);
            Console.WriteLine ("gladiatorR3 winrate : "+gladiatorR3.WinRate);
            Console.WriteLine ("gladiatorG1 winrate : "+gladiatorG1.WinRate);
            Console.WriteLine ("gladiatorG2 winrate : "+gladiatorG2.WinRate);
            Console.WriteLine ("gladiatorG3 winrate : "+gladiatorG3.WinRate);
            Console.WriteLine ("gladiatorY1 winrate : "+gladiatorY1.WinRate);
            Console.WriteLine ("gladiatorY2 winrate : "+gladiatorY2.WinRate);
            Console.WriteLine ("gladiatorY3 winrate : "+gladiatorY3.WinRate);
        }
 public Fight(Gladiator firstGladiator, Gladiator secondGladiator)
 {
     FirstGladiator  = firstGladiator;
     SecondGladiator = secondGladiator;
 }