Betsy McDonald
Assignment Four- Starlogo

For this assignment I created a world in which an airplane flys over a town and drops bombs which catch on fire when they explode.  The plane flys at different speeds and carries seven bombs.


Instructions

  1. First click on the "Fly" button to position the plane over the building you would like to drop the first bomb.  You can change the speed of the plane's flight using the slider
  2. Click the fly button again to make the plane stop flying and hover over the building which you would like to drop the bomb on.
  3. Click the "Drop-First" Button to drop the first bomb to the ground.  It is important to drop the bombs in order, because they are loaded into the fired tube in order.
  4. When the Bomb reaches the ground unclick the "Drop-First" Button so the program is not slowed down
  5. When the bomb reaches the ground, click the "explode_1" button to fire the bomb
  6. IMPORTANT click the explode_1 button again to ensure the entire bomb is exploded
  7. Click "fly" again to reach the location for the next bomb- try to hit as many different buildings as you can!
  8. Repeat for each of the seven bombs- Stop the Plane, Drop the Bomb, Explode the Bomb (PRESS TWICE) and continue flying!



Pictures

The Plane Before Bombing

The Plane After Two Bombs
 

The Plane after all of the bombs have been dropped
 



The Code- Turtle

;;Betsy McDonald
;;57 -63 are bombs
;;64 - 99 is plane

to fly
if who >= 57 and who <= 99 [seth 90 fd plane-speed]
repeat 250 [pu]
end

to detect-ground
if pc = 102 [fd 1]
end

to drop-first
if who = 63 [seth 180]
if who = 63 [detect-ground]
end

to explode_1
if who = 63 [hatch [setc red pd seth 0 fd 5]]
if who = 63 [hatch [setc red pd seth 45 fd 5]]
if who = 63 [hatch [setc red pd seth 90 fd 5]]
if who = 63 [hatch [setc red pd seth 135 fd 5]]
if who = 63 [hatch [setc red pd seth 50 fd 5]]
if who = 63 [hatch [setc red pd seth 185 fd 5]]
if who = 63 [hatch [setc red pd seth 225 fd 5]]
if who = 63 [hatch [setc red pd seth 265 fd 5]]
if who = 63 [hatch [setc red pd seth 315 fd 5]]
if who = 63 [hatch [setc red pd seth 20 fd 5]]
if who = 63 [hatch [setc red pd seth 60 fd 5]]
if who = 63 [hatch [setc red pd seth 115 fd 5]]
if who = 63 [hatch [setc red pd seth 160 fd 5]]
if who = 63 [hatch [setc red pd seth 100 fd 5]]
if who = 63 [hatch [setc red pd seth 200 fd 5]]
if who = 63 [hatch [setc red pd seth 245 fd 5]]
if who = 63 [hatch [setc red pd seth 295 fd 5]]
if who = 63 [hatch [setc red pd seth 335 fd 5]]
if who = 63 [die]
end
 

to drop-second
if who = 62 [seth 180]
if who = 62 [detect-ground]
end

to explode_2
if who = 62 [hatch [setc red pd seth 0 fd 5]]
if who = 62 [hatch [setc red pd seth 45 fd 5]]
if who = 62 [hatch [setc red pd seth 90 fd 5]]
if who = 62 [hatch [setc red pd seth 135 fd 5]]
if who = 62 [hatch [setc red pd seth 50 fd 5]]
if who = 62 [hatch [setc red pd seth 185 fd 5]]
if who = 62 [hatch [setc red pd seth 225 fd 5]]
if who = 62 [hatch [setc red pd seth 265 fd 5]]
if who = 62 [hatch [setc red pd seth 315 fd 5]]
if who = 62 [hatch [setc red pd seth 20 fd 5]]
if who = 62 [hatch [setc red pd seth 60 fd 5]]
if who = 62 [hatch [setc red pd seth 115 fd 5]]
if who = 62 [hatch [setc red pd seth 160 fd 5]]
if who = 62 [hatch [setc red pd seth 100 fd 5]]
if who = 62 [hatch [setc red pd seth 200 fd 5]]
if who = 62 [hatch [setc red pd seth 245 fd 5]]
if who = 62 [hatch [setc red pd seth 295 fd 5]]
if who = 62 [hatch [setc red pd seth 335 fd 5]]
if who = 62 [die]
if who = 63 [die]
end

