private bool PlayerHasJumpAvailable(Player player) { return Board.SelectMany((row, x) => row.Select((checker, y) => new {checker, From = new Square(x, y), Jumps = new Square(x, y).AllJumps()})) .Where(x => x.checker != null && x.checker.Player == player) .SelectMany(x => x.Jumps.Select(j => new Move {Player = x.checker.Player, From = x.From, To = j})) .Any(m => IsValidMove(m).IsValid); }
private bool IsPlayersTurn(Player player) { return (player == Player.PlayerOne) == IsPlayerOnesTurn; }
private bool PlayerHasCheckerOnSquare(Player player, Square square) { var checker = Board[square.X][square.Y]; return checker != null && (player != null ? checker.Player == player : checker.Player != null); }
public Checker(Player player) { Player = player; ID = Guid.NewGuid(); }