private static Board Shuffle(Board board) { var shuffler = new ArrayShuffler(); var shuffledBoard = new Board(shuffler.Execute(board.ToIntArray())); return shuffledBoard; }
public Board ReflectOverYAxis(Board board) { var values = board.ToIntArray().Reverse().ToArray(); return new Board(values); }
private static Board GetNextBoard(Board board) { var boardPieces = board.ToIntArray(); var nextPerm = PermutationCalculator<int>.GetNextPermutation(boardPieces); return nextPerm == null ? null : new Board(nextPerm.ToArray()); }