SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

Pertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objekPertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objekI Putu Arya Dharmaadi
 
Desain arsitektur
Desain arsitekturDesain arsitektur
Desain arsitekturqwiew
 
Celery의 빛과 그림자
Celery의 빛과 그림자Celery의 빛과 그림자
Celery의 빛과 그림자Minyoung Jeong
 
AngularJS Internal
AngularJS InternalAngularJS Internal
AngularJS InternalEyal Vardi
 
Easy data-with-spring-data-jpa
Easy data-with-spring-data-jpaEasy data-with-spring-data-jpa
Easy data-with-spring-data-jpaStaples
 
OOP - Kelas dan Objek
OOP - Kelas dan ObjekOOP - Kelas dan Objek
OOP - Kelas dan ObjekKuliahKita
 
PHP CRUD Database Mysql
PHP CRUD Database MysqlPHP CRUD Database Mysql
PHP CRUD Database MysqlYusuf A.H.
 
PERT 1 - Citra.ppt
PERT 1 - Citra.pptPERT 1 - Citra.ppt
PERT 1 - Citra.pptssuserbcb591
 
Implementing Virtual Machines in Go & C
Implementing Virtual Machines in Go & CImplementing Virtual Machines in Go & C
Implementing Virtual Machines in Go & CEleanor McHugh
 
Kolaborasi jQuery, AJAX, PHP, dan MySQL
Kolaborasi jQuery, AJAX, PHP, dan MySQLKolaborasi jQuery, AJAX, PHP, dan MySQL
Kolaborasi jQuery, AJAX, PHP, dan MySQLI Putu Arya Dharmaadi
 
아라한사의 스프링 시큐리티 정리
아라한사의 스프링 시큐리티 정리아라한사의 스프링 시큐리티 정리
아라한사의 스프링 시큐리티 정리라한사 아
 
PyCon KR 2018 Effective Tips for Django ORM in Practice
PyCon KR 2018 Effective Tips for Django ORM in PracticePyCon KR 2018 Effective Tips for Django ORM in Practice
PyCon KR 2018 Effective Tips for Django ORM in PracticeSeomgi Han
 
Apostila completa q_gis
Apostila completa q_gisApostila completa q_gis
Apostila completa q_gisrailano
 
Functional Design Patterns (DevTernity 2018)
Functional Design Patterns (DevTernity 2018)Functional Design Patterns (DevTernity 2018)
Functional Design Patterns (DevTernity 2018)Scott Wlaschin
 
Design Patterns in ZK: Java MVVM as Model-View-Binder
Design Patterns in ZK: Java MVVM as Model-View-BinderDesign Patterns in ZK: Java MVVM as Model-View-Binder
Design Patterns in ZK: Java MVVM as Model-View-BinderSimon Massey
 

La actualidad más candente (20)

Pertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objekPertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objek
 
Inheritance
InheritanceInheritance
Inheritance
 
Google Maps JS API
Google Maps JS APIGoogle Maps JS API
Google Maps JS API
 
Desain arsitektur
Desain arsitekturDesain arsitektur
Desain arsitektur
 
Celery의 빛과 그림자
Celery의 빛과 그림자Celery의 빛과 그림자
Celery의 빛과 그림자
 
AngularJS Internal
AngularJS InternalAngularJS Internal
AngularJS Internal
 
Easy data-with-spring-data-jpa
Easy data-with-spring-data-jpaEasy data-with-spring-data-jpa
Easy data-with-spring-data-jpa
 
Memento pattern
Memento patternMemento pattern
Memento pattern
 
OOP - Kelas dan Objek
OOP - Kelas dan ObjekOOP - Kelas dan Objek
OOP - Kelas dan Objek
 
Laporan modul 5 basisdata
Laporan modul 5 basisdataLaporan modul 5 basisdata
Laporan modul 5 basisdata
 
PHP CRUD Database Mysql
PHP CRUD Database MysqlPHP CRUD Database Mysql
PHP CRUD Database Mysql
 
PERT 1 - Citra.ppt
PERT 1 - Citra.pptPERT 1 - Citra.ppt
PERT 1 - Citra.ppt
 
Implementing Virtual Machines in Go & C
Implementing Virtual Machines in Go & CImplementing Virtual Machines in Go & C
Implementing Virtual Machines in Go & C
 
Kolaborasi jQuery, AJAX, PHP, dan MySQL
Kolaborasi jQuery, AJAX, PHP, dan MySQLKolaborasi jQuery, AJAX, PHP, dan MySQL
Kolaborasi jQuery, AJAX, PHP, dan MySQL
 
아라한사의 스프링 시큐리티 정리
아라한사의 스프링 시큐리티 정리아라한사의 스프링 시큐리티 정리
아라한사의 스프링 시큐리티 정리
 
PyCon KR 2018 Effective Tips for Django ORM in Practice
PyCon KR 2018 Effective Tips for Django ORM in PracticePyCon KR 2018 Effective Tips for Django ORM in Practice
PyCon KR 2018 Effective Tips for Django ORM in Practice
 
使用者認證
使用者認證使用者認證
使用者認證
 
Apostila completa q_gis
Apostila completa q_gisApostila completa q_gis
Apostila completa q_gis
 
Functional Design Patterns (DevTernity 2018)
Functional Design Patterns (DevTernity 2018)Functional Design Patterns (DevTernity 2018)
Functional Design Patterns (DevTernity 2018)
 
Design Patterns in ZK: Java MVVM as Model-View-Binder
Design Patterns in ZK: Java MVVM as Model-View-BinderDesign Patterns in ZK: Java MVVM as Model-View-Binder
Design Patterns in ZK: Java MVVM as Model-View-Binder
 

Más de 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
 

Más de 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
 

Último

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
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxRamakrishna Reddy Bijjam
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docxPoojaSen20
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Shubhangi Sonawane
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
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
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxnegromaestrong
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIShubhangi Sonawane
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
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
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
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
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
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
 

Último (20)

INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
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
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
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
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
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
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
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
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
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...
 

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