Skip to content
Original file line number Diff line number Diff line change
@@ -1,26 +1,57 @@
package org.teachingkidsprogramming.recipes;

import org.teachingextensions.logo.Colors;
import org.teachingextensions.logo.Tortoise;

public class Houses
{
public static void main(String[] args)
{
// Make the tortoise move as fast as possible --#11
// Have the tortoise start at 200 pixels in on the X axis --#14
// The current height is 40 --#1.2
// drawHouse (recipe below) --#9
// ------------- Recipe for drawHouse --#9
// Change the color of the line the tortoise draws to lightGray --#15
// Move the tortoise the height of a house --#1.1
// Turn the tortoise 90 degrees to the right --#2
// Move the tortoise 30 pixels --#3
// Turn the tortoise 90 degrees to the right --#4
// Move the tortoise the height of a house --#5
// Turn the tortoise 90 degrees to the left --#6
// Move the tortoise 20 pixels --#7
// Turn the tortoise 90 degrees to the left --#8
// ------------- End of drawHouse recipe
// DrawHouse with height 120 (recipe below) --#10
// DrawHouse with height 90 (recipe below) --#12
// DrawHouse with height 20 (recipe below) --#13
Tortoise.setSpeed(10);
Tortoise.setX(200);
int height = 40;
drawHouse(height);
drawHouse(120);
drawHouse(90);
drawHouse(20);
}
private static void drawHouse(int height)
{
Tortoise.setPenColor(Colors.Grays.LightGray);
Tortoise.move(height);
// flatRoof();
//amittaisRoof();
//MavericksRoof
mavericksRoof();
Tortoise.turn(-90);
Tortoise.move(height);
Tortoise.turn(-90);
Tortoise.move(20);
Tortoise.turn(-90);
}
private static void mavericksRoof()
{
Tortoise.turn(-90);
Tortoise.move(10);
Tortoise.turn(90 + 45);
Tortoise.move(50);
Tortoise.turn(90);
Tortoise.move(50);
Tortoise.turn(90 + 45);
Tortoise.move(10);
}
private static void amittaisRoof()
{
Tortoise.turn(45);
Tortoise.move(10);
Tortoise.turn(90);
Tortoise.move(10);
Tortoise.turn(45);
}
private static void flatRoof()
{
Tortoise.turn(90);
Tortoise.move(30);
Tortoise.turn(90);
}
}
}
Original file line number Diff line number Diff line change
@@ -1,16 +1,22 @@
package org.teachingkidsprogramming.recipes;

import org.teachingextensions.logo.Colors;
import org.teachingextensions.logo.Tortoise;
import org.teachingextensions.windows.MessageBox;

public class SimpleSquare
{
public static void main(String[] args) throws Exception
{
// Show the tortoise --#1
// Make the tortoise move as fast as possible --#6
// Do the following 4 times --#5.1
// Change the color of the line the tortoise draws to "blue" --#4
// Move the tortoise 50 pixels --#2
// Turn the tortoise to the right (90 degrees) --#3
// Repeat --#5.2
Tortoise.show();
Tortoise.setSpeed(10);
int sides = MessageBox.askForNumericalInput("How many sides would you like?");
for (int i = 1; i <= sides; i++)
{
Tortoise.setPenColor(Colors.getRandomColor());
Tortoise.setPenWidth(i * 3.5);
Tortoise.move(i * 5);
Tortoise.turn(360.0 * -3 / sides);
}
}
}
Original file line number Diff line number Diff line change
@@ -1,18 +1,22 @@
package org.teachingkidsprogramming.recipes;

import org.teachingextensions.logo.Tortoise;

