Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            var      station     = new Station();
            var      shuttle     = new Shuttle(1, "Columbia");
            IRule    dockingRule = new DockingRule(shuttle);
            ICommand dock        = new Dock(station, shuttle, dockingRule);
            var      controller  = new StationController();

            controller.ExecuteCommand(dock, DockingSuccessful, DockingFailed);

            var shuttle2 = new Shuttle(2, "Discovery");

            dockingRule = new DockingRule(shuttle2);
            dock        = new Dock(station, shuttle2, dockingRule);
            controller.ExecuteCommand(dock, DockingSuccessful, DockingFailed);

            var shuttle3 = new Shuttle(3, "Challenger");

            dockingRule = new DockingRule(shuttle3);
            dock        = new Dock(station, shuttle3, dockingRule);
            controller.ExecuteCommand(dock, DockingSuccessful, DockingFailed);

            var undock = new Undock(station, shuttle2);

            controller.ExecuteCommand(undock, Undocked, (result) => { });

            controller.ExecuteCommand(dock, DockingSuccessful, DockingFailed);
        }
Ejemplo n.º 2
0
 public static void Initialize()
 {
     WinConditions        = new WinConditionsRule();
     DistanceBonus        = new DistanceBonusRule();
     EndPhase             = new EndPhaseCleanupRule();
     Stress               = new StressRule();
     Strain               = new StrainRule();
     Deplete              = new DepleteRule();
     OffTheBoard          = new OffTheBoardRule();
     Collision            = new CollisionRules();
     Actions              = new ActionsRule();
     AsteroidLanded       = new AsteroidLandedRule();
     AsteroidHit          = new ObstaclesHitRule();
     MineHit              = new MineHitRule();
     AsteroidObstruction  = new AsteroidObstructionRule();
     Initiative           = new InitiativeRule();
     TargetIsLegalForShot = new TargetIsLegalForShotRule();
     Ionization           = new IonizationRule();
     Jam             = new JamRule();
     TargetLocks     = new TargetLocksRule();
     WeaponsDisabled = new WeaponsDisabledRule();
     BullseyeArc     = new BullseyeArcRule();
     Docking         = new DockingRule();
     TractorBeam     = new TractorBeamRule();
     Force           = new ForceRule();
     Charge          = new ChargeRule();
     Destruction     = new DestructionRule();
     Fuse            = new FuseRule();
     Remotes         = new RemotesRule();
     PurpleManeuvers = new PurpleManeuversRule();
 }
Ejemplo n.º 3
0
 static Rules()
 {
     WinConditions        = new WinConditionsRule();
     DistanceBonus        = new DistanceBonusRule();
     EndPhase             = new EndPhaseCleanupRule();
     Stress               = new StressRule();
     OffTheBoard          = new OffTheBoardRule();
     Collision            = new CollisionRules();
     DuplicatedActions    = new DuplicatedActionsRule();
     AsteroidLanded       = new AsteroidLandedRule();
     AsteroidHit          = new AsteroidHitRule();
     MineHit              = new MineHitRule();
     AsteroidObstruction  = new AsteroidObstructionRule();
     Initiative           = new InitiativeRule();
     TargetIsLegalForShot = new TargetIsLegalForShotRule();
     Ionization           = new IonizationRule();
     Jammed               = new JammedRule();
     TargetLocks          = new TargetLocksRule();
     Cloak           = new CloakRule();
     WeaponsDisabled = new WeaponsDisabledRule();
     BullseyeArc     = new BullseyeArcRule();
     Docking         = new DockingRule();
 }