140 likes | 443 Views
A practical introduction to Greenfoot www.greenfoot.org. David Barnes Lecturer in Computer Science University of Kent. Overview. Introducing object-orientation BlueJ The Greenfoot environment Greenfoot scenarios Practical application. Introducing object-orientation.
E N D
A practical introduction to Greenfootwww.greenfoot.org David Barnes Lecturer in Computer Science University of Kent University of Kent
Overview • Introducing object-orientation • BlueJ • The Greenfoot environment • Greenfoot scenarios • Practical application University of Kent
Introducing object-orientation • Building early understanding of key concepts is crucial: • Class • Object • State • Behaviour • Hard to do without tool support – e.g. visualisation. University of Kent
BlueJ • IDE designed specifically for the teaching of introductory object-orientation. • Developed by Michael Kölling. • Good visualisation of key concepts. • Interactivity brings these concepts to life. • Typically used at u/g level. University of Kent
Greenfoot • An environment and framework that supports World+Actor scenarios. • Developed by Michael, and Poul Henriksen. • Provides visually engaging and concrete experiences for pre-University students. • Built on top of BlueJ. University of Kent
A few Greenfoot scenarios • Wombats • Ants • Lifts • Lunar lander University of Kent
Practical application • The framework API • The crab world, by Michael Kölling. • Basic movement. • Actor interaction. • Simulation controls. • Key strokes. • Sound. • Image manipulation. University of Kent
little-crab • You will use the little-crab scenario in the crabworld folder. (Try to ignore the 2, 3, 4 and 5 folders which are cribs!) • We start by using methods inherited from Animal to add movement, edge-detection and turning. University of Kent
Worms • Add a new subclass of Animal. • No behaviour required. • Add random turning to the Crab: • getRandomNumber in Greenfoot • Add Worm detection to the Crab: • getOneObjectAtOffset in Actor • removeObject in World University of Kent
Lobster • Add Lobster as a subclass of Animal. • Copy Crab’s functionality. • Make it hunt crabs rather than worms. • Stop the simulation when a crab is eaten: • stopSimulation in Greenfoot • Variation: stop when the last crab is eaten. University of Kent
Adding sound • Play different sounds when crabs and worms are eaten (see the sounds folder): • playSound in Greenfoot • Setup an initial population: • Use the constructor of CrabWorld. • Change images as the crab moves: • setImage in Actor. University of Kent
Other capabilities • Detecting key presses: • isKeyDown in Greenfoot. • Actor inspection. • Interactive method invocation. • Interactive movement: • setLocation in Actor. • Linking actor interaction (plane scenario). University of Kent
Review • Greenfoot provides a rich environment and framework for scenario creation. • Teachers can build scenarios that are attractive and interesting. • An intermediate implementation layer provides an appropriate abstraction for target groups of students. University of Kent