Introduction to Programming with Greenfoot Object-Oriented Programming in Java with Games and Simulations

  • ISBN13:


  • ISBN10:


  • Edition: 1st
  • Format: Paperback
  • Copyright: 2009-08-11
  • Publisher: Pearson
  • View Upgraded Edition

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $114.60 Save up to $61.46
  • Buy Used
    Add to Cart Free Shipping


Supplemental Materials

What is included with this book?

  • The Used copy of this book is not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.


Programming doesn't have to be dry and boring. This book teaches programming in an interactive and engaging way that is technically relevant and highly motivational. Using the Greenfoot environment, and an extensive collection of compelling example projects, readers are given a unique, graphical framework in which to learn programming. Greenfoot--an award-winning educational programming environment that uses simulations and games to teach programming skills--is closely integrated into the text, with numerous screenshots and tips, making the book ideal for both instructor-led and independent learning.

The projects discussed in this book are easy enough that high school students can manage them, but they are also open and extendable enough that even seasoned programmers can find interesting and challenging aspects to do.

Getting to know Greenfoot: Objects and classes; Interacting with objects; Return types; Parameters; Greenfoot execution; Source code. Simple Programming: Making an object move; Turning; Dealing with screen edges.

More sophisticated programming--games: Adding random behavior; Creating new methods; Adding new objects; Keyboard control; Ending the game; Adding sound; Adding objects automatically; Creating new objects; Animating images; Greenfoot images; Instance variables (fields); Using actor constructors; Alternating the images; The if/else statement. Sharing your scenarios: Exporting your scenario; Export to application; Export to a web page; Publishing on the Greenfoot Gallery.

Making music: An on-screen piano: Animating the key; Producing the sound; Abstraction: Creating multiple keys; Building the piano; Using loops: the while loop: Using arrays. Interacting objects: Newtons Lab: The starting point: Newtons Lab; Helper classes: Smooth Mover and Vector; The existing Body class; First extension: Creating movement; Using Java library classes; Adding gravitational force; The List type; The for-each loop; Applying gravity; Trying it out; Gravity and music.

Collision detection: Asteroids: Investigation: What is there'; Painting stars; Turning; Flying forward; Colliding with asteroids; Casting; Adding fire power: the proton wave; Growing the wave; Interacting with objects in range; Further development. Creating images and sound: Preparation; Working with sound; Sound recording and editing; Sound file formats and file sizes; Working with images; Image files and file formats; Drawing images; Combining images files and dynamic drawing. Simulations. Additional scenario ideas: Marbles; Lifts; Boids; Circles; Explosion; Breakout; Platform jumper; Wave.

MARKET: For anyone looking for an engaging and accessible way to learn Java programming.

Author Biography

