Barobo
PortalSign In
HomeShopTutorialsFree CurriculumHour of Code
RoboBlockly for Learning Math and Coding

CSP Unit 3 Lesson 8.11

Piano
Linkbot Image Mindstorm Image Cursor Image
0x36302418126y36302418126
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
Labels: x-axis y-axis Show Grid
Grid: 12x12 inches 24x24 inches 36x36 inches
72x72 inches 96x96 inches 192x192 inches
Quad: 4 Quadrants 1 Quadrant 1&4 Quadrants
Units: US Customary Metric
Background: Background Image

Robot 1

Linkbot
Mindstorm
Initial Position:
( in, in)
Initial Angle:
deg
Current Position: (0 in, 0 in)
Current Angle: 90 deg
Wheel Radius:
Track Width:
in

Robot 2

Linkbot
Mindstorm
Initial Position:
( in, in)
Initial Angle:
deg
Current Position: (6 in, 0 in)
Current Angle: 90 deg
Wheel Radius:
Track Width:
in

Robot 3

Linkbot
Mindstorm
Initial Position:
( in, in)
Initial Angle:
deg
Current Position: (12 in, 0 in)
Current Angle: 90 deg
Wheel Radius:
Track Width:
in

Robot 4

Linkbot
Mindstorm
Initial Position:
( in, in)
Initial Angle:
deg
Current Position: (18 in, 0 in)
Current Angle: 90 deg
Wheel Radius:
Track Width:
in
CSP Unit 3 Lesson 8.11
/* Code generated by RoboBlockly v2.5 */
/* Problem Statement: 
    Using the drawFish function definition as a model, modify
    the drawStar function so that it has two parameters, named
    star_x and star_y, that specify the (x, y) location for the
    star. (Review Lesson 8.6 if you need a refresher on adding
    parameters to functions.) Then add function calls to your
    program to draw stars in several locations. Don't forget to
    save your work in an xml file named "YourName_Lesson8.11"!
    */
#include <chplot.h>
CPlot plot;

// Describe this function...
void drawFish(double fish_x, double fish_y) {
  // Draw a gold fish at the point  (fish_x,fish_y)
  plot.noStrokeColor();
  plot.fillColor("#ffcc66");
  // Body of fish
  plot.ellipse(fish_x, fish_y, 8, 3, 0);
  // Tail of fish
  plot.triangle(fish_x - 5, fish_y + 2, fish_x - 5, fish_y - 2, fish_x - 3, fish_y);
}

// Describe this function...
void drawStar(double star_x, double star_y) {
  // Draw an orange star at the point (star_x, star_y)
  plot.noStrokeColor();
  plot.fillColor("#ff6600");
  plot.star(star_x, star_y, 4, 0);
}

// Describe this function...
void drawGrass() {
  // Draw some wavy grass growing at the point (5, 5)
  plot.strokeColor("#33ff33");
  plot.strokeWidth(1);
  plot.arc(5, 5, 1, 270, 90);
  plot.arc(5, 7, 1, 90, 270);
  plot.arc(5, 9, 1, 270, 90);
  plot.arc(5, 11, 1, 90, 270);
}

// Program that draws an underwater scene
// Set underwater background, turn off grid display
//plot.backgroundImage("underwater.png");
// Turn on grid for convenience while working on code
// (When done, set grid to "off" for final display)
plot.grid(PLOT_OFF);
// Draw 2 fish, 3 stars, and 1 blade of  grass
drawFish(10, 25);
drawFish(24, 30);
drawStar(27, 10);
drawStar(18, 5);
drawStar(9, 6);
drawGrass();

plot.label(PLOT_AXIS_XY, "");
plot.grid(PLOT_OFF);
plot.tics(PLOT_AXIS_XY, PLOT_OFF);
plot.axis(PLOT_AXIS_XY, PLOT_OFF);
plot.axisRange(PLOT_AXIS_XY, 0, 36);
plot.ticsRange(PLOT_AXIS_XY, 6);
plot.sizeRatio(1);
plot.plotting();
Load Blocks
Hardware
LArduino
Workspace Show Ch Save File
Problem Statement:

Using the drawFish function definition as a model, modify the drawStar function so that it has two parameters, named star_x and star_y, that specify the (x, y) location for the star. (Review Lesson 8.6 if you need a refresher on adding parameters to functions.) Then add function calls to your program to draw stars in several locations. Don't forget to save your work to the cloud in an xml file named "YourName_Lesson8.11"!


		
Rubbish bin
Time