to drop-third
if who = 61 [seth 180]
if who = 61 [detect-ground]
end

to explode_3
if who = 61 [hatch [setc red pd seth 0 fd 5]]
if who = 61 [hatch [setc red pd seth 45 fd 5]]
if who = 61 [hatch [setc red pd seth 90 fd 5]]
if who = 61 [hatch [setc red pd seth 135 fd 5]]
if who = 61 [hatch [setc red pd seth 50 fd 5]]
if who = 61 [hatch [setc red pd seth 185 fd 5]]
if who = 61 [hatch [setc red pd seth 225 fd 5]]
if who = 61 [hatch [setc red pd seth 265 fd 5]]
if who = 61 [hatch [setc red pd seth 315 fd 5]]
if who = 61 [hatch [setc red pd seth 20 fd 5]]
if who = 61 [hatch [setc red pd seth 60 fd 5]]
if who = 61 [hatch [setc red pd seth 115 fd 5]]
if who = 61 [hatch [setc red pd seth 160 fd 5]]
if who = 61 [hatch [setc red pd seth 100 fd 5]]
if who = 61 [hatch [setc red pd seth 200 fd 5]]
if who = 61 [hatch [setc red pd seth 245 fd 5]]
if who = 61 [hatch [setc red pd seth 295 fd 5]]
if who = 61 [hatch [setc red pd seth 335 fd 5]]
if who = 61 [die]
if who = 62 [die]
if who = 63 [die]
end

to drop-fourth
if who = 60 [seth 180]
if who = 60 [detect-ground]
end

to explode_4
if who = 60 [hatch [setc red pd seth 0 fd 5]]
if who = 60 [hatch [setc red pd seth 45 fd 5]]
if who = 60 [hatch [setc red pd seth 90 fd 5]]
if who = 60 [hatch [setc red pd seth 135 fd 5]]
if who = 60 [hatch [setc red pd seth 50 fd 5]]
if who = 60 [hatch [setc red pd seth 185 fd 5]]
if who = 60 [hatch [setc red pd seth 225 fd 5]]
if who = 60 [hatch [setc red pd seth 265 fd 5]]
if who = 60 [hatch [setc red pd seth 315 fd 5]]
if who = 60 [hatch [setc red pd seth 20 fd 5]]
if who = 60 [hatch [setc red pd seth 60 fd 5]]
if who = 60 [hatch [setc red pd seth 115 fd 5]]
if who = 60 [hatch [setc red pd seth 160 fd 5]]
if who = 60 [hatch [setc red pd seth 100 fd 5]]
if who = 60 [hatch [setc red pd seth 200 fd 5]]
if who = 60 [hatch [setc red pd seth 245 fd 5]]
if who = 60 [hatch [setc red pd seth 295 fd 5]]
if who = 60 [hatch [setc red pd seth 335 fd 5]]
if who = 60 [die]
if who = 61 [die]
if who = 62 [die]
if who = 63 [die]
end

to drop-fifth
if who = 59 [seth 180]
if who = 59 [detect-ground]
end

