public static void dig(MapLocation initial_dig_location) throws GameActionException { if (Scanner.says_there_are_targets_in_range() && my_type.canAttack()) return; if (my_type == RobotType.TURRET) return; Direction initial_dig_direction; if (initial_dig_location == null || initial_dig_location == current_location) { initial_dig_direction = Direction.NORTH; } else { initial_dig_direction = current_location.directionTo(initial_dig_location); } for (int offset : combat_directions) { if (Clock.getBytecodeNum() > byte_code_limiter - 300) return; Direction try_to_clear = Direction.values()[(initial_dig_direction.ordinal() + offset + 8) % 8]; if (rc.senseRubble(current_location.add(try_to_clear)) >= GameConstants.RUBBLE_OBSTRUCTION_THRESH) { rc.clearRubble(try_to_clear); return; } } }