package org.teachingkidsprogramming.recipes.completed.section05recursion.KataQuestions; import java.awt.Color; import java.util.HashMap; import org.teachingextensions.logo.Tortoise; import org.teachingextensions.logo.utils.ColorUtils.PenColors; // //------------Kata Question---------------// //How would you add a second tree? //Write out the steps in English //Then translate the steps into code //Make sure to run after each line // public class TurtleTreeKataQuestion { public static void main(String[] args) { Tortoise.show(); Tortoise.setSpeed(10); Tortoise.getBackgroundWindow().setBackground(PenColors.Grays.Black); int branchLength = 60; drawBranch(branchLength); } public static void drawBranch(int branchLength) { if (branchLength > 0) { adjustColor(branchLength); Tortoise.move(branchLength); drawLowerBranches(branchLength); } } public static void adjustColor(int branchLength) { HashMap<Integer, Color> colors = new HashMap<Integer, Color>(); colors.put(10, PenColors.Greens.Lime); colors.put(20, PenColors.Greens.ForestGreen); colors.put(30, PenColors.Greens.DarkGreen); colors.put(40, PenColors.Greens.Olive); colors.put(50, PenColors.Browns.Sienna); colors.put(60, PenColors.Browns.SaddleBrown); Tortoise.setPenColor(colors.get(branchLength)); } public static void drawLowerBranches(int branchLength) { Tortoise.turn(30); drawShorterBranches(branchLength); Tortoise.turn(-60); drawShorterBranches(branchLength); Tortoise.turn(30); adjustColor(branchLength); Tortoise.move(-branchLength); } public static void drawShorterBranches(int branchLength) { drawBranch(branchLength - 10); } }