private bool RoadConnected(IBoard board, Edge edge, int playerId) { return board.GetAdjacentIntersections(edge) .SelectMany(inter => board.GetAdjacentEdges(inter)) .Any(e => board.GetRoad(e) == playerId); }