Exemplo n.º 1
0
 private void ShowPlayrResults(FinishGameMessage message)
 {
     if (message.IsGameOver)
     {
         ShowErrorMessage(ConsoleColor.Red, ConsoleColor.Blue, "GAME OVER", "", "SCORE: " + message.Score.ToString());
     }
     else
     {
         if (Data.GetNumberOfLevels() >= this.levelNumber + 1)
         {
             ShowErrorMessage(ConsoleColor.DarkBlue, ConsoleColor.White,
                         "LEVEL: " + (this.levelNumber + 1), "", "press any key to continue. . .");
         }
         else
         {
             ShowErrorMessage(ConsoleColor.Green, ConsoleColor.White, "YOU WIN", "", "SCORE: " + message.Score.ToString());
         }
     }
     Console.ReadKey(true);
 }
Exemplo n.º 2
0
        public FinishGameMessage Start()
        {
            FinishGameMessage finishMessage = new FinishGameMessage();
            render.Level(this.level);
            int playerStartRow = Data.GetWindowHeight() - 2 * Data.GetElementDimention();
            int playerStartCol = (Data.GetWindowWidth() / 2) - 3 * Data.GetElementDimention();

            Tank player = new Tank(true, playerStartRow, playerStartCol);
            render.Tank(player);
            int moveEnemyMisalesCount = 0;
            int playrMoveCount = 0;
            long playrFireCount = 0;

            this.oldPlayerLives = player.Lives;
            this.oldScore = 0;
            this.oldenemyOnLevel = this.enemyOnLevel;

            while (!isExit)
            {
                ShowInformation(player);

                moveEnemyMisalesCount++;
                if (moveEnemyMisalesCount > 1)
                {
                    moveEnemyMisalesCount = 0;
                    MoveEnemyMisales(player);
                }

                MovePlayesMisales(player);

                if (CheckPlayerWin())
                {
                    isExit = true;
                    finishMessage.Score = this.score;
                    finishMessage.IsGameOver = false;
                    finishMessage.Message = "Player WIN no enemy left";
                }
                else
                {
                    playrMoveCount++;
                    if (playrMoveCount > 1)
                    {
                        playrMoveCount = 0;
                        PlayerMove(player);
                    }

                    // player fire
                    playrFireCount++;
                    if (havePlayerFire && playrFireCount > 10)
                    {
                        playrFireCount = 0;
                        havePlayerFire = false;
                        this.playerMisals.Add(new Fire(player)); // when shot move it draw.
                    }

                    CreateEnemy();
                    EnemyPlay(player);

                    if (player.Lives <= 0)
                    {
                        isExit = true;
                        finishMessage.Score = this.score;
                        finishMessage.IsGameOver = true;
                        finishMessage.Message = "lives player = 0";
                    }

                    Thread.Sleep(10);
                }
            }

            if (this.isEscapePressed)
            {
                finishMessage.Score = -1;
                finishMessage.IsGameOver = true;
                finishMessage.Message = "Escape pressed";
            }

            return finishMessage;
        }