/// <summary> /// Method PVP. /// </summary> public void PVP() { Squad orc = Orcs.GetRandomSquad(); Squad elv = Elves.GetRandomSquad(); Warrior wr1 = orc.GetRandomWarrior(); Warrior wr2 = elv.GetRandomWarrior(); bool who = false; while (wr1.Health >= 0 && wr2.Health >= 0) { if (who) { wr1.Attack(wr2, elv, orc); } else { wr2.Attack(wr1, orc, elv); } who = !who; } if (wr1.Health <= 0) { LostWarrior(wr1, Orcs); } else { LostWarrior(wr2, Elves); } }
/// <summary> /// Method Battle Fraction Vs Fraction. /// </summary> public void BattleFractionVsFraction() { Squad s1 = Orcs.GetRandomSquad(); Squad s2 = Elves.GetRandomSquad(); Console.ForegroundColor = ConsoleColor.DarkMagenta; Console.WriteLine($"\t\tThe firs battle between {Orcs.NameFraction} Squad: {s1.NameSquad} and {Elves.NameFraction} Squad: {s2.NameSquad}"); Squad s3 = BattleSquadVsSquad(s1, s2); while (Orcs.Squads.Count != 0 && Elves.Squads.Count != 0) { Console.WriteLine("\nNext Battle\n"); if (s1 == s3) { s2 = Elves.GetRandomSquad(); } else if (s2 == s3) { s1 = Orcs.GetRandomSquad(); } Console.ForegroundColor = ConsoleColor.DarkMagenta; Console.WriteLine($"\t\tThe second battle between {Orcs.NameFraction} Squad: {s1.NameSquad} and {Elves.NameFraction} Squad: {s2.NameSquad}"); s3 = BattleSquadVsSquad(s1, s2); } if (Elves.Squads.Count > 0) { Console.ForegroundColor = ConsoleColor.DarkMagenta; Console.WriteLine($"\tGame OVEwr"); Console.WriteLine("\nElves WIN"); Console.ResetColor(); } else { Console.ForegroundColor = ConsoleColor.DarkMagenta; Console.WriteLine($"\tGame OVEwr"); Console.WriteLine("\nOrcs WIN"); Console.ResetColor(); } }
public void set_order(Orcs target) { if (soldiers.Count > 0) { Vector3 click_pos = Camera.main.ScreenToWorldPoint(Input.mousePosition); foreach (Soldiers soldier in soldiers) { if (target) { Orcs actual_target = soldier.getEnemy(); if (!actual_target || target.gameObject != actual_target.gameObject) { soldier.setEnemy(target); soldier.Set_direction(new Vector2(click_pos.x, click_pos.y), true); } } else { soldier.Set_direction(new Vector2(click_pos.x, click_pos.y), true); soldier.setEnemy(null); } } } }
public string VisitOrcs(Orcs orc) { return("Orcs can't fly"); }
public void setEnemy(Orcs orc) { target = orc; followTarget = true; }
public string VisitOrcs(Orcs orc) { return(orc.walk()); }
public override Game BuildGame() { MapBuilder mapbuilder; switch (dataContext.SizeOfMap) { case MapSize.demo: mapbuilder = new DemoMapBuilder(); break; case MapSize.medium: mapbuilder = new MediumMapBuilder(); break; case MapSize.small: mapbuilder = new SmallMapBuilder(); break; default: mapbuilder = new SmallMapBuilder(); break; } GameImpl.INSTANCE.Map = mapbuilder.BuildMap(); /// Récupération de l'emplacement par défaut des joueurs Tribe tribeP1; Tribe tribeP2; switch (dataContext.FactionP1) { case Faction.Dwarves: tribeP1 = new Dwarves(); break; case Faction.Elves: tribeP1 = new Elves(); break; case Faction.Orcs: tribeP1 = new Orcs(); break; default: tribeP1 = new Dwarves(); break; } switch (dataContext.FactionP2) { case Faction.Dwarves: tribeP2 = new Dwarves(); break; case Faction.Elves: tribeP2 = new Elves(); break; case Faction.Orcs: tribeP2 = new Orcs(); break; default: tribeP2 = dataContext.FactionP1 != Faction.Orcs ? (Tribe) new Orcs() : (Tribe) new Dwarves(); break; } int sizeOfMap = (int)Math.Sqrt(GameImpl.INSTANCE.Map.mapCells.Length); WrapperMapBuilder mBuilder = new WrapperMapBuilder(); int defaultXP1; int defaultYP1; int defaultXP2; int defaultYP2; unsafe { mBuilder.placePlayer1(sizeOfMap, &defaultXP1, &defaultYP1); mBuilder.placePlayer2(sizeOfMap, &defaultXP2, &defaultYP2); } GameImpl.INSTANCE.Player1 = new PlayerImpl(tribeP1, defaultXP1, defaultYP1, mapbuilder.NumberOfUnits, dataContext.NicknameP1 != null && dataContext.NicknameP1.Length > 1 ? dataContext.NicknameP1 : "Player 1"); GameImpl.INSTANCE.Player2 = new PlayerImpl(tribeP2, defaultXP1, defaultYP2, mapbuilder.NumberOfUnits, dataContext.NicknameP2 != null && dataContext.NicknameP2.Length > 1 ? dataContext.NicknameP2 : "Player 2"); GameImpl.INSTANCE.CurrentPlayer = GameImpl.INSTANCE.Player1; // Le joueur 1 commence GameImpl.INSTANCE.OpponentPlayer = GameImpl.INSTANCE.Player2; GameImpl.INSTANCE.RemainingTurns = mapbuilder.TurnsToPlay; return(GameImpl.INSTANCE); }