Greenfoot - PowerPoint PPT Presentation

About This Presentation
Title:

Greenfoot

Description:

... at the University of Kent, England, and Deakin University, Melbourne, Australia. ... scenario reverts to its original state, if you modified the original, please ... – PowerPoint PPT presentation

Number of Views:974
Avg rating:3.0/5.0
Slides: 22
Provided by: SusanR87
Learn more at: https://www.cs.unca.edu
Category:

less

Transcript and Presenter's Notes

Title: Greenfoot


1
Greenfoot
  • November 8, 2009

2
Reference
  • Open the Greenfoot Tutorial located on the lab
    computers at
  • Applications/Greenfoot 1.5.1/tutorial/tutorial
    .html
  • You can download Greenfoot to your personal
    computer from the Greenfoot website. Java is a
    prerequisite for Greenfoot.

3
What is Greenfoot? Who developed it?
  • Greenfoot is a software tool designed to let
    beginners get experience with object-oriented
    programming. It supports development of graphical
    applications in the Java Programming Language.
  • Greenfoot was designed and implemented at the
    University of Kent, England, and Deakin
    University, Melbourne, Australia.

4
First Look
  • Open Greenfoot (found in the Applications folder)
  • If it doesnt load with the Wombat scenario, open
    it by selecting Scenario/Open/Wombats.
  • You should see something similar to what is
    displayed as a background to this slide.

5
Screen Layout
  • Large grid the world
  • Class display
  • World and Actor classes part of Greenfoot
  • Other classes belong to the wombat scenario.
  • Execution Controls ( Act, Run, slider).

6
The wombat World Turns
  • Place objects into the world
  • Control-click the Wombat class, select New
    Wombat(). Then click anywhere in the world. You
    have just created a wombat object and placed it
    into the world.
  • Use the same process to add several leaves
  • Shortcut Make sure the Leaf class is selected,
    then hold down the Shift key and click into the
    world several times.

7
The wombat World Turns
  • Make objects act
  • Click the Act button in the execution controls.
    Each object now acts that is each object does
    whatever it wants to do.
  • Run a scenario
  • Click the Run button. This is equivalent to
    clicking the Act button over and over again, very
    quickly. You will notice that the Run button
    changes to a Pause button. Clicking it stops
    the whole show.

8
Invoke Single Methods
  • Make sure you have a wombat in the world, and the
    scenario is not running. Then right-click on the
    wombat, and you see that objects in the world
    also have a pop-up menu (Figure 2).
  • Try turnLeft().
  • Try getLeavesEaten().
  • Try act().

9
Invoking wombatWorld Methods
  • right-click the WombatWorld class and select new
    WombatWorld(). What happens? What type of
    function is WombatWorld()? How did you know
    that?
  • Try populate().
  • Try randomLeaves(int howMany).

10
Changing the Wombat Class
  • Add the following method to the Wombat class
  • public void turnRandom()
  • // get a random number between 0 and 3...
  • int turns Greenfoot.getRandomNumber(4)
  • // ...and turn left that many times.
  • for(int i0 iltturns i)
  • turnLeft()

11
Change act()
  • public void act()
  • if(foundLeaf())
  • eatLeaf()
  • else if(canMove())
  • move()
  • else
  • turnLeft()
  • // change turnLeft() to turnRandom()

12
Compile
  • Before you can execute your class changes you
    must compile your project.
  • Compile within the editor, or
  • Compile from Greenfoots main window.
  • Once you have successfully compiled, you can
    create objects again.
  • Compilation (if successful) automatically
    instantiates a world object.

13
Changing Images
  • 2 ways to change the image of objects
  • You can change the image of a class, which will
    change the default image for all objects of that
    class.
  • Select Set Image... from the classs pop-up
    menu.
  • Try this - change the leafs image to something
    else
  • An object may change its image programmatically,
    which will change only the individual object.
    Each object can change its image as often as it
    likes.
  • calling the setImage method inherited from
    Actor.
  • one version of setImage() expects a parameter of
    type GreenfootImage
  • one version of setImage() takes the name of a
    file (and then reads that image file into a
    GreenfootImage and sets it).

14
Change to Left-facing Wombat When the Wombat
Moves Left
  • Conveniently, the wombats project contains a
    file named wombat-left.gif in its images
    sub-folder.
  • To change the wombat image use the following
    method call.
  • setImage("wombat-left.gif")
  • Edit the Wombats setDirection(int Direction)
    method to display the correct image when he is
    moving left.

15
Code
  • / if you want to use the left facing image for
    upwards movement add
  • case NORTH
  • setImage("wombat-left.gif")
  • setRotation(90)
  • break
  • /
  • case WEST
  • setImage("wombat-left.gif")
  • setRotation(0)
  • break

16
Documentation
  • To make changes to object behavior, you often
    need to make use of some standard Greenfoot
    classes. Greenfoot provides four important
    classes that you should know about
  • World
  • Actor
  • GreenfootImage
  • Greenfoot.
  • Greenfoots online documentation
    http//www.greenfoot.org/doc/

17
Inspecting an Object
  • Invoke the Inspect function from the menu of
    any wombat in the world.
  • Populate the world and then inspect one of the
    wombats. What do you see?
  • some fields defined in the Wombat class (such as
    leavesEaten)
  • some fields that are not defined in Wombat. The
    additional fields (such as x, y and rotation) are
    inherited from Actor and are present in all
    Greenfoot objects.
  • If a value is shown as an arrow symbol, then the
    field contains a reference to another object,
    which can be inspected in turn (by selecting and
    clicking Inspect).

18
Create a New Class
  • Create a new actor class. Choose New subclass
    from the pop-up menu of Actor. This will create a
    new class as a subclass of Actor. When prompted
    for a class name, type Rock. You are also
    prompted to select an image for the class.
  • Select the image, click Ok, and a new class named
    Rock is created.
  • Open the editor for that class. Why dont we have
    to write code for the rock class?

19
Create a New Class
  • Answer Because rocks dont act.
  • Close the editor, compile and test (create an
    object) there are your rocks!
  • Now populate the scenario a bit and test the
    wombats. (You can use the worlds populate() and
    randomLeaves() methods, and then add some rocks
    by hand.)
  • You will notice that you have rocks, but the
    wombats still run through them. Can you modify
    the Wombat class so that they dont run through
    the rocks?

20
In Class Activity
  • Add a Kangaroo class to the scenario. (In case
    you werent taught kangaroo behavior, a kangaroo
    will jump over at least one grid square with each
    move but, like a Wombat, will eat a leaf on the
    square on which she lands.)
  • Modify wombatWorlds populate() to initialize the
    world with 2 rocks, 1 kangaroo, 1 wombat and 7
    leaves to the wombatWorld.

21
Final Request
  • So that the wombat scenario reverts to its
    original state, if you modified the original,
    please reboot the computer.
  • Thank you, and remember that Project 1 is due
    11/10!
Write a Comment
User Comments (0)
About PowerShow.com