We beginnen met het ontwerpen en plaatsen van een plant, in tegenstelling tot vuil komt deze niet vanzelf in de kamer en willen we deze de gebruiken laten plaatsen of verplaatsen.
Later ga je dan zelf nog één of meer meubels toevoegen op een vergelijkbare manier.
Als je een klasse ontwerpt moet je over een aantal zaken nadenken:
- Welke taken (verantwoordelijkhden) moet de klasse krijgen.
- Zijn of komen er andere klassen die (bijna) hetzelfde moeten doen.
- Van daaruit een logische naam voor de klasse.
- Welke methoden moet de klasse krijgen.
Twee belangrijke verantwoordelijkheden zijn dus het tonen van een afbeelding en zorgen dat de Roomba tegen de plant botst (en deze niet opzuigt) zijn eenvoudig te realiseren door de klasse Plant op de juiste manier te maken.
Laten we eerst naar het botsen kijken.
In de klasse Roonba kijkt de Roomba via de methode wegVrij() of er obstakels zijn, je hoeft deze methode niet helemaal te begrijpen er komt wat goniometrie met radialen (uit de wiskunde) in voor. Het idee is dat de Roomba in een halve cirkel rond kijkt of er bbjecten te zien zijn.
Als je kijkt naar het klassendiagram in Greenfoot dan zie je dat bij de meeste Actor Greenfoot al een voorbeeld van de gekoppelde afbeelding weergeeft.
Deze afbeelding kan worden gekoppeld via de methode setImage(bestandsnaam) die de klassen erven van ouderklasse / superklasse Actor maar kan ook direct bij het maken van de klasse worden gekoppeld. Wij zullen hier de laatste methode kiezen.
Belangrijk:
Voor je de afbeelding kunt koppelen dient deze op de juiste plaats en liefst in de juite maat aanwezig te zijn.
Download uit het menu bij 'bijlagen' het PlantenbakBovenaanzicht, het bestand Plant.png opent dan. Het formaat is 100 x 100 pixels, als je zelf afbeeldingen zoekt dan moet je ook het formaat zelf geschikt maken in bijvoorbeeld paint.
Sla je afbeelding op in je Greenfoot project <RoombaVersie2> in de submab <images>.
Nu ben je klaar om je eerste klasse te maken in de volgende paragraaf.