public void ConnectFour_SimpleAI_Test() { connect4 = new ConnectFour.ConnectFour(true); TurnResult result; for (int i = 0; i < 5; i++) { result = connect4.PlayTurn(i % 2); Assert.IsTrue(result == TurnResult.Next); } var column = ((SimpleAI)connect4.CurrentPlayer).ChooseColumn(connect4); Assert.IsTrue(column == 0); result = connect4.PlayTurn(column); Assert.IsTrue(result == TurnResult.Next); for (int i = 0; i < 5; i++) { result = connect4.PlayTurn(i % 2 + 2); Assert.IsTrue(result == TurnResult.Next); } column = ((SimpleAI)connect4.CurrentPlayer).ChooseColumn(connect4); Assert.IsTrue(column == 2); }
public void ConnectFour_SimpleAI_Diagonal_Test() { connect4 = new ConnectFour.ConnectFour(true); TurnResult result; var columns = new int[] { 0, 1, 1, 2, 2, 3, 3, 0, 2, 3, 0 }; for (int i = 0; i < columns.Length; i++) { result = connect4.PlayTurn(columns[i]); Assert.IsTrue(result == TurnResult.Next); } var column = ((SimpleAI)connect4.CurrentPlayer).ChooseColumn(connect4); Assert.IsTrue(column == 3); result = connect4.PlayTurn(column); Assert.IsTrue(result == TurnResult.Next); }
static void Main(string[] args) { Console.Write($"Enter 0 to play humans. Enter 1 to play the CPU. "); var text = Console.ReadLine(); int boolInt = 0; int.TryParse(text, out boolInt); var game = new ConnectFour(boolInt == 1); var condition = TurnResult.Invalid; do { condition = TurnResult.Invalid; var column = 0; var isInt = false; if (game.CurrentPlayer is SimpleAI) { column = ((SimpleAI)game.CurrentPlayer).ChooseColumn(game) + 1; isInt = true; Console.WriteLine($"Player {game.CurrentPlayer.Color}, chooses column {column}"); } else { Console.Write($"Player {game.CurrentPlayer.Color}, it's your turn. Choose a column (1-7)"); var columnText = Console.ReadLine(); isInt = int.TryParse(columnText, out column); } if (isInt) { condition = game.PlayTurn(column - 1); } if (condition == TurnResult.Invalid) { Console.WriteLine("That is an invalid column."); } else { Console.WriteLine(game.ViewBoard()); } } while (condition != TurnResult.Tie && condition != TurnResult.Victory); if (condition == TurnResult.Tie) { Console.WriteLine("The game has ended in a tie!"); } else { Console.WriteLine($"Player {game.CurrentPlayer.Color} is the victor!"); } Console.ReadLine(); }
public void ConnectFour_PlayTurn_Valid_Test() { var result = connect4.PlayTurn(1); Assert.IsTrue(result == TurnResult.Next); }