Skip to content
Open
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
6 changes: 6 additions & 0 deletions Game1How/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
</classpath>
17 changes: 17 additions & 0 deletions Game1How/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Game1How</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
package org.teachingkidsprogramming.section07objects;

import java.util.ArrayList;

import org.teachingextensions.WindowUtils.MultiTurtleWindow;
import org.teachingextensions.logo.Turtle;
import org.teachingextensions.logo.utils.ColorUtils.PenColors;
import org.teachingextensions.logo.utils.LineAndShapeUtils.Text;

public class CloneTurtles
{
//Uncomment the two lines of code below to create a container and a window for your turtles --#1
public ArrayList<Turtle> turtles = new ArrayList<Turtle>();
public MultiTurtleWindow mtw = new MultiTurtleWindow();
//
public CloneTurtles()
{
showSomeTurtles();
}
//
private void showSomeTurtles()
{
//Use a FOR loop to add your three turtles --#4.1
for (int i = 0; i < 3; i++)
{
//Create a turtle instance --#2.1
Turtle myTurtle = new Turtle();
//Add your turtles to your turtle container --#2.2
turtles.add(myTurtle);
//Repeat --#4.2
}
//Create a variable to count the number of turtles in the container --#3.1
int numberOfTurtles = turtles.size();
//Uncomment to Show the number of turtles in the container on the window --#3.2
new Text("There are " + numberOfTurtles + " turtles in the turtle container").setTopLeft(50, 50)
.setPenColor(PenColors.Yellows.Gold).addTo(mtw);
//
//Use a FOREACH loop to add your turtles to your window --#5.1
for (Turtle turtle : turtles)
{
//Add and Show your turtles on your window --#5.3
mtw.addAndShowTurtle(turtle);
//Repeat --#5.2
}
//Use a FOR loop to teleport all of your turtles around your window --#6.1
for (int i = 0; i < 3; i++)
{
//Get your turtle's current position and then set the X position to i*100 + 350 --#6.3
turtles.get(i).setX(i * 100 + 350);
//Get your turtle's current position and then set the Y position to i*100 + 100 --#6.4
turtles.get(i).setY(i * 100 + 100);
//Repeat --#6.2
}
//Use a FOREACH loop to set values for all of your turtles --#7.1
for (Turtle turtle : turtles)
{
//Set the pen width to 10 pixels -- #7.3
turtle.setPenWidth(10);
//Set the turtle speed to 9 --#7.4
turtle.setSpeed(9);
//Have each turtle draw a star with a side that is 100 pixels --#7.5
turtle.drawStar(100);
//Repeat --#7.2
}
}
//
public static void main(String[] args)
{
new CloneTurtles();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package org.teachingkidsprogramming.section10game;

import org.teachingextensions.logo.utils.EventUtils.MouseLeftClickListener;

public class Game1 implements MouseLeftClickListener
{
public static void main(String[] args)
{
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
package org.teachingkidsprogramming.section10game;

import org.teachingextensions.WindowUtils.ProgramWindow;
import org.teachingextensions.logo.Tortoise;
import org.teachingextensions.logo.utils.ColorUtils.PenColors.Blues;
import org.teachingextensions.logo.utils.ColorUtils.PenColors.Grays;
import org.teachingextensions.logo.utils.ColorUtils.PenColors.Reds;
import org.teachingextensions.logo.utils.ColorUtils.PenColors.Whites;
import org.teachingextensions.logo.utils.ColorUtils.PenColors.Yellows;
import org.teachingextensions.logo.utils.EventUtils.MouseLeftClickListener;

public class Game2 implements MouseLeftClickListener
{
private ProgramWindow programWindow;
public Game2()
{
// Create a ProgramWindow titled My Bubble --#1.1
programWindow = new ProgramWindow("My Bubble");
// Uncomment the line below -- #1.2
programWindow.setWindowVisible(true);
// Have SimpleBubble listen for when the left mouse button is clicked in your program window --#2.2
programWindow.addMouseLeftClickListener(this);
Tortoise.getBackgroundWindow().addMouseLeftClickListener(this);
//Show Tortoise
Tortoise.show();
//Set the speed of the Tortoise to 10
Tortoise.setSpeed(10);
//Make a rectangular button with Tortoise 1
Tortoise.setPenWidth(5);
Tortoise.setX(200);
Tortoise.setY(125);
for (int i = 0; i < 4; i++)
{
Tortoise.turn(90);
Tortoise.move(25);
}
//
Tortoise.setX(150);
Tortoise.setY(175);
for (int i = 0; i < 4; i++)
{
Tortoise.turn(90);
Tortoise.move(25);
}
//
Tortoise.setX(200);
Tortoise.setY(175);
for (int i = 0; i < 4; i++)
{
Tortoise.turn(90);
Tortoise.move(25);
}
//
Tortoise.setX(250);
Tortoise.setY(175);
for (int i = 0; i < 4; i++)
{
Tortoise.turn(90);
Tortoise.move(25);
}
//Colors
//
//
//
//
//
Tortoise.setPenWidth(5);
//
Tortoise.setPenColor(Yellows.Yellow);
Tortoise.setX(300);
Tortoise.setY(125);
for (int i = 0; i < 4; i++)
{
Tortoise.turn(90);
Tortoise.move(25);
}
//
Tortoise.setPenColor(Reds.Red);
Tortoise.setX(350);
Tortoise.setY(125);
for (int i = 0; i < 4; i++)
{
Tortoise.turn(90);
Tortoise.move(25);
}
//
Tortoise.setPenColor(Blues.Aqua);
Tortoise.setX(400);
Tortoise.setY(125);
for (int i = 0; i < 4; i++)
{
Tortoise.turn(90);
Tortoise.move(25);
}
//
Tortoise.setPenColor(Grays.Black);
Tortoise.setX(450);
Tortoise.setY(125);
for (int i = 0; i < 4; i++)
{
Tortoise.turn(90);
Tortoise.move(25);
}
//
Tortoise.setPenColor(Grays.Black);
Tortoise.setX(500);
Tortoise.setY(125);
for (int i = 0; i < 4; i++)
{
Tortoise.turn(90);
Tortoise.move(25);
}
Tortoise.setPenWidth(3);
Tortoise.setPenColor(Whites.White);
Tortoise.setX(500);
Tortoise.setY(125);
for (int i = 0; i < 4; i++)
{
Tortoise.turn(90);
Tortoise.move(25);
}
//Make a finish line
Tortoise.setPenColor(Grays.Black);
Tortoise.setPenWidth(2);
Tortoise.setX(600);
Tortoise.setY(0);
Tortoise.setAngle(180);
Tortoise.move(500);
//Move Tortoise to 100X 300Y
Tortoise.setX(100);
Tortoise.setY(300);
Tortoise.setAngle(0);
}
public void onLeftMouseClick(int x, int y)
{
//If button is pressed (Hint: Find X First, then find Y)(Mouse Left Click Listener) #5.1
Tortoise.show();
if (x >= 200 && x <= 225)
{
if (y >= 175 && y <= 200)
{
//Move Tortoise 25 pixels up #6
Tortoise.setAngle(180);
Tortoise.move(25);
}
else if (y >= 125 && y <= 150)
{
//Move Tortoise 25 pixels up #6
Tortoise.setAngle(0);
Tortoise.move(25);
}
}
else if (x >= 150 && x <= 175)
{
if (y >= 175 && y <= 200)
{
//Move Tortoise 25 pixels to the left #6
Tortoise.setAngle(-90);
Tortoise.move(25);
}
}
else if (x >= 250 && x <= 275)
{
if (y >= 175 && y <= 200)
{
//Move Tortoise 25 pixels to the left #6
Tortoise.setAngle(90);
Tortoise.move(25);
}
}
if (Tortoise.getX() == 600)
{
Tortoise.explode();
Tortoise.setPenColor(Reds.Crimson);
Tortoise.setPenWidth(5);
}
if (Tortoise.getY() <= 225 && Tortoise.getY() >= 100)
{
if (Tortoise.getX() <= 550 && Tortoise.getX() >= 125)
{
Tortoise.setX(100);
Tortoise.setY(300);
}
}
}
public static void main(String[] args)
{
new Game2();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
package org.teachingkidsprogramming.section10game;

import org.teachingextensions.approvals.lite.util.NumberUtils;
import org.teachingextensions.logo.Tortoise;
import org.teachingextensions.logo.utils.ColorUtils.ColorWheel;
import org.teachingextensions.logo.utils.ColorUtils.PenColors;
import org.teachingextensions.logo.utils.EventUtils.MouseLeftClickListener;
import org.teachingextensions.logo.utils.EventUtils.MouseRightClickListener;
import org.teachingextensions.logo.utils.LineAndShapeUtils.Circle;
import org.teachingextensions.logo.utils.LineAndShapeUtils.Text;

public class Game3 implements MouseRightClickListener, MouseLeftClickListener
{
public static void main(String[] args)
{
new Game3();
}
public Game3()
{
setUpTheWindow();
prepareColorPalette();
// Listen for left clicks on the window for the tortoise --#1
Tortoise.getBackgroundWindow().addMouseLeftClickListener(this);
// Listen for right clicks on the window for the tortoise --#20.2
Tortoise.getBackgroundWindow().addMouseRightClickListener(this);
}
@Override
public void onLeftMouseClick(int x, int y)
{
// addDot at x and y (recipe below) --#5
addDot(x, y);
// Uncomment to write the text "Right click to clear the window" on the screen at position 100, 100 --#8
new Text("Right click to clear the window").setTopLeft(100, 100).addTo(Tortoise.getBackgroundWindow());
}
private void addDot(int x, int y)
{
// ------------- Recipe for addDot --#6
// createCircle at x and y (recipe below) --#2
createCircle(x, y);
// Move the tortoise to the current position of the mouse (x,y) --#4
Tortoise.moveTo(x, y);
// ------------- End of addDot Recipe
}
private void createCircle(int x, int y)
{
// ------------- Recipe for createCircle --#3.0 (everything in this recipe)
int number = NumberUtils.getRandomInt(7, 17);
// Create a new circle with a radius of 11 using the next color on the color wheel
Circle circle = new Circle(number, ColorWheel.getNextColor());
// Change the circle to be 60% opaque
circle.setTransparency(40);
// Move the circle so that it's center is at the current position of the mouse (x,y)
circle.setCenter(x, y);
// Place the circle on the tortoise's window
circle.addTo(Tortoise.getBackgroundWindow());
// ------------- End of createCircle Recipe --#3.1
Tortoise.setPenColor(ColorWheel.getRandomColorFromWheel());
}
@Override
public void onRightMouseClick(int x, int y)
{
// Clear everything from the window HINT: Use Tortoise --#7
Tortoise.clear();
}
private static void prepareColorPalette()
{
ColorWheel.addColor(PenColors.Reds.Red);
ColorWheel.addColor(PenColors.Greens.Green);
ColorWheel.addColor(PenColors.Blues.Blue);
ColorWheel.addColor(PenColors.Purples.Purple);
ColorWheel.addColor(PenColors.Pinks.Pink);
ColorWheel.addColor(PenColors.Greens.Teal);
}
private void setUpTheWindow()
{
Tortoise.show();
Tortoise.setSpeed(10);
Tortoise.hide();
}
}