Exemple #1
0
        public Space(int capacity = 13, int speed = 600)
        {
            _gameObjects         = new SpaceCraft[capacity];
            _amountOfObjects     = 0;
            _counterProduceEnemy = 0;
            _speed = speed;

            AddObject(SpaceObject.LightShip);
        }
Exemple #2
0
        public void AddObject(SpaceObject source)
        {
            SpaceCraft creature = null;

            switch (source)
            {
            case SpaceObject.None:
                break;

            case SpaceObject.LightShip:
                creature = new LightShip(this, _initialX, _initialY,
                                         _active, _shipSpeed, _counter, _hitpoints, _lifes);
                break;

            case SpaceObject.HeavyShip:
                creature = new HeavyShip(this, _initialX, _initialY,
                                         _active, _shipSpeed, _counter, _hitpoints, _lifes);
                break;

            case SpaceObject.EnemyShip:
                creature = AddEnemy();
                break;

            case SpaceObject.ShotLeft:
                creature = AddShot(_leftShift);
                break;

            case SpaceObject.ShotRight:
                creature = AddShot(_rightShift);
                break;

            case SpaceObject.ShotEnemy:
                creature = AddEnemyShot(_shotEnemyShift);
                break;

            default:
                break;
            }

            if (_amountOfObjects >= _gameObjects.Length - 1)
            {
                Array.Resize(ref _gameObjects, _gameObjects.Length * 2);
            }

            for (int i = 0; i <= _amountOfObjects; i++)
            {
                if (_gameObjects[i] is null)
                {
                    _gameObjects[i] = creature;
                    ++_amountOfObjects;

                    break;
                }

                if (!_gameObjects[i].Active)
                {
                    _gameObjects[i] = creature;
                    break;
                }
            }
        }