private ChessPlayer GetWinner() { ChessPlayer winner = null; if (White != null && _game.IsWinner(White.player)) { winner = White; } else if (Black != null && _game.IsWinner(Black.player)) { winner = Black; } return(winner); }
public ActionResult Join(string playerId, string playerNick) { var cp = new ChessPlayer { Id = playerId, PlayerNick = playerNick, IsHost = playerId == _config.CreatorId }; var isWhiteTaken = White != null; var isBlackTaken = Black != null; if ((isBlackTaken && Black.PlayerNick == playerNick) || (isWhiteTaken && White.PlayerNick == playerNick)) { return(new ActionResult(false, "Name already in use")); } if (!isWhiteTaken) { cp.player = Player.White; White = cp; } else if (!isBlackTaken && White.Id != playerId) { cp.player = Player.Black; Black = cp; } else { return(new ActionResult(false, "Game is full")); } return(new ActionResult(true)); }
public List <Move> GetMoves(ChessPlayer ChessPlayer) { var moves = _game.GetValidMoves(ChessPlayer.player); return(moves.ToList()); }