diff --git a/TeachingKidsProgramming/src/org/teachingkidsprogramming/recipes/FourSquare.java b/TeachingKidsProgramming/src/org/teachingkidsprogramming/recipes/FourSquare.java index 66010a4d..a30af38e 100644 --- a/TeachingKidsProgramming/src/org/teachingkidsprogramming/recipes/FourSquare.java +++ b/TeachingKidsProgramming/src/org/teachingkidsprogramming/recipes/FourSquare.java @@ -1,21 +1,31 @@ package org.teachingkidsprogramming.recipes; +import org.teachingextensions.logo.Colors; +import org.teachingextensions.logo.Tortoise; + public class FourSquare { public static void main(String[] args) { - // Show the tortoise --#1 - // Make the tortoise move as fast as possible --#8 + Tortoise.show(); + Tortoise.setSpeed(10); // Do the following 4 times --#9 - // drawSquare (recipe below) --#7 - // ------------- Recipe for drawSquare --#6 - // Do the following 4 times --#5 - // Change the color of the line the tortoise draws to a random color --#3 - // Move the tortoise 50 pixels --#2 - // Turn the tortoise 90 degrees to the right --#4 + for (int i = 1; i <= 4; i++) + { + drawSquare(); + Tortoise.turn(90); + } // Repeat - // ------------- End of drawSquare recipe --#6 // Turn the tortoise 90 degrees to the right --#10 // Repeat } + private static void drawSquare() + { + for (int i = 1; i <= 4; i++) + { + Tortoise.setPenColor(Colors.getRandomColor()); + Tortoise.move(50); + Tortoise.turn(90); + } + } } diff --git a/TeachingKidsProgramming/src/org/teachingkidsprogramming/recipes/Houses.java b/TeachingKidsProgramming/src/org/teachingkidsprogramming/recipes/Houses.java index 16c8cb93..8c817e73 100644 --- a/TeachingKidsProgramming/src/org/teachingkidsprogramming/recipes/Houses.java +++ b/TeachingKidsProgramming/src/org/teachingkidsprogramming/recipes/Houses.java @@ -1,26 +1,51 @@ package org.teachingkidsprogramming.recipes; +import java.awt.Color; + +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.setX(200); + int height = 40; + drawHouse(height); + drawHouse(120); + drawHouse(90); + drawHouse(20); + } + private static void drawHouse(int height) + { + Tortoise.setPenColor(colorChooser()); + Tortoise.setSpeed(10); + Tortoise.hide(); + Tortoise.move(height); + //flatRoof(); + //AmittaisRoof; + Tortoise.turn(45); + //move 10 + Tortoise.move(10); + //turn 90 right + Tortoise.turn(90); + //move 10 + Tortoise.move(10); + //turn 60 + Tortoise.turn(45); + Tortoise.move(height); + Tortoise.turn(-90); + Tortoise.move(20); + Tortoise.turn(-90); + } + private static void flatRoof() + { + Tortoise.turn(90); + Tortoise.move(30); + Tortoise.turn(90); + } + private static Color colorChooser() + { + return Colors.Grays.LightGray; } } diff --git a/TeachingKidsProgramming/src/org/teachingkidsprogramming/recipes/SimpleSquare.java b/TeachingKidsProgramming/src/org/teachingkidsprogramming/recipes/SimpleSquare.java index 855d3c6a..dedd0f0f 100644 --- a/TeachingKidsProgramming/src/org/teachingkidsprogramming/recipes/SimpleSquare.java +++ b/TeachingKidsProgramming/src/org/teachingkidsprogramming/recipes/SimpleSquare.java @@ -1,16 +1,25 @@ package org.teachingkidsprogramming.recipes; +import java.awt.Color; + +import org.teachingextensions.logo.Tortoise; 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); + simpleSquare(); + simpleSquare(); + } + private static void simpleSquare() + { + for (int i = 1; i <= 4; i++) + { + Tortoise.setPenColor(Color.blue); + Tortoise.move(50); + Tortoise.turn(90); + } } } diff --git a/TeachingKidsProgramming/src/org/teachingkidsprogramming/recipes/homework/Homework01.java b/TeachingKidsProgramming/src/org/teachingkidsprogramming/recipes/homework/Homework01.java index ee1f46c1..5f6e6b28 100644 --- a/TeachingKidsProgramming/src/org/teachingkidsprogramming/recipes/homework/Homework01.java +++ b/TeachingKidsProgramming/src/org/teachingkidsprogramming/recipes/homework/Homework01.java @@ -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: @@ -24,54 +22,54 @@ 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 -----> } @@ -79,25 +77,25 @@ public void howFastCanTheTortoiseGo() throws Exception 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 @@ -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(); @@ -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(); @@ -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(); @@ -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(); @@ -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(); diff --git a/TeachingKidsProgramming/src/org/teachingkidsprogramming/recipes/homework/Homework02.java b/TeachingKidsProgramming/src/org/teachingkidsprogramming/recipes/homework/Homework02.java index d43052b1..ef75633e 100644 --- a/TeachingKidsProgramming/src/org/teachingkidsprogramming/recipes/homework/Homework02.java +++ b/TeachingKidsProgramming/src/org/teachingkidsprogramming/recipes/homework/Homework02.java @@ -2,10 +2,8 @@ import junit.framework.Assert; -import org.junit.Ignore; import org.junit.Test; - public class Homework02 { // 'How to do homework: @@ -21,18 +19,18 @@ public class Homework02 public void youCanReadVariables() throws Exception { int numberOfDesserts = 5; - Assert.assertEquals(numberOfDesserts, ____); + Assert.assertEquals(numberOfDesserts, 5); } @Test public void youCanSaveVariables() throws Exception { - int ickynessOfBrothers = ____; + int ickynessOfBrothers = 10; Assert.assertEquals(10, ickynessOfBrothers); } @Test public void youCanDoMathWithVariables() throws Exception { - int ____ = 3 + 4; + int numberOfHarryPotterBooks = 3 + 4; Assert.assertEquals(7, numberOfHarryPotterBooks); } @Test @@ -41,14 +39,14 @@ public void youCanChangeVariables() throws Exception int milkTastiness = 6; addChocolate(); milkTastiness = 10; - Assert.assertEquals(milkTastiness, ____); + Assert.assertEquals(milkTastiness, 10); } @Test public void variablesAreSnotStuck() throws Exception { int boogers = 4; blowNose(); - boogers = ____; + boogers = 0; Assert.assertEquals(0, boogers); } @Test @@ -56,14 +54,14 @@ public void youCanAddToAVariable() throws Exception { int age = 11; celebrateBirthday(); - age += ____; + age += 1; Assert.assertEquals(12, age); } @Test public void youCanAddInMultipleWays() throws Exception { int bakersDozen = 12; - bakersDozen = bakersDozen + ____; + bakersDozen = bakersDozen + 1; Assert.assertEquals(13, bakersDozen); } @Test @@ -72,13 +70,13 @@ public void youCanAddOneInOneMoreWay() throws Exception int bearsInABed = 3; andTheLittleOneSaid("I'm lonely, come back here"); bearsInABed++; - Assert.assertEquals(bearsInABed, ____); + Assert.assertEquals(bearsInABed, 4); } @Test public void youCanSubtractFromAVariable() throws Exception { int amountOfHomework = 3; - amountOfHomework -= ____; + amountOfHomework -= 3; Assert.assertEquals(0, amountOfHomework); } @Test @@ -86,20 +84,20 @@ public void youCanSubtractOneInOneMoreWay() throws Exception { int bottlesOfBeerOnTheWall = 99; bottlesOfBeerOnTheWall--; - Assert.assertEquals(bottlesOfBeerOnTheWall, ____); + Assert.assertEquals(bottlesOfBeerOnTheWall, 98); } @Test public void youCanMultiplyVariables() throws Exception { int volumeOfMyVoice = 2; int volumeMyMomHears = volumeOfMyVoice * 5; - Assert.assertEquals(____, volumeMyMomHears); + Assert.assertEquals(10, volumeMyMomHears); } @Test public void youCanDivideVariables() throws Exception { int inches = 36; - int feet = ____ / 12; + int feet = 36 / 12; Assert.assertEquals(3, feet); } @Test @@ -107,17 +105,17 @@ public void variablesOnlyExistWithinTheMethod() throws Exception { String xmasList = "bike"; dreamBigger(); //This method is directly below - Assert.assertEquals(xmasList, ___); + Assert.assertEquals(xmasList, "bike"); } + String xmasList = "hippopotamus"; private void dreamBigger() { - String xmasList = "hippopotamus"; } @Test public void methodsCanReturnValues() throws Exception { String bedPost = prepareForBed(); //This method is directly below - Assert.assertEquals(bedPost, ___); + Assert.assertEquals(bedPost, prepareForBed()); } public String prepareForBed() { diff --git a/TeachingKidsProgramming/src/org/teachingkidsprogramming/recipes/quizzes/HousesQuiz.java b/TeachingKidsProgramming/src/org/teachingkidsprogramming/recipes/quizzes/HousesQuiz.java index 5939a3b5..62d286dd 100644 --- a/TeachingKidsProgramming/src/org/teachingkidsprogramming/recipes/quizzes/HousesQuiz.java +++ b/TeachingKidsProgramming/src/org/teachingkidsprogramming/recipes/quizzes/HousesQuiz.java @@ -1,38 +1,40 @@ 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; + } + @Override + public void medium() + { + length = 21; + } + @Override + public void large() + { + length = 63; + } + @Override + public void moveTheLength() + { + Tortoise.move(length); + } + @Override + public void turnTheCorner() + { + Tortoise.turn(-360 / 3); + } + @Override + public void drawASide() + { + moveTheLength(); + turnTheCorner(); } - // - // Question2 - // Create a method called medium - // that sets the current length to 21 - // - // - // Question3 - // Create a method called large - // that sets the current length to 63 - // - // - // Question4 - // Create a method called moveTheLength - // that moves the Tortoise the current length - // - // - // Question5 - // Create a method called turnTheCorner - // that turns the Tortoise 1/3 of 360 degrees to the left - // - // - // Question6 - // Create a method called drawASide - // that calls moveTheLength and turnTheCorner - // public static void main(String[] args) { new HousesQuizGrader().grade(new HousesQuiz());