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.