Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,26 +1,66 @@
package org.teachingkidsprogramming.recipes;

import java.awt.Color;

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(Color.lightGray);
Tortoise.move(Height);
//flatRoof();
//MavericksRoof
mavericksRoof();
Tortoise.move(Height);
Tortoise.turn(-90);
Tortoise.move(20);
Tortoise.turn(-90);
}
private static void mavericksRoof()
{
//turn left 90
Tortoise.turn(-90);
//move 10
Tortoise.move(10);
//turn right 90+45 degrees
Tortoise.turn(90 + 45);
//move 50
Tortoise.move(50);
//turn 90
Tortoise.turn(90);
//move 50
Tortoise.move(50);
//turn 90+45
Tortoise.turn(90 + 45);
//move 10
Tortoise.move(10);
//turn 90 left
Tortoise.turn(-90);
}
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,6 +1,5 @@
package org.teachingkidsprogramming.recipes;


public class SimpleSquare
{
public static void main(String[] args) throws Exception
Expand Down
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,73 @@
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()
{
super.medium();
length = 21;
}
//
//
// Question3
// Create a method called large
// that sets the current length to 63
@Override
public void large()
{
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
// 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