part of 'generator.dart'; int randomOrientation(math.Random random) { return random.nextInt(8); } Vault reorientVault(Vault o, int r) { assert(r >= 0 && r < 8); while (r >= 2) { o = o.rotateRight(); r -= 2; } if (r == 1) { o = o.flip(); r -= 1; } return o; } Requirement unReorientRequirement(Requirement o, int r) { assert(r >= 0 && r < 8); if (r % 2 == 1) { o = o.flip(); r -= 1; } while (r >= 2) { o = o.rotateLeft(); r -= 2; } return o; }