Пример #1
0
 public Game(GameRenderer gameRenderer, GameController gameController)
 {
     this.gameRenderer   = gameRenderer;
     this.gameController = gameController;
     this.gameBoard      = new GameBoard(4);
     this.random         = new Random();
     RandomBlock();
     RandomBlock();
     // Show board
     gameRenderer.DrawBoard(gameBoard);
     hasBlocksMerged = false;
     hasBlocksMoved  = false;
 }
Пример #2
0
        public void Step()
        {
            switch (gameController.GetCommand())
            {
            case "MoveLeft":
                MoveLeft();
                break;

            case "MoveUp":
                MoveUp();
                break;

            case "MoveRight":
                MoveRight();
                break;

            case "MoveDown":
                MoveDown();
                break;

            case "Quit":
                quitGame = true;
                break;

            default:
                return;
            }
            // add random block
            if (hasBlocksMerged || hasBlocksMoved)
            {
                RandomBlock();
                hasBlocksMerged = false;
                hasBlocksMoved  = false;
            }
            // check end game
            isGameEnd = EndGameCheck();
            // calculate score
            gameBoard.CalculateScore();
            // Show board
            gameRenderer.DrawBoard(gameBoard);
        }