There are many downloadable level packages. Many (all?) of these are free with a RobotC license. In this tutorial we will walk through the process of downloading, installing, and using these level packages.
Downloading and Installing Level Packages
To download a new Level Pack, in the menu select "Window ===> Select Virtual World to Use ===> Download more Packages".
This opens a new tab in your RobotC interface. Scroll down to see the available level packages.
You will be looking for level packs that have the "RVW VEX" icon under them, as we will be programming using VEX Robotics. At the bottom of this page is the entire menu (as of February 10th, 2017).
This icon must be below any package you download if you want to use it with the code we've been working on.
Here are the levels you can download:
Platforms
RobotC Robot Virtual Worlds for VEX (the main interface we have been using)
Curriculum
Curriculum Companion (we have also been using this)
Challenge Pack for VEX IQ and EV3
Games
Ruins of Atlantis
Palm Island
Operation Reset
Competitions
VEX Starstruck
VEX IQ Crossover
VEX Nothing But Net
VEX IQ Bank Shot
VEX Skyrise
VEX IQ Skyrise
VEX Toss Up
Tools
Level Builder (we have also been using this)
Instructions to Download and Install a New Package
In the menu select "Window ===> Select Virtual World to Use ===> Download more Packages" to open the menu.
Scroll down and pick the level that you want to download, making sure it has an "RVW VEX" icon below it.
Click "Download"
Click "Run", then click "Run" again.
Go through the installation process, accept the "Terms & Conditions", and do not change the default install directory or any settings.
Close RobotC and reopen it.
Viola, now when you look at the top menu "Window ===> Select Virtual World to Use ===> " you will see the new downloaded pack already loaded.
New Robots to be Used
The three main robots you will be using in these downloadable levels are the Mammal Bot, Buggy Bot, and Anemo Bot. In the newer version of RobotC, these each have standard setups using #pragma built in. However, our older version of RobotC does not have these standard configurations. Instead, we need to manually configure these.
Mammal Bot (All Three Games)
Palm Island: Training Ground
Operation Reset!
Ruins of Atlantis
You can set these up manually by opening a new file, then using the menu at the top to select "Robot ===> Motors and Sensors Setup"
However, I already set the mammal bot up for you. You can use the code below.
#pragma config(Sensor, in3, gyroSensor, sensorGyro)
#pragma config(Sensor, in4, lightSensor, sensorReflection)
#pragma config(Sensor, dgtl1, rightEncoder, sensorQuadEncoder)
#pragma config(Sensor, dgtl3, leftEncoder, sensorQuadEncoder)
#pragma config(Sensor, dgtl8, sonarSensor, sensorSONAR_cm)
#pragma config(Sensor, dgtl11, touchSensor, sensorTouch)
#pragma config(Motor, port2, rightMotor, tmotorVex393, openLoop, reversed)
#pragma config(Motor, port3, leftMotor, tmotorVex393, openLoop)
#pragma config(Motor, port6, gripperMotor, tmotorVex393, openLoop) //This line is for Palm Island. You can replace the red with "manipulatorMotor" for Operation Reset!
//Delete this last line with "gripperMotor" if you are working in Ruins of Atlantis because there is no claw.
The code above sets up all the ports and motors. These are all the same motors and sensors used in the Clawbot. The names in bold are how you will refer to the motors and sensors in your code.
Note that the "Gripper Motor" and "Manipulator Motor" are essentially the same as the "Claw Motor" in the Clawbot. They physically look a little different and have a different name, but do the exact same thing in that they open and close like a hand. Notice above that you use
Buggy Bot (All Three Games)
Palm Island: Training Ground
Operation Reset!
Ruins of Atlantis
The setup for this robot is exactly the same as the last robot, except there is not "gripper" or "manipulator" motor (like the claw on the Clawbot). In other words, use the same #pragma code from above, except delete the last #pragma line that sets up the "gripperMotor".
Anemobot (Ruins of Atlantis Only)
The setup for this robot is very similar to the above, except there is a "propellerMotor" and there is no gripper/manipulator/claw on the front of the robot.
#pragma config(Sensor, in3, gyroSensor, sensorGyro)
#pragma config(Sensor, in4, lightSensor, sensorReflection)
#pragma config(Sensor, dgtl1, rightEncoder, sensorQuadEncoder)
#pragma config(Sensor, dgtl3, leftEncoder, sensorQuadEncoder)
#pragma config(Sensor, dgtl8, sonarSensor, sensorSONAR_cm)
#pragma config(Sensor, dgtl11, touchSensor, sensorTouch)
#pragma config(Motor, port1, propellerMotor, tmotorVex393, openLoop)
#pragma config(Motor, port2, rightMotor, tmotorVex393, openLoop, reversed)
#pragma config(Motor, port3, leftMotor, tmotorVex393, openLoop)
Once these are set up, you can program them as you would any other robot in RobotC Virtual Worlds.
Full Image of the Downloadable Package Options