Michael Kölling is a professor at the Computing Laboratory, University of Kent, in Canterbury, UK. He holds a PhD in computer science from Sydney University, and has worked in Australia, Denmark and the UK. Michael’s research interests are in the areas of object-oriented systems, programming languages, software tools, computing education and HCI. He has published numerous papers on object-orientation and computing education topics and is co-author of a Java textbook (Objects First with Java, Pearson Education, 2008.(ISBN 0-13-606086-2). Michael is one of the developers of BlueJ, an educational programming environment, and more recently, the Greenfoot platform. The Higher Education Academy elected Michael as a National Teaching Fellow in 2008.

Table of Contents

Introduction 1


Chapter 1 Getting to know Greenfoot 3

1.1 Getting started 3

1.2 Objects and classes 4

1.3 Interacting with objects 6

1.4 Return types 7

1.5 Parameters 8

1.6 Greenfoot execution 9

1.7 A second example 10

1.8 Understanding the class diagram 10

1.9 Playing with Asteroids 12

1.10 Source code 13

1.11 Summary 15


Chapter 2 The first program: Little Crab 16

2.1 The Little Crab scenario 16

2.2 Making the crab move 18

2.3 Turning 19

2.4 Dealing with screen edges 21

2.5 Summary of programming techniques 25


Chapter 3 Improving the Crab–more sophisticated programming 27

3.1 Adding random behavior 27

3.2 Adding worms 30

3.3 Eating worms 32

3.4 Creating new methods 33

3.5 Adding a Lobster 36

3.6 Keyboard control 36

3.7 Ending the game 38

3.8 Adding sound 40

3.9 Summary of programming techniques 42


Chapter 4 Finishing the crab game 43

4.1 Adding objects automatically 43

4.2 Creating new objects 45

4.3 Animating images 46

4.4 Greenfoot images 47

4.5 Instance variables (fields) 48

4.6 Assignment 49

4.7 Using actor constructors 50

4.8 Alternating the images 52

4.9 The if/else statement 53

4.10 Counting worms 53

4.11 More ideas 55

4.12 Summary of programming techniques 56


Interlude 1 Sharing your scenarios 57

I1.1 Exporting your scenario 57

I1.2 Export to application 57

I1.3 Export to a web page 58

I1.4 Publishing on the Greenfoot Gallery 59


Chapter 5 Making music: An on-screen piano 61

5.1 Animating the key 62

5.2 Producing the sound 65

5.3 Abstraction: Creating multiple keys 66

5.4 Building the piano 68

5.5 Using loops: The while loop 69

5.6 Using arrays 72

5.7 Summary of programming techniques 76


Chapter 6 Interacting objects: Newton’s Lab 78

6.1 The starting point: Newton’s Lab 79

6.2 Helper classes: SmoothMover and Vector 80

6.3 The existing Body class 83

6.4 First extension: Creating movement 85

6.5 Using Java library classes 86

6.6 Adding gravitational force 87

6.7 The List type 90

6.8 The for-each loop 91

6.9 Applying gravity 93

6.10 Trying it out 95

6.11 Gravity and music 97

6.12 Summary of programming techniques 99


Chapter 7 Collision detection: Asteroids 101

7.1 Investigation: What is there? 102

7.2 Painting stars 103

7.3 Turning 106

7.4 Flying forward 107

7.5 Colliding with asteroids 109

7.6 Casting 112

7.7 Adding fire power: The proton wave 115

7.8 Growing the wave 115

7.9 Interacting with objects in range 119

7.10 Further development 121

7.11 Summary of programming techniques 122


Interlude 2 The Greeps competition 123

I2.1 How to get started 124

I2.2 Programming your Greeps 125

I2.3 Running the competition 126

I2.4 Technicalities 126


Chapter 8 Creating images and sound 127

8.1 Preparation 127

8.2 Working with sound 129

8.3 Sound recording and editing 130

8.4 Sound file formats and file sizes 131

8.5 Working with images 133

8.6 Image files and file formats 133

8.7 Drawing images 135

8.8 Combining images files and dynamic drawing 137

8.9 Summary 139


Chapter 9 Simulations 141

9.1 Foxes and rabbits 142

9.2 Ants 145

9.3 Collecting food 146

9.4 Setting up the world 149

9.5 Adding pheromones 149

9.6 Path forming 152

9.7 Summary 152


Chapter 10 Additional scenario ideas 154

10.1 Marbles 154

10.2 Lifts 155

10.3 Boids 156

10.4 Circles 157

10.5 Explosion 158

10.6 Breakout 159

10.7 Platform jumper 160

10.8 Wave 161

10.9 Summary 162



A Installing Greenfoot 163

B Greenfoot API 165

C Collision detection 169

D Some Java details 175


Index 185 

Rewards Program

Customer Reviews

Great guide for a brilliant IDE July 30, 2011
Unlike some of the other game programming book I've read, which can become a chore to finish, this one was a pleasure to read. The textbook teaches real object-oriented programming in Java, and readers will learn a lot about OO programming. The textbook is new, like they stated it would be. Shipping was free as well, which was sweet, and the textbook came within 3 days.
Flag Review
Please provide a brief explanation for why you are flagging this review:
Your submission has been received. We will inspect this review as soon as possible. Thank you for your input!
Introduction to Programming with Greenfoot Object-Oriented Programming in Java with Games and Simulations: 5 out of 5 stars based on 1 user reviews.

Write a Review