Ejemplo n.º 1
0
        private void GameWorkFlow()
        {
            GameStatusTimer--;

            if (GameStatusTimer > 0)
            {
                return;
            }

            GameStatusTimer = 0;

            switch (GameStatus)
            {
            case GameEnum.Stop:
                break;

            case GameEnum.Prepare:
                Player.Visible = true;
                GameStatus     = GameEnum.Play;
                break;

            case GameEnum.Play:
                if (Enemies.EnemiesAlive() == 0)
                {
                    GameStatus      = GameEnum.Next;
                    GameStatusTimer = Constants.PlayerNextTime;
                }
                break;

            case GameEnum.Next:
                var initScore = Score + (Lives * Constants.RemainingLifeBonus);

                Initialise(initScore, Lives);
                break;

            case GameEnum.Dying:
                if (Lives > 0)
                {
                    Player          = new Models.Player(Constants.GameAreaWidth / 2, Constants.InitialPlayerYpos);
                    GameStatus      = GameEnum.Prepare;
                    GameStatusTimer = Constants.PlayerPrepareTime;
                }
                else
                {
                    GameStatus   = GameEnum.Dead;
                    LastKeyPress = default;
                }
                break;

            case GameEnum.Dead:
                if (LastKeyPress != default)
                {
                    Initialise();
                }
                break;

            default:
                break;
            }
        }
Ejemplo n.º 2
0
        private void MoveMotherShip()
        {
            if (Mother.Visible && Mother.Status == StatusEnum.Alive)
            {
                Mother.Xpos -= Constants.MotherSpeed;

                if (Mother.Xpos < -Mother.Width / 2)
                {
                    Mother.Visible = false;
                }
            }
            else if (Mother.Status != StatusEnum.Dying)
            {
                Mother.TimerTick(Enemies.EnemiesAlive());
            }
        }