void find_orientation () { int front_left, front_right, rear_left, rear_right; int black_count = 0; front_left = get_analog(LEFT_FRONT_LIGHT, 3); front_right = get_analog(RIGHT_FRONT_LIGHT, 3); rear_left = get_analog(LEFT_REAR_LIGHT, 3); rear_right = get_analog(RIGHT_REAR_LIGHT, 3); if (front_left < THRESHOLD_1) { front_left = WHITE; } else { front_left = BLACK; black_count++; } if (front_right < THRESHOLD_2) { front_right = WHITE; } else { front_right = BLACK; black_count++; } if (rear_left < THRESHOLD_3) { rear_left = WHITE; } else { rear_left = BLACK; black_count++; } if (rear_right < THRESHOLD_4) { rear_right = WHITE; } else { rear_right = BLACK; black_count++; } if (black_count > 2) { team = BLACK; if (front_left == WHITE) { orientation = NORTH; } else if (front_right == WHITE) { orientation = WEST; } else if (rear_left == WHITE) { orientation = EAST; } else { orientation = SOUTH; } } else { team = WHITE; if (front_right == BLACK) { orientation = NORTH; } else if (rear_right == BLACK) { orientation = EAST; } else if (front_left == BLACK) { orientation = WEST; } else { orientation = SOUTH; } } } void orient () { if (team == BLACK) { if (orientation == NORTH) { turn_left(90); } else if (orientation == EAST) { drive_ticks(1,100); turn_180(0); } else if (orientation == SOUTH) { turn_right(90); } else if (orientation == WEST) { /* do nothing */ } } else { if (orientation == NORTH) { turn_right(90); } else if (orientation == EAST) { drive_ticks(1,100); turn_180(1); } else if (orientation == SOUTH) { turn_left(90); } else if (orientation == WEST) { /* do nothing */ } } center_servos(); }