SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot

Creating Views - oracle database
Creating Views - oracle databaseCreating Views - oracle database
Creating Views - oracle databaseSalman Memon
 
Linux Kernel Development
Linux Kernel DevelopmentLinux Kernel Development
Linux Kernel DevelopmentPriyank Kapadia
 
SQL Functions and Operators
SQL Functions and OperatorsSQL Functions and Operators
SQL Functions and OperatorsMohan Kumar.R
 
File System Hierarchy
File System HierarchyFile System Hierarchy
File System Hierarchysritolia
 
Triggers in plsql
Triggers in plsqlTriggers in plsql
Triggers in plsqlArun Sial
 
Introduction to the Qt Quick Scene Graph
Introduction to the Qt Quick Scene GraphIntroduction to the Qt Quick Scene Graph
Introduction to the Qt Quick Scene GraphICS
 
Declarative UIs with Jetpack Compose
Declarative UIs with Jetpack ComposeDeclarative UIs with Jetpack Compose
Declarative UIs with Jetpack ComposeRamon Ribeiro Rabello
 
Psycopg2 - Connect to PostgreSQL using Python Script
Psycopg2 - Connect to PostgreSQL using Python ScriptPsycopg2 - Connect to PostgreSQL using Python Script
Psycopg2 - Connect to PostgreSQL using Python ScriptSurvey Department
 
Linux operating system - Overview
Linux operating system - OverviewLinux operating system - Overview
Linux operating system - OverviewAshita Agrawal
 
PL/SQL Introduction and Concepts
PL/SQL Introduction and Concepts PL/SQL Introduction and Concepts
PL/SQL Introduction and Concepts Bharat Kalia
 
State of the Art OpenGL and Qt
State of the Art OpenGL and QtState of the Art OpenGL and Qt
State of the Art OpenGL and QtICS
 
Function in PL/SQL
Function in PL/SQLFunction in PL/SQL
Function in PL/SQLPooja Dixit
 
non-strict functions, bottom and scala by-name parameters
non-strict functions, bottom and scala by-name parametersnon-strict functions, bottom and scala by-name parameters
non-strict functions, bottom and scala by-name parametersPhilip Schwarz
 
Alasql fast JavaScript in-memory SQL database
Alasql fast JavaScript in-memory SQL databaseAlasql fast JavaScript in-memory SQL database
Alasql fast JavaScript in-memory SQL databaseAndrey Gershun
 
11 Understanding and Influencing the PL/SQL Compilar
11 Understanding and Influencing the PL/SQL Compilar11 Understanding and Influencing the PL/SQL Compilar
11 Understanding and Influencing the PL/SQL Compilarrehaniltifat
 
Sql joins inner join self join outer joins
Sql joins inner join self join outer joinsSql joins inner join self join outer joins
Sql joins inner join self join outer joinsDeepthi Rachumallu
 
Programación Funcional 101 con Scala y ZIO 2.0
Programación Funcional 101 con Scala y ZIO 2.0Programación Funcional 101 con Scala y ZIO 2.0
Programación Funcional 101 con Scala y ZIO 2.0Jorge Vásquez
 

What's hot (20)

Creating Views - oracle database
Creating Views - oracle databaseCreating Views - oracle database
Creating Views - oracle database
 
Best sql plsql material
Best sql plsql materialBest sql plsql material
Best sql plsql material
 
Linux Kernel Development
Linux Kernel DevelopmentLinux Kernel Development
Linux Kernel Development
 
SQL Functions and Operators
SQL Functions and OperatorsSQL Functions and Operators
SQL Functions and Operators
 
Learning netconf yang from scratch
Learning netconf yang from scratchLearning netconf yang from scratch
Learning netconf yang from scratch
 
File System Hierarchy
File System HierarchyFile System Hierarchy
File System Hierarchy
 
Triggers in plsql
Triggers in plsqlTriggers in plsql
Triggers in plsql
 
Introduction to the Qt Quick Scene Graph
Introduction to the Qt Quick Scene GraphIntroduction to the Qt Quick Scene Graph
Introduction to the Qt Quick Scene Graph
 
Declarative UIs with Jetpack Compose
Declarative UIs with Jetpack ComposeDeclarative UIs with Jetpack Compose
Declarative UIs with Jetpack Compose
 
Psycopg2 - Connect to PostgreSQL using Python Script
Psycopg2 - Connect to PostgreSQL using Python ScriptPsycopg2 - Connect to PostgreSQL using Python Script
Psycopg2 - Connect to PostgreSQL using Python Script
 
Linux operating system - Overview
Linux operating system - OverviewLinux operating system - Overview
Linux operating system - Overview
 
PL/SQL Introduction and Concepts
PL/SQL Introduction and Concepts PL/SQL Introduction and Concepts
PL/SQL Introduction and Concepts
 
State of the Art OpenGL and Qt
State of the Art OpenGL and QtState of the Art OpenGL and Qt
State of the Art OpenGL and Qt
 
Function in PL/SQL
Function in PL/SQLFunction in PL/SQL
Function in PL/SQL
 
non-strict functions, bottom and scala by-name parameters
non-strict functions, bottom and scala by-name parametersnon-strict functions, bottom and scala by-name parameters
non-strict functions, bottom and scala by-name parameters
 
Alasql fast JavaScript in-memory SQL database
Alasql fast JavaScript in-memory SQL databaseAlasql fast JavaScript in-memory SQL database
Alasql fast JavaScript in-memory SQL database
 
11 Understanding and Influencing the PL/SQL Compilar
11 Understanding and Influencing the PL/SQL Compilar11 Understanding and Influencing the PL/SQL Compilar
11 Understanding and Influencing the PL/SQL Compilar
 
Intro to linux
Intro to linuxIntro to linux
Intro to linux
 
Sql joins inner join self join outer joins
Sql joins inner join self join outer joinsSql joins inner join self join outer joins
Sql joins inner join self join outer joins
 
Programación Funcional 101 con Scala y ZIO 2.0
Programación Funcional 101 con Scala y ZIO 2.0Programación Funcional 101 con Scala y ZIO 2.0
Programación Funcional 101 con Scala y ZIO 2.0
 

More from 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
 

More from 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
 

Recently uploaded

Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the ClassroomPooky Knightsmith
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfDr Vijay Vishwakarma
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseAnaAcapella
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...Poonam Aher Patil
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxmarlenawright1
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxPooja Bhuva
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jisc
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxJisc
 
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
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 

Recently uploaded (20)

Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.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
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 

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