public static PuzzleState CreateShuffled() { var bytes = new byte[1000]; _rng.GetBytes(bytes); var movements = new PuzzleMovement[bytes.Length]; for (var i = 0; i < bytes.Length; i++) { movements[i] = (PuzzleMovement)(bytes[i] / 64); } return(PuzzleState.Completed.Apply(movements)); }
private static void Apply(byte[] matrix, PuzzleMovement movement, (int X, int Y) spaceSlot)