SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Introduction To
                            Greenfoot
                               Part-1


kakihijau.googlepages.com
Disclaimer
 This document is intended to give a beginner an introductory
  material for the Greenfoot system. Greenfoot is a software
  framework made by Poul Henriksen and Michael Koelling at
  University of Kent / Deakin University. More information can be
  found at http://www.greenfoot.org

 This document is available „AS IS“ free of charge for personal use
  and non-commercial redistribution. It may not be sold for profit or
  included in other packages which are sold for profit without written
  authorisation. This document is distributed in the hope that it will
  be useful, but WITHOUT ANY WARRANTY; your use of the
  document is at your sole risk. Reusing and modifying (part of) this
  document is allowed, as long as you state explicitly that your work is
  based on the original document produced by the copyright holder:
  Eueung Mulyana. The author can be contacted via
  eueung-[at]-yahoo.com (http://kakihijau.googlepages.com).


                                                     Introduction to Greenfoot              2
                                               Eueung Mulyana | kakihijau.googlepages.com
Introduction
 „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“
 Designed and implemented at the University of Kent and
  Deakin University
 Copyright held by Poul Henriksen and Michael Koelling
 More information at http://www.greenfoot.org

 Part of the content of these slides is based on the
  Greenfoot Tutorial made by Michael Koelling,
  publicly accesible at the website


                                              Introduction to Greenfoot              3
                                        Eueung Mulyana | kakihijau.googlepages.com
Outline
   Visual Interface
   Creating Objects
   Interaction with Objects
   Removing Objects
   Objects‘ Action
   Simulation „Run“
   Scenario plane
   Scenario turtleGraphics
   Scenario ants
   Scenario lunarlander


                                      Introduction to Greenfoot              4
                                Eueung Mulyana | kakihijau.googlepages.com
Visual Interface (scenario wombats)




                            Introduction to Greenfoot              5
                      Eueung Mulyana | kakihijau.googlepages.com
Visual Interface
 Consists of 3 main parts

 The world
   – The large canvas that covers the majority of the window
   – Has a title e.g. WombatWorld
   – The enviroment („the world“) where objects exist
 Class display
   – Contains all Java classes involved in the scenario
   – 3 groups: World, Actor and other classes
 Execution controls
   – Controls the action of each object: the „Act“ button
   – Controls simulation: „Run“, „Pause“, slider
   – Resets the scenario

                                                    Introduction to Greenfoot              6
                                              Eueung Mulyana | kakihijau.googlepages.com
Creating Objects (1)




 (Left-)Click on the Wombat or Leaf class to make it
  active

 To create and place an object into the world :
   – Activate a class then shift+click somewhere in the World
   – Right-click a class (e.g. Wombat class) to open the class context
     menu, select the „New Wombat()“ item then click somewhere in
     the World

                                                    Introduction to Greenfoot              7
                                              Eueung Mulyana | kakihijau.googlepages.com
Creating Objects (2)




Creating 3 objects and placing             Class
     them into the World               context menu


                                       Introduction to Greenfoot              8
                                 Eueung Mulyana | kakihijau.googlepages.com
Interaction with Objects (1)
                          Methods of an object
                           can directly be invoked
                          „A method is a single
                           action that an object
                           can perform“
                          Right-click on one
                           object to show its
                           (object) context menu,
                           where you can select a
                           method to ask the
                           object to do
                           „something“


   turnleft()   move()            Introduction to Greenfoot              9
                            Eueung Mulyana | kakihijau.googlepages.com
Interaction with Objects (2)

 The world where the wombats live
  (WombatWorld) is actually an
  object, too
 But there may exist only one World
  object at a time
 It functions as a container for Actor
  objects (e.g. Wombat, Leaf etc.)

 Single method invocation is still
  possible for the World object; just
  right-click the title „WombatWorld“
  and select a method from the menu


                                                Introduction to Greenfoot              10
                                          Eueung Mulyana | kakihijau.googlepages.com
Interaction with Objects (3)




populate()         randomLeaves()
                         Introduction to Greenfoot              11
                   Eueung Mulyana | kakihijau.googlepages.com
Interaction with Objects (4)
 A method may have one or more parameters
 You will be requested to give value(s) of the parameter(s)
  when you invoke such a method
 Try the method setDirection() from a Wombat object
  or the method randomLeaves() from the
  WombatWorld

 A method may also return one value (or reference to an
  object) if it is invoked
 Try foundLeaf() or getLeavesEaten() from a Wombat
  object


                                             Introduction to Greenfoot              12
                                       Eueung Mulyana | kakihijau.googlepages.com
Removing Objects (1)
 An object can be removed by selecting item „Remove“
  from the object context menu

 Clicking the „Reset“ button or creating a new World
  object from the class context menu may remove all
  objects; however it actually depends on the constructor
  implementation of the World class  (*)




                                           Introduction to Greenfoot              13
                                     Eueung Mulyana | kakihijau.googlepages.com
Removing Objects (2)




                     Introduction to Greenfoot              14
               Eueung Mulyana | kakihijau.googlepages.com
Objects‘ Action
 Each Actor object has a special method called act()
 Pressing the button „Act“ on the control panel means
  asking Greenfoot to execute act() method for all objects
  in the world

 An object acts by doing „whatever it wants to do“ e.g.:
   – Wombats move forward, if they find a leaf in their path, they will
     eat it
   – Leaves do nothing
 The action depends actually on how act() method is
  defined; that is, we can program object behaviors!!


                                                    Introduction to Greenfoot              15
                                              Eueung Mulyana | kakihijau.googlepages.com
Simulation „Run“
 A scenario can be run by clicking the „Run“ button
 This equivalent to clicking the „Act“ button over and over
  again very quickly
 The slider next to the „Act“ and „Run“ buttons sets the
  „running/simulation“ speed

 Make an experiment with scenario wombats
   – Click „Reset“ if you have already some objects
   – Select Populate() from the WombatWorld menu
   – Click „Run“




                                                  Introduction to Greenfoot              16
                                            Eueung Mulyana | kakihijau.googlepages.com
Simulation „Run“




 Running wombats scenario
                           Introduction to Greenfoot              17
                     Eueung Mulyana | kakihijau.googlepages.com
Scenario plane (1)
 Choose „Open ...“ from the „Scenario“
  menu and select the plane scenario
  from the Greenfoot sample scenarios
 Press the „Compile all“ button, if
  necessary
 Instantiate a Plane object and place
  somewhere in the world
 Run the scenario by pressing „Run“
 Try to drag the ControlKnob object
  and observe the result



                                            Introduction to Greenfoot              18
                                      Eueung Mulyana | kakihijau.googlepages.com
Scenario plane (2)




                    Introduction to Greenfoot              19
              Eueung Mulyana | kakihijau.googlepages.com
Scenario plane (3)




                    Introduction to Greenfoot              20
              Eueung Mulyana | kakihijau.googlepages.com
Scenario turtleGraphics (1)
 Choose „Open ...“ from the „Scenario“ menu and select
  the turtleGraphics scenario from the Greenfoot sample
  scenarios
 Press the „Compile all“ button, if necessary
 Instantiate several turtle objects (CircleTurtle,
  SquareTurtle, FlowerTurtle and SpiralTurtle) and
  place somewhere in the world
 Run the scenario by pressing „Run“
 Observe the result




                                          Introduction to Greenfoot              21
                                    Eueung Mulyana | kakihijau.googlepages.com
Scenario turtleGraphics (2)




                         Introduction to Greenfoot              22
                   Eueung Mulyana | kakihijau.googlepages.com
Scenario ants (1)
 Choose „Open ...“ from the „Scenario“ menu and select
  the ants scenario from the Greenfoot sample scenarios
 Press the „Compile all“ button, if necessary
 By default (standard Greenfoot 1.3 distribution) you will
  have several objects, which are actually formed together
  as the World object is created; these objects are instances
  of the class AntHill and Food; other objects will be
  created „on-the-fly“
 Run the scenario by pressing „Run“
 Observe the result



                                              Introduction to Greenfoot              23
                                        Eueung Mulyana | kakihijau.googlepages.com
Scenario ants (2)




                    Introduction to Greenfoot              24
              Eueung Mulyana | kakihijau.googlepages.com
Scenario lunarlander (1)
 Choose „Open ...“ from the „Scenario“ menu and select
  the lunarlander scenario from the Greenfoot sample
  scenarios
 Press the „Compile all“ button, if necessary
 By default you will have a Lander object, which is
  actually formed together as the World object is created
 Now you are ready to play the game; run the scenario by
  pressing „Run“
 The rocket thrust can be controlled by pressing the
  „down“ key on the keyboard



                                            Introduction to Greenfoot              25
                                      Eueung Mulyana | kakihijau.googlepages.com
Scenario lunarlander (2)




                       Introduction to Greenfoot              26
                 Eueung Mulyana | kakihijau.googlepages.com

Weitere ähnliche Inhalte

Was ist angesagt?

C++ project
C++ projectC++ project
C++ projectSonu S S
 
Python Foundation – A programmer's introduction to Python concepts & style
Python Foundation – A programmer's introduction to Python concepts & stylePython Foundation – A programmer's introduction to Python concepts & style
Python Foundation – A programmer's introduction to Python concepts & styleKevlin Henney
 
JavaScript - Chapter 11 - Events
 JavaScript - Chapter 11 - Events  JavaScript - Chapter 11 - Events
JavaScript - Chapter 11 - Events WebStackAcademy
 
Python 3 Programming Language
Python 3 Programming LanguagePython 3 Programming Language
Python 3 Programming LanguageTahani Al-Manie
 
Lecture 1 introduction to vb.net
Lecture 1   introduction to vb.netLecture 1   introduction to vb.net
Lecture 1 introduction to vb.netMUKALU STEVEN
 
Web development with django - Basics Presentation
Web development with django - Basics PresentationWeb development with django - Basics Presentation
Web development with django - Basics PresentationShrinath Shenoy
 
Python Matplotlib Tutorial | Matplotlib Tutorial | Python Tutorial | Python T...
Python Matplotlib Tutorial | Matplotlib Tutorial | Python Tutorial | Python T...Python Matplotlib Tutorial | Matplotlib Tutorial | Python Tutorial | Python T...
Python Matplotlib Tutorial | Matplotlib Tutorial | Python Tutorial | Python T...Edureka!
 
Variables & Data Types In Python | Edureka
Variables & Data Types In Python | EdurekaVariables & Data Types In Python | Edureka
Variables & Data Types In Python | EdurekaEdureka!
 
Html events with javascript
Html events with javascriptHtml events with javascript
Html events with javascriptYounusS2
 
Basic Concepts in Python
Basic Concepts in PythonBasic Concepts in Python
Basic Concepts in PythonSumit Satam
 
DataFrame in Python Pandas
DataFrame in Python PandasDataFrame in Python Pandas
DataFrame in Python PandasSangita Panchal
 
USER DEFINE FUNCTIONS IN PYTHON
USER DEFINE FUNCTIONS IN PYTHONUSER DEFINE FUNCTIONS IN PYTHON
USER DEFINE FUNCTIONS IN PYTHONvikram mahendra
 

Was ist angesagt? (20)

C++ project
C++ projectC++ project
C++ project
 
Client side scripting and server side scripting
Client side scripting and server side scriptingClient side scripting and server side scripting
Client side scripting and server side scripting
 
Java string handling
Java string handlingJava string handling
Java string handling
 
Python Foundation – A programmer's introduction to Python concepts & style
Python Foundation – A programmer's introduction to Python concepts & stylePython Foundation – A programmer's introduction to Python concepts & style
Python Foundation – A programmer's introduction to Python concepts & style
 
JavaScript - Chapter 11 - Events
 JavaScript - Chapter 11 - Events  JavaScript - Chapter 11 - Events
JavaScript - Chapter 11 - Events
 
django
djangodjango
django
 
Python 3 Programming Language
Python 3 Programming LanguagePython 3 Programming Language
Python 3 Programming Language
 
Lecture 1 introduction to vb.net
Lecture 1   introduction to vb.netLecture 1   introduction to vb.net
Lecture 1 introduction to vb.net
 
Web development with django - Basics Presentation
Web development with django - Basics PresentationWeb development with django - Basics Presentation
Web development with django - Basics Presentation
 
Python Matplotlib Tutorial | Matplotlib Tutorial | Python Tutorial | Python T...
Python Matplotlib Tutorial | Matplotlib Tutorial | Python Tutorial | Python T...Python Matplotlib Tutorial | Matplotlib Tutorial | Python Tutorial | Python T...
Python Matplotlib Tutorial | Matplotlib Tutorial | Python Tutorial | Python T...
 
AtoM Data Migrations
AtoM Data MigrationsAtoM Data Migrations
AtoM Data Migrations
 
Variables & Data Types In Python | Edureka
Variables & Data Types In Python | EdurekaVariables & Data Types In Python | Edureka
Variables & Data Types In Python | Edureka
 
Html events with javascript
Html events with javascriptHtml events with javascript
Html events with javascript
 
Html form tag
Html form tagHtml form tag
Html form tag
 
Introduction to python
 Introduction to python Introduction to python
Introduction to python
 
Basic Concepts in Python
Basic Concepts in PythonBasic Concepts in Python
Basic Concepts in Python
 
DataFrame in Python Pandas
DataFrame in Python PandasDataFrame in Python Pandas
DataFrame in Python Pandas
 
Python programming
Python programmingPython programming
Python programming
 
USER DEFINE FUNCTIONS IN PYTHON
USER DEFINE FUNCTIONS IN PYTHONUSER DEFINE FUNCTIONS IN PYTHON
USER DEFINE FUNCTIONS IN PYTHON
 
Python programming : Standard Input and Output
Python programming : Standard Input and OutputPython programming : Standard Input and Output
Python programming : Standard Input and Output
 

Mehr von Eueung Mulyana

Hyper-Connectivity and Data Proliferation - Ecosystem Perspective
Hyper-Connectivity and Data Proliferation - Ecosystem PerspectiveHyper-Connectivity and Data Proliferation - Ecosystem Perspective
Hyper-Connectivity and Data Proliferation - Ecosystem PerspectiveEueung Mulyana
 
Industry 4.0 And Beyond The A.I* For Surviving A Tech-Accelerated World
Industry 4.0 And Beyond The A.I* For Surviving A Tech-Accelerated WorldIndustry 4.0 And Beyond The A.I* For Surviving A Tech-Accelerated World
Industry 4.0 And Beyond The A.I* For Surviving A Tech-Accelerated WorldEueung Mulyana
 
Blockchain Introduction
Blockchain IntroductionBlockchain Introduction
Blockchain IntroductionEueung Mulyana
 
Bringing Automation to the Classroom: A ChatOps-Based Approach
Bringing Automation to the Classroom: A ChatOps-Based ApproachBringing Automation to the Classroom: A ChatOps-Based Approach
Bringing Automation to the Classroom: A ChatOps-Based ApproachEueung Mulyana
 
FinTech & Cryptocurrency Introduction
FinTech & Cryptocurrency IntroductionFinTech & Cryptocurrency Introduction
FinTech & Cryptocurrency IntroductionEueung Mulyana
 
Open Source Networking Overview
Open Source Networking OverviewOpen Source Networking Overview
Open Source Networking OverviewEueung Mulyana
 
ONOS SDN Controller - Clustering Tests & Experiments
ONOS SDN Controller - Clustering Tests & Experiments ONOS SDN Controller - Clustering Tests & Experiments
ONOS SDN Controller - Clustering Tests & Experiments Eueung Mulyana
 
Open stack pike-devstack-tutorial
Open stack pike-devstack-tutorialOpen stack pike-devstack-tutorial
Open stack pike-devstack-tutorialEueung Mulyana
 
ONOS SDN Controller - Introduction
ONOS SDN Controller - IntroductionONOS SDN Controller - Introduction
ONOS SDN Controller - IntroductionEueung Mulyana
 
OpenDaylight SDN Controller - Introduction
OpenDaylight SDN Controller - IntroductionOpenDaylight SDN Controller - Introduction
OpenDaylight SDN Controller - IntroductionEueung Mulyana
 
Android Programming Basics
Android Programming BasicsAndroid Programming Basics
Android Programming BasicsEueung Mulyana
 
Cloud Computing: Overview and Examples
Cloud Computing: Overview and ExamplesCloud Computing: Overview and Examples
Cloud Computing: Overview and ExamplesEueung Mulyana
 
selected input/output - sensors and actuators
selected input/output - sensors and actuatorsselected input/output - sensors and actuators
selected input/output - sensors and actuatorsEueung Mulyana
 
Connected Things, IoT and 5G
Connected Things, IoT and 5GConnected Things, IoT and 5G
Connected Things, IoT and 5GEueung Mulyana
 
Connectivity for Local Sensors and Actuators Using nRF24L01+
Connectivity for Local Sensors and Actuators Using nRF24L01+Connectivity for Local Sensors and Actuators Using nRF24L01+
Connectivity for Local Sensors and Actuators Using nRF24L01+Eueung Mulyana
 
NodeMCU with Blynk and Firebase
NodeMCU with Blynk and FirebaseNodeMCU with Blynk and Firebase
NodeMCU with Blynk and FirebaseEueung Mulyana
 
Trends and Enablers - Connected Services and Cloud Computing
Trends and Enablers  - Connected Services and Cloud ComputingTrends and Enablers  - Connected Services and Cloud Computing
Trends and Enablers - Connected Services and Cloud ComputingEueung Mulyana
 

Mehr von Eueung Mulyana (20)

FGD Big Data
FGD Big DataFGD Big Data
FGD Big Data
 
Hyper-Connectivity and Data Proliferation - Ecosystem Perspective
Hyper-Connectivity and Data Proliferation - Ecosystem PerspectiveHyper-Connectivity and Data Proliferation - Ecosystem Perspective
Hyper-Connectivity and Data Proliferation - Ecosystem Perspective
 
Industry 4.0 And Beyond The A.I* For Surviving A Tech-Accelerated World
Industry 4.0 And Beyond The A.I* For Surviving A Tech-Accelerated WorldIndustry 4.0 And Beyond The A.I* For Surviving A Tech-Accelerated World
Industry 4.0 And Beyond The A.I* For Surviving A Tech-Accelerated World
 
Blockchain Introduction
Blockchain IntroductionBlockchain Introduction
Blockchain Introduction
 
Bringing Automation to the Classroom: A ChatOps-Based Approach
Bringing Automation to the Classroom: A ChatOps-Based ApproachBringing Automation to the Classroom: A ChatOps-Based Approach
Bringing Automation to the Classroom: A ChatOps-Based Approach
 
FinTech & Cryptocurrency Introduction
FinTech & Cryptocurrency IntroductionFinTech & Cryptocurrency Introduction
FinTech & Cryptocurrency Introduction
 
Open Source Networking Overview
Open Source Networking OverviewOpen Source Networking Overview
Open Source Networking Overview
 
ONOS SDN Controller - Clustering Tests & Experiments
ONOS SDN Controller - Clustering Tests & Experiments ONOS SDN Controller - Clustering Tests & Experiments
ONOS SDN Controller - Clustering Tests & Experiments
 
Open stack pike-devstack-tutorial
Open stack pike-devstack-tutorialOpen stack pike-devstack-tutorial
Open stack pike-devstack-tutorial
 
Basic onos-tutorial
Basic onos-tutorialBasic onos-tutorial
Basic onos-tutorial
 
ONOS SDN Controller - Introduction
ONOS SDN Controller - IntroductionONOS SDN Controller - Introduction
ONOS SDN Controller - Introduction
 
OpenDaylight SDN Controller - Introduction
OpenDaylight SDN Controller - IntroductionOpenDaylight SDN Controller - Introduction
OpenDaylight SDN Controller - Introduction
 
Mininet Basics
Mininet BasicsMininet Basics
Mininet Basics
 
Android Programming Basics
Android Programming BasicsAndroid Programming Basics
Android Programming Basics
 
Cloud Computing: Overview and Examples
Cloud Computing: Overview and ExamplesCloud Computing: Overview and Examples
Cloud Computing: Overview and Examples
 
selected input/output - sensors and actuators
selected input/output - sensors and actuatorsselected input/output - sensors and actuators
selected input/output - sensors and actuators
 
Connected Things, IoT and 5G
Connected Things, IoT and 5GConnected Things, IoT and 5G
Connected Things, IoT and 5G
 
Connectivity for Local Sensors and Actuators Using nRF24L01+
Connectivity for Local Sensors and Actuators Using nRF24L01+Connectivity for Local Sensors and Actuators Using nRF24L01+
Connectivity for Local Sensors and Actuators Using nRF24L01+
 
NodeMCU with Blynk and Firebase
NodeMCU with Blynk and FirebaseNodeMCU with Blynk and Firebase
NodeMCU with Blynk and Firebase
 
Trends and Enablers - Connected Services and Cloud Computing
Trends and Enablers  - Connected Services and Cloud ComputingTrends and Enablers  - Connected Services and Cloud Computing
Trends and Enablers - Connected Services and Cloud Computing
 

Kürzlich hochgeladen

BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024Janet Corral
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 

Kürzlich hochgeladen (20)

BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 

Greenfoot Introduction (1)

  • 1. Introduction To Greenfoot Part-1 kakihijau.googlepages.com
  • 2. Disclaimer  This document is intended to give a beginner an introductory material for the Greenfoot system. Greenfoot is a software framework made by Poul Henriksen and Michael Koelling at University of Kent / Deakin University. More information can be found at http://www.greenfoot.org  This document is available „AS IS“ free of charge for personal use and non-commercial redistribution. It may not be sold for profit or included in other packages which are sold for profit without written authorisation. This document is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; your use of the document is at your sole risk. Reusing and modifying (part of) this document is allowed, as long as you state explicitly that your work is based on the original document produced by the copyright holder: Eueung Mulyana. The author can be contacted via eueung-[at]-yahoo.com (http://kakihijau.googlepages.com). Introduction to Greenfoot 2 Eueung Mulyana | kakihijau.googlepages.com
  • 3. Introduction  „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“  Designed and implemented at the University of Kent and Deakin University  Copyright held by Poul Henriksen and Michael Koelling  More information at http://www.greenfoot.org  Part of the content of these slides is based on the Greenfoot Tutorial made by Michael Koelling, publicly accesible at the website Introduction to Greenfoot 3 Eueung Mulyana | kakihijau.googlepages.com
  • 4. Outline  Visual Interface  Creating Objects  Interaction with Objects  Removing Objects  Objects‘ Action  Simulation „Run“  Scenario plane  Scenario turtleGraphics  Scenario ants  Scenario lunarlander Introduction to Greenfoot 4 Eueung Mulyana | kakihijau.googlepages.com
  • 5. Visual Interface (scenario wombats) Introduction to Greenfoot 5 Eueung Mulyana | kakihijau.googlepages.com
  • 6. Visual Interface  Consists of 3 main parts  The world – The large canvas that covers the majority of the window – Has a title e.g. WombatWorld – The enviroment („the world“) where objects exist  Class display – Contains all Java classes involved in the scenario – 3 groups: World, Actor and other classes  Execution controls – Controls the action of each object: the „Act“ button – Controls simulation: „Run“, „Pause“, slider – Resets the scenario Introduction to Greenfoot 6 Eueung Mulyana | kakihijau.googlepages.com
  • 7. Creating Objects (1)  (Left-)Click on the Wombat or Leaf class to make it active  To create and place an object into the world : – Activate a class then shift+click somewhere in the World – Right-click a class (e.g. Wombat class) to open the class context menu, select the „New Wombat()“ item then click somewhere in the World Introduction to Greenfoot 7 Eueung Mulyana | kakihijau.googlepages.com
  • 8. Creating Objects (2) Creating 3 objects and placing Class them into the World context menu Introduction to Greenfoot 8 Eueung Mulyana | kakihijau.googlepages.com
  • 9. Interaction with Objects (1)  Methods of an object can directly be invoked  „A method is a single action that an object can perform“  Right-click on one object to show its (object) context menu, where you can select a method to ask the object to do „something“ turnleft() move() Introduction to Greenfoot 9 Eueung Mulyana | kakihijau.googlepages.com
  • 10. Interaction with Objects (2)  The world where the wombats live (WombatWorld) is actually an object, too  But there may exist only one World object at a time  It functions as a container for Actor objects (e.g. Wombat, Leaf etc.)  Single method invocation is still possible for the World object; just right-click the title „WombatWorld“ and select a method from the menu Introduction to Greenfoot 10 Eueung Mulyana | kakihijau.googlepages.com
  • 11. Interaction with Objects (3) populate() randomLeaves() Introduction to Greenfoot 11 Eueung Mulyana | kakihijau.googlepages.com
  • 12. Interaction with Objects (4)  A method may have one or more parameters  You will be requested to give value(s) of the parameter(s) when you invoke such a method  Try the method setDirection() from a Wombat object or the method randomLeaves() from the WombatWorld  A method may also return one value (or reference to an object) if it is invoked  Try foundLeaf() or getLeavesEaten() from a Wombat object Introduction to Greenfoot 12 Eueung Mulyana | kakihijau.googlepages.com
  • 13. Removing Objects (1)  An object can be removed by selecting item „Remove“ from the object context menu  Clicking the „Reset“ button or creating a new World object from the class context menu may remove all objects; however it actually depends on the constructor implementation of the World class  (*) Introduction to Greenfoot 13 Eueung Mulyana | kakihijau.googlepages.com
  • 14. Removing Objects (2) Introduction to Greenfoot 14 Eueung Mulyana | kakihijau.googlepages.com
  • 15. Objects‘ Action  Each Actor object has a special method called act()  Pressing the button „Act“ on the control panel means asking Greenfoot to execute act() method for all objects in the world  An object acts by doing „whatever it wants to do“ e.g.: – Wombats move forward, if they find a leaf in their path, they will eat it – Leaves do nothing  The action depends actually on how act() method is defined; that is, we can program object behaviors!! Introduction to Greenfoot 15 Eueung Mulyana | kakihijau.googlepages.com
  • 16. Simulation „Run“  A scenario can be run by clicking the „Run“ button  This equivalent to clicking the „Act“ button over and over again very quickly  The slider next to the „Act“ and „Run“ buttons sets the „running/simulation“ speed  Make an experiment with scenario wombats – Click „Reset“ if you have already some objects – Select Populate() from the WombatWorld menu – Click „Run“ Introduction to Greenfoot 16 Eueung Mulyana | kakihijau.googlepages.com
  • 17. Simulation „Run“ Running wombats scenario Introduction to Greenfoot 17 Eueung Mulyana | kakihijau.googlepages.com
  • 18. Scenario plane (1)  Choose „Open ...“ from the „Scenario“ menu and select the plane scenario from the Greenfoot sample scenarios  Press the „Compile all“ button, if necessary  Instantiate a Plane object and place somewhere in the world  Run the scenario by pressing „Run“  Try to drag the ControlKnob object and observe the result Introduction to Greenfoot 18 Eueung Mulyana | kakihijau.googlepages.com
  • 19. Scenario plane (2) Introduction to Greenfoot 19 Eueung Mulyana | kakihijau.googlepages.com
  • 20. Scenario plane (3) Introduction to Greenfoot 20 Eueung Mulyana | kakihijau.googlepages.com
  • 21. Scenario turtleGraphics (1)  Choose „Open ...“ from the „Scenario“ menu and select the turtleGraphics scenario from the Greenfoot sample scenarios  Press the „Compile all“ button, if necessary  Instantiate several turtle objects (CircleTurtle, SquareTurtle, FlowerTurtle and SpiralTurtle) and place somewhere in the world  Run the scenario by pressing „Run“  Observe the result Introduction to Greenfoot 21 Eueung Mulyana | kakihijau.googlepages.com
  • 22. Scenario turtleGraphics (2) Introduction to Greenfoot 22 Eueung Mulyana | kakihijau.googlepages.com
  • 23. Scenario ants (1)  Choose „Open ...“ from the „Scenario“ menu and select the ants scenario from the Greenfoot sample scenarios  Press the „Compile all“ button, if necessary  By default (standard Greenfoot 1.3 distribution) you will have several objects, which are actually formed together as the World object is created; these objects are instances of the class AntHill and Food; other objects will be created „on-the-fly“  Run the scenario by pressing „Run“  Observe the result Introduction to Greenfoot 23 Eueung Mulyana | kakihijau.googlepages.com
  • 24. Scenario ants (2) Introduction to Greenfoot 24 Eueung Mulyana | kakihijau.googlepages.com
  • 25. Scenario lunarlander (1)  Choose „Open ...“ from the „Scenario“ menu and select the lunarlander scenario from the Greenfoot sample scenarios  Press the „Compile all“ button, if necessary  By default you will have a Lander object, which is actually formed together as the World object is created  Now you are ready to play the game; run the scenario by pressing „Run“  The rocket thrust can be controlled by pressing the „down“ key on the keyboard Introduction to Greenfoot 25 Eueung Mulyana | kakihijau.googlepages.com
  • 26. Scenario lunarlander (2) Introduction to Greenfoot 26 Eueung Mulyana | kakihijau.googlepages.com