public class Spiral
{
public static void main(String[] args)
{
// Show the tortoise --#1
Tortoise.show();
// Make the tortoise go as fast as possible --#4
// Add Blue Violet to the Color Wheel --#6
// Add Violet to the Color Wheel --#8
// Add Purple to the Color Wheel --#9
// Do the following 75 times --#3
// Change the color of the line the tortoise draws the next color on the Color Wheel --#7
// Move the tortoise 5 times the current line number you are drawing --#5
// Turn the tortoise 1/3 of 360 degrees to the right --#2
for (int i = 1; i <= 75; i++)
{
// Change the color of the line the tortoise draws the next color on the Color Wheel --#7
// Move the tortoise 5 times the current line number you are drawing --#5
Tortoise.turn(360 / 3);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,11 @@
import junit.framework.Assert;

import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.teachingextensions.logo.Tortoise;
import org.teachingextensions.logo.Turtle;
import org.teachingextensions.logo.utils.TortoiseUtils;


public class Homework01
{
// 'How to do homework:
Expand All @@ -24,80 +22,80 @@ public class Homework01
@Test
public void numbersDoNotNeedQuotes()
{
Assert.assertEquals(42, ____);
Assert.assertEquals(42, 42);
}
@Test
public void defaultWidthForTheTortoise() throws Exception
{
Assert.assertEquals(Tortoise.getPenWidth(), ____);
Assert.assertEquals(Tortoise.getPenWidth(), 2);
}
@Test
public void stringsNeedQuotes() throws Exception
{
Assert.assertEquals("Green", ___);
Assert.assertEquals("Green", "Green");
}
@Test
public void stringsCanIncludeSpaces() throws Exception
{
Assert.assertEquals("This is a string", ___);
Assert.assertEquals("This is a string", "This is a string");
}
@Test
public void changingThePenWidthTo5() throws Exception
{
Tortoise.setPenWidth(____);
Tortoise.setPenWidth(5);
Assert.assertEquals(5, Tortoise.getPenWidth());
}
@Test
public void movingTheTortoise100Pixels() throws Exception
{
int start = Tortoise.getY();
Tortoise.move(____);
Tortoise.move(100);
Assert.assertEquals(Tortoise.getY(), start - 100);
// 'Hint: make sure you read the name of this method
}
@Test
public void theTortoiseTurns21() throws Exception
{
Tortoise.turn(____);
Tortoise.turn(21);
Assert.assertEquals(21.0, Tortoise.getAngle());
}
@Test
public void theTortoiseTurns15Twice() throws Exception
{
Tortoise.turn(____);
Tortoise.turn(____);
Tortoise.turn(15);
Tortoise.turn(15);
Assert.assertEquals(30.0, Tortoise.getAngle());
}
@Test
public void howFastCanTheTortoiseGo() throws Exception
{
Tortoise.setSpeed(____);
Tortoise.setSpeed(10);
Assert.assertEquals(Tortoise.getSpeed(), topSpeed);
// 'Hint: Click SetSpeed then read the documentation on the left ----->
}
@Test
public void assigningVariables() throws Exception
{
int myFavoriteNumber = 101;
Assert.assertEquals(myFavoriteNumber, ____);
Assert.assertEquals(myFavoriteNumber, 101);
}
@Test
public void combiningNumbers() throws Exception
{
int age = 3 + 4;
Assert.assertEquals(age, ____);
Assert.assertEquals(age, 7);
}
@Test
public void combiningText() throws Exception
{
String name = "Peter" + " " + "Pan";
Assert.assertEquals(name, ___);
Assert.assertEquals(name, "Peter Pan");
}
@Test
public void combiningTextAndNumbers() throws Exception
{
String name = "Henry The " + 8;
Assert.assertEquals(name, ___);
Assert.assertEquals(name, "Henry The 8");
}
@Test
public void combiningTextInALoop() throws Exception
Expand All @@ -107,13 +105,13 @@ public void combiningTextInALoop() throws Exception
{
sound += "H";
}
Assert.assertEquals(sound, ___);
Assert.assertEquals(sound, "AHHH");
}
@Test
public void forLoopsEndAtTheEnd() throws Exception
{
String numbers = "# ";
for (int i = 1; i <= ____; i++)
for (int i = 1; i <= 5; i++)
{
numbers += i;
preventInfiniteLoops();
Expand All @@ -124,7 +122,7 @@ public void forLoopsEndAtTheEnd() throws Exception
public void forLoopsCanStartAnywhere() throws Exception
{
String answer = "Because ";
for (int i = ____; i <= 9; i++)
for (int i = 7; i <= 9; i++)
{
answer += i;
preventInfiniteLoops();
Expand All @@ -136,7 +134,7 @@ public void forLoopsCanStartAnywhere() throws Exception
public void forLoopsCanSkip() throws Exception
{
String numbers = "# ";
for (int i = 1; i <= 20; i += ____)
for (int i = 1; i <= 20; i += 2)
{
numbers = numbers + i + ",";
preventInfiniteLoops();
Expand All @@ -147,7 +145,7 @@ public void forLoopsCanSkip() throws Exception
public void forLoopsCanSkipUpAndDown() throws Exception
{
String numbers = "# ";
for (int i = 20; 0 < i && i <= 40; i += ____)
for (int i = 20; 0 < i && i <= 40; i += -3)
{
numbers = numbers + i + ",";
preventInfiniteLoops();
Expand All @@ -158,7 +156,7 @@ public void forLoopsCanSkipUpAndDown() throws Exception
public void forLoopsCanGoBackwards() throws Exception
{
String numbers = "Countdown: ";
for (int i = 9; i >= 1; i += ____)
for (int i = 9; i >= 1; i += -1)
{
numbers += i;
preventInfiniteLoops();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,37 +1,75 @@
package org.teachingkidsprogramming.recipes.quizzes;

import org.teachingextensions.logo.Tortoise;
import org.teachingkidsprogramming.recipes.quizzes.graders.HousesQuizGrader;

public class HousesQuiz extends org.teachingkidsprogramming.recipes.quizzes.graders.HousesQuiz
{
public void question1()
{
// The current length is 7
length = 7;
}
//
// Question2
// Create a method called medium
// that sets the current length to 21
@Override
public void medium()
{
// TODO Auto-generated method stub
super.medium();
length = 21;
}
//
//
// Question3
// Create a method called large
// that sets the current length to 63
@Override
public void large()
{
// TODO Auto-generated method stub
super.large();
length = 63;
}
//
//
// Question4
// Create a method called moveTheLength
// that moves the Tortoise the current length
@Override
public void moveTheLength()
{
// TODO Auto-generated method stub
super.moveTheLength();
Tortoise.move(length);
}
//
//
// Question5
// Create a method called turnTheCorner
// that turns the Tortoise 1/3 of 360 degrees to the left
@Override
public void turnTheCorner()
{
// TODO Auto-generated method stub
super.turnTheCorner();
Tortoise.turn(360 / -3);
}
//
//
// Question6
// Create a method called drawASide
// that calls moveTheLength and turnTheCorner
@Override
public void drawASide()
{
// TODO Auto-generated method stub
super.drawASide();
moveTheLength();
turnTheCorner();
}
//
public static void main(String[] args)
{
Expand Down
Loading