예제 #1
0
        //======================================================================

        void Start()
        {
            // Instantiate controllers.
            ShipCtrl ship = new ShipCtrl(this.shipView);

            this.inputMngr.ship = ship;
            game = new GameCtrl(this.gameView, ship);

            // Start everything.
            game.StartGame();
        }
예제 #2
0
        public void CanFinishLevelAfterSaucerDead()
        {
            var gameView = Substitute.For <IGameView> ();

            gameView.LevelFinished(Arg.Invoke());
            GameCtrl game = new GameCtrl(
                gameView, Substitute.For <IShipCtrl> ()
                );

            game.StartGame();

            Assert.AreEqual(game.GameState.Level, 1);

            game.SpawnSaucer();
            for (int i = 0; i < this.TotalAsteroids(1); i++)
            {
                game.AsteroidList [0].Destroyed();
            }
            game.Saucer.Destroyed();

            Assert.AreEqual(game.GameState.Level, 2);
        }
예제 #3
0
        public void CanSpawnAsteroidsWithNewLevel()
        {
            var gameView = Substitute.For <IGameView> ();

            gameView.LevelFinished(Arg.Invoke());
            GameCtrl game = new GameCtrl(
                gameView, Substitute.For <IShipCtrl> ()
                );

            game.StartGame();

            Assert.AreEqual(game.GameState.Level, 1);
            Assert.AreEqual(game.AsteroidList.Count, 4);

            for (int i = 0; i < this.TotalAsteroids(1); i++)
            {
                game.AsteroidList [0].Destroyed();
            }

            Assert.AreEqual(game.GameState.Level, 2);
            Assert.AreEqual(game.AsteroidList.Count, 5);
        }