public void HorizontalWinnerCheck() { for (int i = 0; i < 4; i++) { Assert.AreEqual(Item.None, board.CheckWinner()); board.PlaceItem(Item.Red, i); } Assert.AreEqual(Item.Red, board.CheckWinner()); }
protected override async Task <InnerMoveResult> HandleAsync(Connect4MoveData moveData, int playerId) { var serializedBoard = await boardLoader.LoadByMatchIdAsync(moveData.MatchId); var board = new Connect4Board(); board.DeserializeContent(serializedBoard); var item = playerId == 0 ? Item.Red : Item.Yellow; board.PlaceItem(item, moveData.Column); serializedBoard.BoardData = board.SerializeContent().BoardData; var result = new InnerMoveResult { MoveResult = new Connect4MoveResult { Board = board.Board } }; if (board.CheckWinner() == item) { result.Status = Status.Win; return(result); } if (board.Full) { result.Status = Status.Draw; return(result); } result.Status = Status.Success; return(result); }