Skip to content

Commit b10d2b9

Browse files
committed
added demo recipes
1 parent b21b4e6 commit b10d2b9

6 files changed

Lines changed: 116 additions & 25 deletions

File tree

src/main/java/org/teachingextensions/logo/Tortoise.java

Lines changed: 51 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.awt.Color;
44

55
import org.teachingextensions.logo.Turtle.Animals;
6+
import org.teachingextensions.logo.shapes.Text;
67
import org.teachingextensions.logo.utils.TortoiseUtils;
78
import org.teachingextensions.virtualproctor.VirtualProctor;
89

@@ -304,16 +305,63 @@ public void likesTopping(Topping topping)
304305
public static void drawShape(int sides, Color color, int length, int width)
305306
{
306307
Tortoise.show();
307-
Tortoise.setSpeed(10);
308+
Tortoise.setSpeed(7);
308309
Tortoise.getBackgroundWindow().setBackground(PenColors.Yellows.Goldenrod);
310+
new Text("TKP Java - Make Some Shapes!").setTopLeft(225, 50).addTo(Tortoise.getBackgroundWindow());
309311
for (int i = 0; i < sides; i++)
310312
{
311313
Tortoise.setPenColor(color);
312314
Tortoise.setPenWidth(width);
313315
Tortoise.move(length);
314316
Tortoise.turn(360 / sides);
315317
}
316-
VirtualProctor.setClassName("Snape's class");
317-
VirtualProctor.setName("Harry Potter");
318+
VirtualProctor.setClassName("Grace Hopper's Class");
319+
VirtualProctor.setName("Jean Bartik");
320+
}
321+
public static void drawTortoise()
322+
{
323+
Tortoise.show();
324+
Tortoise.setSpeed(9);
325+
Tortoise.getBackgroundWindow().setBackground(PenColors.Greens.DarkSeaGreen);
326+
new Text("TKP Java - It's the Tortoise!").setTopLeft(200, 75).addTo(Tortoise.getBackgroundWindow());
327+
Tortoise.setPenColor(PenColors.Greens.Green);
328+
Tortoise.setPenWidth(3);
329+
makeTortoiseBody();
330+
Tortoise.setPenColor(PenColors.Browns.Brown);
331+
Tortoise.turn(-65);
332+
Tortoise.makeTortoiseLeg();
333+
Tortoise.turn(90);
334+
Tortoise.move(150);
335+
Tortoise.turn(-90);
336+
Tortoise.makeTortoiseLeg();
337+
}
338+
private static void makeTortoiseLeg()
339+
{
340+
for (int i = 0; i < 4; i++)
341+
{
342+
Tortoise.move(35);
343+
Tortoise.turn(90);
344+
}
345+
}
346+
private static void makeTortoiseBody()
347+
{
348+
Tortoise.turn(-90);
349+
Tortoise.move(255);
350+
Tortoise.turn(135);
351+
Tortoise.move(135);
352+
Tortoise.turn(45);
353+
Tortoise.move(120);
354+
Tortoise.turn(45);
355+
Tortoise.move(70);
356+
Tortoise.turn(-90);
357+
Tortoise.move(35);
358+
Tortoise.turn(45);
359+
Tortoise.move(60);
360+
Tortoise.turn(65);
361+
Tortoise.move(50);
362+
Tortoise.turn(115);
363+
Tortoise.move(65);
364+
Tortoise.turn(-25);
365+
Tortoise.move(65);
318366
}
319367
}

src/main/java/org/teachingextensions/logo/shapes/Text.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import org.teachingextensions.logo.TurtlePanel;
1111

1212
/**
13-
* <img src="http://www.iconeasy.com/icon/thumbnails/System/BlankOn/Text%20Icon.jpg" style="text-align: left" alt="A sheet of paper with text on it">
13+
* <img src="http://www.iconsdb.com/icons/preview/black/text-xxl.png" style="text-align: left" alt="Some Text!" height="20">
1414
* Text allows you to write text on the window
1515
*/
1616
public class Text implements Paintable
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package org.teachingkidsprogramming.recipes.completed.section00demos;
2+
3+
import java.util.Random;
4+
5+
import org.teachingextensions.logo.PenColors;
6+
import org.teachingextensions.logo.Tortoise;
7+
8+
public class QuickShape
9+
{
10+
public static void main(String[] args) throws Exception
11+
{
12+
//Tip: Use the Tortoise to draw!
13+
//Draw a red square that is 50 pixels per side with a line that's 2 pixels thick
14+
Tortoise.setX(150);
15+
Tortoise.drawShape(4, PenColors.Reds.Red, 75, 4);
16+
//
17+
//Draw a blue hexagon that is 65 pixels per side with a line that's 40 pixels thick
18+
Tortoise.setX(425);
19+
Tortoise.drawShape(6, PenColors.Blues.Blue, 65, 40);
20+
//
21+
Tortoise.setX(250);
22+
Tortoise.setY(375);
23+
Random r = new Random();
24+
int sides = r.nextInt(10) + 1;
25+
//Draw a purple shape that is 50 pixel on each side with a line that's 10 pixels thick
26+
Tortoise.drawShape(sides, PenColors.Purples.Purple, 50, 10);
27+
}
28+
}

src/main/java/org/teachingkidsprogramming/recipes/completed/section00demos/QuickSquare.java

Lines changed: 0 additions & 21 deletions
This file was deleted.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package org.teachingkidsprogramming.recipes.completed.section00demos;
2+
3+
import org.teachingextensions.logo.Tortoise;
4+
5+
public class QuickTortoise
6+
{
7+
public static void main(String[] args) throws Exception
8+
{
9+
Tortoise.drawTortoise();
10+
}
11+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package org.teachingkidsprogramming.section00demos;
2+
3+
import java.util.Random;
4+
5+
import org.teachingextensions.logo.Tortoise;
6+
7+
public class QuickShape
8+
{
9+
public static void main(String[] args) throws Exception
10+
{
11+
// Tip: Use the Tortoise to draw shapes!
12+
Tortoise.setX(150);
13+
// Draw a red square that is 50 pixels per side with a line that's 2 pixels thick -- #1
14+
//
15+
Tortoise.setX(425);
16+
// Draw a blue hexagon that is 65 pixels per side with a line that's 40 pixels thick -- #2
17+
//
18+
Tortoise.setX(250);
19+
Tortoise.setY(375);
20+
Random r = new Random();
21+
int sides = r.nextInt(10) + 1; // use this to generate a random number of sides
22+
// Draw a purple shape that is 50 pixel on each side with a line that's 10 pixels thick -- #3
23+
//
24+
}
25+
}

0 commit comments

Comments
 (0)