示例#1
0
        public override TickTackToePlayer ChangeActivePlayer(TickTackToePlayer player)
        {
            Console.WriteLine("Changing Active Player");
            var result = base.ChangeActivePlayer(player);

            Console.WriteLine($"New Active Player: {result.ToString()}");
            return(result);
        }
示例#2
0
        public override TickTackToeGameResult TakeTurn(TickTackToePlayer player)
        {
            Console.WriteLine($"{player.ToString()} is taking their turn");
            Console.WriteLine($"{player.ToString()} enter the coordinates x,y to place your token");
            var result = ParseTakeTurnResponse(Console.ReadLine());

            this.Board.PlaceTokenOnBoard(player.Token, result.row, result.column);

            return(this.CheckTurnResult(player.Token));
        }
示例#3
0
        public void ChangeActivePlayer_throws_exception_when_players_param_not_setup()
        {
            //Arrange
            var board = new TestBoard();
            var game  = new TestGame(board);
            TickTackToePlayer player = null;

            //Act

            //Assert
            Assert.ThrowsException <InvalidOperationException>(() => game.ChangeActivePlayer(player));
        }
        public void Can_create_player_with_O_token()
        {
            //Arrange
            string name  = "Short Name";
            var    token = TickTackToeBoard.TickTackToeToken.O;

            //Act
            var player = new TickTackToePlayer(name, token);

            //Assert
            Assert.IsTrue(player.Token == token);
        }
        public void ToString_Displays_Name_And_token()
        {
            //Arrange
            string name   = "Short Name";
            var    token  = TickTackToeBoard.TickTackToeToken.O;
            var    player = new TickTackToePlayer(name, token);

            //Act
            var result = player.ToString();

            //Assert
            Assert.IsTrue(result.Contains(name));
            Assert.IsTrue(result.Contains(token.ToString()));
        }
示例#6
0
        public override void SetupPlayers()
        {
            Console.WriteLine("Setting up players");
            Console.WriteLine("Hello, please input Player 1's name");
            var player1Name = Console.ReadLine();

            Console.WriteLine($"Welcome {player1Name}, enter 'X' to be X's, enter 'O' to be O's");
            var player1TokenResponse = Console.ReadLine();
            var player1Token         = ParseToken(player1TokenResponse);

            Player1 = new TickTackToePlayer(player1Name, player1Token);

            Console.WriteLine("Hello, please input Player 2's name");
            var player2Name = Console.ReadLine();

            Console.WriteLine($"Welcome {player2Name}, enter 'X' to be X's, enter 'O' to be O's");
            var player2TokenResponse = Console.ReadLine();
            var player2Token         = ParseToken(player2TokenResponse);

            Player2 = new TickTackToePlayer(player2Name, player2Token);
        }
示例#7
0
 public override TickTackToeGameResult TakeTurn(TickTackToePlayer player)
 {
     throw new NotImplementedException();
 }
示例#8
0
 public void SetPlayer2(string name, TickTackToeBoard.TickTackToeToken token)
 {
     Player2 = new TickTackToePlayer(name, token);
 }