chapter 1 - getting to know greenfoot acknowledgement: michael kolling & bruce chittenden

49
Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Upload: roy-barton

Post on 18-Dec-2015

223 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Chapter 1 - Getting to know Greenfoot

Acknowledgement: Michael Kolling & Bruce Chittenden

Page 2: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Greenfoot Resources• Web site

– http://www.greenfoot.org• Scenarios

– http://www.greenfoot.org/scenarios/index.html

• Tutorial– http://www.greenfoot.org/doc/tutor

ial.html

• Book: Introduction to Programming with Greenfoot by Michael Kölling

Page 3: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Desktop Icon

Page 4: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

1.1 Getting Started

World

ClassDiagram

ExecutionControls

Page 5: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

World

• A Finite space where our program runs.

• Space where we can introduce some actors

• Allow actors to Interact

Page 6: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Class Diagram

• Shows Classes involved in the scenario

• Classes define general characteristics or behavior of a group

• Characteristics that are easily differentiable

• Is-A- Relationship

• Subclass relationship

Diagram contains Boxes called Class boxes

• WombatWorld is a subclass of World

• Wombat is a subclass for Actor

• Leaf is a subclass of Actor• Leaf is not a subclass of

Wombat• Actor is the super class of

Leaf and Wombat

Page 7: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Class Hierarchy

Teacher Student

Humans

Mammals food()drink()

think()react()

enroll ()study()

submit_Assignments()

teach ()evaluate()

prepare_Assignments()

Page 8: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

1.2 Objects and Classes

Right Click on Wombat

Click New Wombat()

Drag to World

Page 9: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Multiple Objects

• We can create multiple instances of same class

Page 10: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.1

Page 11: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

1.3 Interacting with Objects

• Wombat has certain function of its own

• And Certain function inherited from Actor class

Page 12: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Interacting with Objects

Invoke the Move method

Right Click on the Wombat

Page 13: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

1.4 Return Types

Page 14: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.3

Page 15: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.3

Page 16: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.4

Page 17: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

1.5 Parameters

Page 18: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.5

Page 19: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.5

Page 20: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.5

1

3

2

0

Page 21: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.5

Parameter > 3 Does Nothing

Page 22: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.5

Non-Integer Returns Error

Page 23: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

1.6 Greenfoot Execution

Page 24: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.6

Page 25: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.6

Wombat Moves toward the Leaves

Page 26: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.6

Wombat Moves to Leaves

Page 27: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Example 1.7

Wombat Eats Leaf

Page 28: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.8

Page 29: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.8

The >Act Execution Control Affects All the Wombats

Page 30: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.9

Wombat Runs Around the Edge of the World

Page 31: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.9

• Act Method– If we’re sitting on a leaf, eat the leaf– Otherwise, if we can move forward, move forward– Otherwise, turn left

Page 32: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

1.7 A Second Example

Page 33: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

1.8 Understanding the Class Diagram

World Class is always there in Greenfoot scenarios, it is built-in. Space represents a specific world for this scenario

Arrows show relationships

Explosion and Mover are subclasses of Actor

Bullet, Rocket, and Asteroid are subclasses of Mover.

Vector is a helper class

Page 34: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

1.9 Playing with Asteroids

Start Playing by Creating Some Actor Objects (Objects of the Subclass of Actor). Create Objects for Rocket, Bullet, Asteroid, and Explosion

Page 35: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.10

Right Click on the Object

Page 36: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.10

Click on setGunReloadTime and Type 5

Page 37: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.11

Right Click on the Object and Select Inspect

Page 38: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.11

Right Click on the Object and Select Inspect

Page 39: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.12

Right Click on the Object and Select getSpeed ( )

Page 40: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.12

Page 41: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.13

Page 42: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.14

Right Click on the Object and Select setSize(int Size) and Set the Size to 256

Page 43: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

1.10 Source Code

Right Click on the Class and Select Open editor

Page 44: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Source Code for Rocket

Page 45: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.15

Change gunReloadTime from 20 to 5

Page 46: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.15

Page 47: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Exercise 1.15

Class Changed Class Compiled

Page 48: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

1.11 SummaryIn this chapter, we have seen what Greenfoot scenarios can look like and how to interact with them. We have seen how to create objects and how to communicate with these objects by invoking their methods. Some methods are commands to objects, while other methods return information about the object. Parameters are used to provide additional information to methods, while return values pass information back to the caller.

Page 49: Chapter 1 - Getting to know Greenfoot Acknowledgement: Michael Kolling & Bruce Chittenden

Concept Summary