public void TestLoadProperty() { Frigate testFrigate = new Frigate("TestFrigate.entity"); testFrigate.LoadEntityValue("statCountType", "LightFrigate"); Assert.IsTrue(testFrigate.StatCountType == "LightFrigate"); }
public IStarship CreateShip(StarshipType type, string name, StarSystem location) { switch (type) { case StarshipType.Frigate: Frigate frigate = new Frigate(name, location); return(frigate); case StarshipType.Cruiser: Cruiser crusier = new Cruiser(name, location); return(crusier); case StarshipType.Dreadnought: Dreadnought dreadnought = new Dreadnought(name, location); return(dreadnought); default: throw new NotSupportedException("Starship type not supported."); } }
private static IUnit CreateUnit(UnitType type, int x, int y) { IUnit unit; switch (type) { case UnitType.Settlers: unit = new Settlers(); break; case UnitType.Militia: unit = new Militia(); break; case UnitType.Phalanx: unit = new Phalanx(); break; case UnitType.Legion: unit = new Legion(); break; case UnitType.Musketeers: unit = new Musketeers(); break; case UnitType.Riflemen: unit = new Riflemen(); break; case UnitType.Cavalry: unit = new Cavalry(); break; case UnitType.Knights: unit = new Knights(); break; case UnitType.Catapult: unit = new Catapult(); break; case UnitType.Cannon: unit = new Cannon(); break; case UnitType.Chariot: unit = new Chariot(); break; case UnitType.Armor: unit = new Armor(); break; case UnitType.MechInf: unit = new MechInf(); break; case UnitType.Artillery: unit = new Artillery(); break; case UnitType.Fighter: unit = new Fighter(); break; case UnitType.Bomber: unit = new Bomber(); break; case UnitType.Trireme: unit = new Trireme(); break; case UnitType.Sail: unit = new Sail(); break; case UnitType.Frigate: unit = new Frigate(); break; case UnitType.Ironclad: unit = new Ironclad(); break; case UnitType.Cruiser: unit = new Cruiser(); break; case UnitType.Battleship: unit = new Battleship(); break; case UnitType.Submarine: unit = new Submarine(); break; case UnitType.Carrier: unit = new Carrier(); break; case UnitType.Transport: unit = new Transport(); break; case UnitType.Nuclear: unit = new Nuclear(); break; case UnitType.Diplomat: unit = new Diplomat(); break; case UnitType.Caravan: unit = new Caravan(); break; default: return(null); } unit.X = x; unit.Y = y; unit.MovesLeft = unit.Move; return(unit); }
public Ship GetShip() { var ship = new Frigate(); ship.Crew = GetCrew(); return ship; }
public static void EzraCampaign1Mission3() { var players = new List <Player> { new Player(PlayerActionFactory.CreateSingleActionList(new PlayerActionType?[] { PlayerActionType.MoveBlue, null, PlayerActionType.BasicSpecialization, PlayerActionType.Alpha, PlayerActionType.Alpha, PlayerActionType.MoveRed, null, PlayerActionType.ChangeDeck, null, null, null, PlayerActionType.Charlie }), 0, PlayerColor.Blue, PlayerSpecialization.EnergyTechnician), new Player(PlayerActionFactory.CreateSingleActionList(new PlayerActionType?[] { null, PlayerActionType.MoveBlue, PlayerActionType.ChangeDeck, PlayerActionType.Alpha, PlayerActionType.Alpha, PlayerActionType.MoveRed, PlayerActionType.MoveRed, PlayerActionType.Alpha, PlayerActionType.MoveBlue, null, null, PlayerActionType.Charlie }), 1, PlayerColor.Green, PlayerSpecialization.PulseGunner), new Player(PlayerActionFactory.CreateSingleActionList(new PlayerActionType?[] { null, null, PlayerActionType.AdvancedSpecialization, PlayerActionType.MoveRed, PlayerActionType.BasicSpecialization, null, PlayerActionType.Alpha, PlayerActionType.Alpha, PlayerActionType.MoveBlue, PlayerActionType.ChangeDeck, null, PlayerActionType.Charlie }), 2, PlayerColor.Purple, PlayerSpecialization.Mechanic), new Player(PlayerActionFactory.CreateSingleActionList(new PlayerActionType?[] { PlayerActionType.Charlie, null, PlayerActionType.Alpha, PlayerActionType.BasicSpecialization, PlayerActionType.Alpha, PlayerActionType.Alpha, PlayerActionType.Alpha, PlayerActionType.Charlie, PlayerActionType.ChangeDeck, null, null, PlayerActionType.AdvancedSpecialization }), 3, PlayerColor.Red, PlayerSpecialization.DataAnalyst) }; var externalTracksByZone = new Dictionary <ZoneLocation, TrackConfiguration> { { ZoneLocation.Blue, TrackConfiguration.Track6 }, { ZoneLocation.Red, TrackConfiguration.Track2 }, { ZoneLocation.White, TrackConfiguration.Track5 }, }; const TrackConfiguration internalTrack = TrackConfiguration.Track3; var spacecraftCarrier = new SpacecraftCarrier(); spacecraftCarrier.SetInitialPlacement(4, ZoneLocation.Blue); var manOfWar = new ManOfWar(); manOfWar.SetInitialPlacement(5, ZoneLocation.White); var frigate = new Frigate(); frigate.SetInitialPlacement(7, ZoneLocation.Red); var externalThreats = new ExternalThreat[] { spacecraftCarrier, manOfWar, frigate }; var centralLaserJam = new CentralLaserJam(); centralLaserJam.SetInitialPlacement(3); var internalThreats = new InternalThreat[] { centralLaserJam }; var bonusThreats = new Threat[0]; var game = new Game(players, internalThreats, externalThreats, bonusThreats, externalTracksByZone, internalTrack, null); game.StartGame(); for (var currentTurn = 0; currentTurn < game.NumberOfTurns + 1; currentTurn++) { game.PerformTurn(); } Assert.AreEqual(GameStatus.Won, game.GameStatus); Assert.AreEqual(0, game.SittingDuck.BlueZone.TotalDamage); Assert.AreEqual(0, game.SittingDuck.RedZone.TotalDamage); Assert.AreEqual(0, game.SittingDuck.WhiteZone.TotalDamage); Assert.AreEqual(4, game.ThreatController.DefeatedThreats.Count()); Assert.AreEqual(0, game.ThreatController.SurvivedThreats.Count()); Assert.AreEqual(28 + 1 + 9, game.TotalPoints); Assert.AreEqual(0, players.Count(player => player.IsKnockedOut)); Assert.AreEqual(0, game.SittingDuck.Zones.ElementAt(0).CurrentDamageTokens.Count); Assert.AreEqual(0, game.SittingDuck.Zones.ElementAt(1).CurrentDamageTokens.Count); Assert.AreEqual(0, game.SittingDuck.Zones.ElementAt(2).CurrentDamageTokens.Count); }