to explode_5
if who = 59 [hatch [setc red pd seth 0 fd 5]]
if who = 59 [hatch [setc red pd seth 45 fd 5]]
if who = 59 [hatch [setc red pd seth 90 fd 5]]
if who = 59 [hatch [setc red pd seth 135 fd 5]]
if who = 59 [hatch [setc red pd seth 50 fd 5]]
if who = 59 [hatch [setc red pd seth 185 fd 5]]
if who = 59 [hatch [setc red pd seth 225 fd 5]]
if who = 59 [hatch [setc red pd seth 265 fd 5]]
if who = 59 [hatch [setc red pd seth 315 fd 5]]
if who = 59 [hatch [setc red pd seth 20 fd 5]]
if who = 59 [hatch [setc red pd seth 60 fd 5]]
if who = 59 [hatch [setc red pd seth 115 fd 5]]
if who = 59 [hatch [setc red pd seth 160 fd 5]]
if who = 59 [hatch [setc red pd seth 100 fd 5]]
if who = 59 [hatch [setc red pd seth 200 fd 5]]
if who = 59 [hatch [setc red pd seth 245 fd 5]]
if who = 59 [hatch [setc red pd seth 295 fd 5]]
if who = 59 [hatch [setc red pd seth 335 fd 5]]
if who = 59 [die]
if who = 60 [die]
if who = 61 [die]
if who = 62 [die]
if who = 63 [die]
end

to drop-sixth
if who = 58 [seth 180]
if who = 58 [detect-ground]
end

to explode_6
if who = 58 [hatch [setc red pd seth 0 fd 5]]
if who = 58 [hatch [setc red pd seth 45 fd 5]]
if who = 58 [hatch [setc red pd seth 90 fd 5]]
if who = 58 [hatch [setc red pd seth 135 fd 5]]
if who = 58 [hatch [setc red pd seth 50 fd 5]]
if who = 58 [hatch [setc red pd seth 185 fd 5]]
if who = 58 [hatch [setc red pd seth 225 fd 5]]
if who = 58 [hatch [setc red pd seth 265 fd 5]]
if who = 58 [hatch [setc red pd seth 315 fd 5]]
if who = 58 [hatch [setc red pd seth 20 fd 5]]
if who = 58 [hatch [setc red pd seth 60 fd 5]]
if who = 58 [hatch [setc red pd seth 115 fd 5]]
if who = 58 [hatch [setc red pd seth 160 fd 5]]
if who = 58 [hatch [setc red pd seth 100 fd 5]]
if who = 58 [hatch [setc red pd seth 200 fd 5]]
if who = 58 [hatch [setc red pd seth 245 fd 5]]
if who = 58 [hatch [setc red pd seth 295 fd 5]]
if who = 58 [hatch [setc red pd seth 335 fd 5]]
if who = 58 [die]
if who = 59 [die]
if who = 60 [die]
if who = 61 [die]
if who = 62 [die]
if who = 63 [die]
end

to drop-seventh
if who = 57 [seth 180]
if who = 57 [detect-ground]
end

to explode_7
if who = 57 [hatch [setc red pd seth 0 fd 5]]
if who = 57 [hatch [setc red pd seth 45 fd 5]]
if who = 57 [hatch [setc red pd seth 90 fd 5]]
if who = 57 [hatch [setc red pd seth 135 fd 5]]
if who = 57 [hatch [setc red pd seth 50 fd 5]]
if who = 57 [hatch [setc red pd seth 185 fd 5]]
if who = 57 [hatch [setc red pd seth 225 fd 5]]
if who = 57 [hatch [setc red pd seth 265 fd 5]]
if who = 57 [hatch [setc red pd seth 315 fd 5]]
if who = 57 [hatch [setc red pd seth 20 fd 5]]
if who = 57 [hatch [setc red pd seth 60 fd 5]]
if who = 57 [hatch [setc red pd seth 115 fd 5]]
if who = 57 [hatch [setc red pd seth 160 fd 5]]
if who = 57 [hatch [setc red pd seth 100 fd 5]]
if who = 57 [hatch [setc red pd seth 200 fd 5]]
if who = 57 [hatch [setc red pd seth 245 fd 5]]
if who = 57 [hatch [setc red pd seth 295 fd 5]]
if who = 57 [hatch [setc red pd seth 335 fd 5]]
if who = 57 [die]
if who = 58 [die]
if who = 59 [die]
if who = 60 [die]
if who = 61 [die]
if who = 62 [die]
if who = 63 [die]
end