### Learning Math and Coding with Robots

 Grid: Tics Lines: Width px Hash Lines: Width px Labels: Font px Trace Lines: Robot 1: Width px Robot 2: Width px Robot 3: Width px Robot 4: Width px
 Axes: x-axis y-axis Show Grid Grid: 24x24 inches 36x36 inches 72x72 inches 96x96 inches 192x192 inches Quad: 4 quadrants 1 quadrant Hardware Units: US Customary Metric
 Background:

#### Robot 1

 Initial Position: ( in, in) Initial Angle: deg Current Position: (0 in, 0 in) Current Angle: 90 deg Wheel Radius: 1.75 in1.625 in2.0 in Track Width: in

#### Robot 2

 Initial Position: ( in, in) Initial Angle: deg Current Position: (6 in, 0 in) Current Angle: 90 deg Wheel Radius: 1.75 in1.625 in2.0 in Track Width: in

#### Robot 3

 Initial Position: ( in, in) Initial Angle: deg Current Position: (12 in, 0 in) Current Angle: 90 deg Wheel Radius: 1.75 in1.625 in2.0 in Track Width: in

#### Robot 4

 Initial Position: ( in, in) Initial Angle: deg Current Position: (18 in, 0 in) Current Angle: 90 deg Wheel Radius: 1.75 in1.625 in2.0 in Track Width: in

Animate a Ball Bouncing Off Walls
Problem Statement:
The preplaced blocks draw a ball, two walls, and a floor. Make the ball bounce between the walls while also falling to the ground.
```/* Code generated by RoboBlockly v2.0 */
#include <chplot.h>
double i;
CPlot plot;
int count;

count = 0;
while(count < 3) {
for(i = 9.5; i >= -10; i -= 0.5) {
plot.backgroundColor("#006600");
plot.noStrokeColor();
plot.fillColor("#330033");
plot.fillOpacity(0.5);
plot.rectangle(-12, -12, 36, 4);
plot.rectangle(11, -8, 3, 20);
plot.rectangle(-12, -8, 1, 20);
plot.fillColor("red");
plot.fillOpacity(1);
plot.circle(i, -0.25 * (i * i) + 18, 1);
delaySeconds(0.01);
}
for(i = -9.5; i <= 10; i += 0.5) {
plot.backgroundColor("#006600");
plot.fillColor("#330033");
plot.fillOpacity(0.5);
plot.rectangle(-12, -12, 36, 4);
plot.rectangle(11, -8, 3, 20);
plot.rectangle(-12, -8, 1, 20);
plot.fillColor("red");
plot.fillOpacity(1);
plot.circle(i, -0.25 * (i * i) + 18, 1);
delaySeconds(0.01);
}
count = count + 1;
}

plot.axisRange(PLOT_AXIS_XY, -12, 24);
plot.ticsRange(PLOT_AXIS_XY, 6);
plot.sizeRatio(1);
plot.plotting();```
 Blocks Save Blocks Load Blocks Show Ch Save Ch Workspace
Problem Statement:
The preplaced blocks draw a ball, two walls, and a floor. Make the ball bounce between the walls while also falling to the ground.

Time