Tips bij Opdracht 8: Submarine

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

Tips bij Opdracht 8: Submarine

Bericht door admin » 16-02-2017 10:45

Er zijn al methodedefinities aanwezig in de klasse van de Submarine die ervoor zorgen dat de Sub naar boven of onder beweegt. Het zijn moveUp en moveDown. Bekijk ze.

Nu moet je ervoor zorgen dat dat gebeurt met de Greenfoot.isKeyDown("up") en de Greenfoot.isKeyDown("down").
Dat heb je eerder bij de Cat gedaan (Onderwerp 3)

Maar nu moet je een aparte methodedefinitie maken en deze methode moet checkKeyboard heten. (zoals aangegeven bij de opdracht)
Vervolgens moet je die methode aanroepen vanuit de act-methode.

Je begint dus bij de klasse sub met

public void checkKeyboard()
{
}

Bedenk dat dit een zelfverzonnen naam is. Je mag het ook 'controleerToetsenbord' noemen.

Binnen deze {} ga je nu de Greenfoot.isKeyDown("up") en de Greenfoot.isKeyDown("down") gebruiken met een if-statement

Het komt er dan zo uit te zien:


/**
* Controleer of pijltje omhoog of omlaag wordt ingedrukt
*/

public void checkKeyboard ()
{
ALS de pijltjeomlaag-toets wordt gebruikt:
{
beweeg omlaag
}
ALS de pijltjeomhoog-toets wordt gebruikt:
{
beweeg omhoog
}
}

Als deze methodedefinitie klaar is, ga je deze aanroepen vanuit de act.

De Submarine moet horizontaal blijven bewegen, maar als je op pijltje omhoog drukt, moet hij tegelijk wat omhoog bewegen (geldt ook voor omlaag).

Je krijgt dus 2 bewegingen in de act:

/**
* Doe wat de Sub moet doen
*/
public void act()
{
move();
if (atWorldEdge())
{
turnAround();
Greenfoot.playSound ("turnAround.wav");
}
checkKeyboard();
}




NB: de {{{{ staan in dit bericht allemaal op 1 lijn, ondanks dat ik ze heb laten inspringen. Dat heeft met het forum te maken.

Plaats reactie