Exemplo n.º 1
0
    void GenerateEnemies()
    {
        for (int i = 0; i < _easyEnemyAmount; i++)
        {
            GameObject obj       = Instantiate(EasyEnemy);
            EasyEnemy  easyEnemy = obj.GetComponent <EasyEnemy>();
            easyEnemy.transform.position = Game.Instance.GenerateRandomPos(easyEnemy.transform.position.z);
        }
        for (int j = 0; j < _mediumEnemyAmount; j++)
        {
            GameObject  obj         = Instantiate(MediumEnemy);
            MediumEnemy mediumEnemy = obj.GetComponent <MediumEnemy>();
            mediumEnemy.transform.position = Game.Instance.GenerateRandomPos(mediumEnemy.transform.position.z);
        }

        for (int k = 0; k < _hardEnemyAmount; k++)
        {
            GameObject obj       = Instantiate(HardEnemy);
            HardEnemy  hardEnemy = obj.GetComponent <HardEnemy>();
            hardEnemy.transform.position = Game.Instance.GenerateRandomPos(hardEnemy.transform.position.z);
        }
        for (int t = 0; t < _enemyAIAmount; t++)
        {
            GameObject  obj     = Instantiate(EnemyWithAI);
            EnemyWithAI enemyAI = obj.GetComponent <EnemyWithAI>();
            enemyAI.transform.position = Game.Instance.GenerateRandomPos(enemyAI.transform.position.z);
            _enemiesWithAI.Add(enemyAI);
        }
    }
Exemplo n.º 2
0
        public void ItHasSetAmountOfEnemies_OnTheGameBoardUnsubscribe()
        {
            // Prepare:

            var score = new RealScore();

            var visitor = new EnemyEasyVisitor(score);

            var spaceship = new SpaceShip();

            var gameTemplate = new SimpleGame();

            var board = new GameBoard(spaceship, visitor, gameTemplate);

            var enemiesList = new List <Enemy>();

            // Act:

            var enemy = new EasyEnemy();

            enemiesList.Add(enemy);
            enemiesList.Add(enemy.Clone());
            enemiesList.Add(enemy.Clone());

            enemiesList.ForEach(e => board.EnemiesSubscribe(e));

            board.EnemyUnsubscribe(enemiesList.FirstOrDefault());

            // Assert:

            Assert.NotNull(board);
            Assert.Equal(board.EnemiesCount, enemiesList.Count - 1);
        }
Exemplo n.º 3
0
        public void AddEasyEnemy(Block position)
        {
            var easyEnemy = EasyEnemy.Clone();

            easyEnemy.Position = position;
            _enemies.Add(easyEnemy);
        }
Exemplo n.º 4
0
        public void ItCreates_ClonableEnemy()
        {
            // Prepare + Act

            var enemy = new EasyEnemy();

            // Assert

            Assert.NotNull(enemy);
        }
Exemplo n.º 5
0
        static void Main(string[] args)
        {
            var humanPlayer = new HumanPlayer();
            var easyEnemy1  = new EasyEnemy();
            var easyEnemy2  = new EasyEnemy();
            var gameEngine  = new GameEngine(easyEnemy1, humanPlayer);

            gameEngine.Start();
            Console.ReadLine();
        }
Exemplo n.º 6
0
        public void ItHasDifferentReference_CreatedEnemyFromCloned()
        {
            // Prepare + Act

            var enemy = new EasyEnemy();

            var clone = enemy.Clone();

            // Assert

            Assert.NotEqual(clone, enemy);
        }
Exemplo n.º 7
0
        public void ItClones_AnEnemyFromCreatedOne()
        {
            // Prepare + Act

            var enemy = new EasyEnemy();

            var clone = enemy.Clone();

            // Assert

            Assert.NotNull(clone);
        }
Exemplo n.º 8
0
        public void ItNotifiesSubscribers_OnTheGameBoardRefreshView()
        {
            // Prepare:

            var score = new RealScore();

            var visitor = new EnemyEasyVisitor(score);

            var spaceship = new SpaceShip {
                Position = new Block {
                    From = new Position(1, 1), To = new Position(1, 1)
                }
            };

            var gameTemplate = new SimpleGame();

            var board = new GameBoard(spaceship, visitor, gameTemplate);

            // Act:

            var enemy = new EasyEnemy
            {
                Position = new Block()
                {
                    From = new Position(1, 1),
                    To   = new Position(1, 1)
                }
            };


            board.EnemiesSubscribe(enemy);

            spaceship.Shoot();

            board.RefreshView();

            // Assert:

            Assert.Equal(enemy.Health, 1);
        }
Exemplo n.º 9
0
        public override void AddScore(EasyEnemy enemy)
        {
            FileLogger.Log("Hard Visitor pattern: add easy enemy score");

            Score.IncreaseScore(3);
        }
Exemplo n.º 10
0
 public abstract void AddScore(EasyEnemy enemy);