Tips bij Opdracht 6 (Cirkels)

Plaats reactie
admin
Site Admin
Berichten: 39
Lid geworden op: 01-02-2017 08:45

Tips bij Opdracht 6 (Cirkels)

Bericht door admin » 16-02-2017 09:53

Je hebt geen turn() tot je beschikking, maar als je in de klasse Cirkel kijkt zie je wel een methode 'draai' staan.

Verder zie je in deze klasse dat er een public boolean bijRandWereld () is.
Die ziet er ingewikkeld uit, maar je weet wat ie uiteindelijk doet: controleren of een object in deze klasse bij het einde van de wereld is.

Met deze twee methoden kun je b en c doen. Het bewegen van alle cirkels kun je NIET in de klasse Cirkel doen: er zijn immers geen objecten van die klasse in de wereld. Je zult dus de beweeg() aan elke subklasse van Cirkel moeten toevoegen.

Bij c. wordt het voor de groene cirkel dan:

public void act()
{
beweeg();
if (bijRandWereld ())
{
draai(-135);
}
}

Doe b zelf.

Bij d. ben je geneigd om 'raaktCirkel' te gebruiken. Maar hoe zorg je er dan voor dat de rode cirkel tijdelijk stopt?
Daar kwam ik zo snel niet achter, totdat ik zag dat er ook een raaktGeenCirkel is. Dus draai het verhaal om: gebruik deze methode om de rode cirkel te laten bewegen zolang hij geen andere cirkel raakt.

Bij e. Krijg je bij de gele cirkel 2x een if statement:

ALS een gele cirkel een andere cirkel raakt, controleer dan of die andere cirkel geel is. ALS dat het geval is, dan transparanter maken.
Je maakt daarbij gebruik van deze 3 methode-aanroepen:
raaktCirkel()
raaktGelijkeCirkel()
en
maakTransparanter()


En je krijgt dus een if binnen een if. Dat heb je al eerder gehad.

Plaats reactie