예제 #1
0
        private void btn_startGame_Click(object sender, EventArgs e)
        {
            var player1 = txt_player1.Text;
            var player2 = txt_player2.Text;

            IPlayer playerOne = new Player(player1, Enums.Symbol.X);
            IPlayer playerTwo = new Player(player2, Enums.Symbol.O);

            IPlayerManager playerManager = new PlayerManager(playerOne, playerTwo);

            IGameBoard board = new GameBoard(Size);

            var conditions = new List <IGameEndCondition>()
            {
                new DiagonalWinCondition(),
                new HorizontalWinCondition(),
                new NoMovesLeftCondition(),
                new VerticalWinCondition()
            };

            IGameMoveValidator gameMoveValidator = new GameMoveValidator();

            _gameManager = new GameManager(this, playerManager, board, gameMoveValidator, conditions);

            gamePanel.Enabled   = true;
            playerPanel.Enabled = false;
        }
예제 #2
0
 private GameState()
 {
     _gameMoveValidator = new GameMoveValidator();
 }