Beispiel #1
0
 private static MoveCandidate GetMoveCandidate(this Board board, Position origin, Direction direction)
 => board[origin].Match(
     number => new MoveCandidate(number, origin, board.FindMoveTarget(origin, direction)),
     () => new MoveCandidate(0, origin, Maybe <Position> .Nothing)
     );
Beispiel #2
0
 public static Maybe <Position> FindMoveTarget(this Board board, Position position, Direction direction)
 => board[position].Match(
     number => board.FindMoveTarget(number, board.BuildPositionPairs(position, direction).ToArray()),
     () => Maybe <Position> .Nothing
     );