//Antwoord
//De drie regels met (*) worden aangepast //(1) alle tomatenstapels even groot: //kies aantal tomaten en onthoud in een lokale variabele int aantal = Greenfoot.getRandomNumber(20)+10; TomatoPile tom1 = new TomatoPile(aantal); TomatoPile tom2 = new TomatoPile(aantal); TomatoPile tom3 = new TomatoPile(aantal); int totaal = 3 * aantal; showText("Aantal tomaten is " + totaal ,getWidth()/2,10); //aanpassen //(2)de tomatenstapels hebben mogelijks een verschillend aantal tomaten. //gebruik drie lokale variabelen zodat je ook het totaal aantal tomaten kan berekenen: int aantal1 = Greenfoot.getRandomNumber(20)+10; TomatoPile tom1 = new TomatoPile(aantal1); int aantal2 = Greenfoot.getRandomNumber(20)+10; TomatoPile tom2 = new TomatoPile(aantal2); int aantal3 = Greenfoot.getRandomNumber(20)+10; TomatoPile tom3 = new TomatoPile(aantal3); int totaal = aantal1 + aantal2 + aantal3; showText("Aantal tomaten is " + totaal ,getWidth()/2,10); //aanpassen //Antwoord//In de klasse Earth private int aantalTomaten; //instantievariabele toevoegen //in de methode initEarth() want hier ken je het aantal tomaten dat in de wereld wordt gezet //met de oplossing die gegeven werd is dit heel eenvoudig: aantalTomaten = totaal; //deze lokale variabele bevat reeds het totaal aantal tomaten bij de start. public void minEenTomaat() { aantalTomaten--; showText("Aantal tomaten is " + aantalTomaten ,getWidth()/2,10); if (aantalTomaten == 0) { Greenfoot.stop(); } } //In de klasse Greep - melden dat een tomaat is verdwenen - 2 lijnen code toevoegen op de juiste plaats public void checkShip() { if(isTouching(Ship.class)) { if (carryingTomato()) //enkel als de greep ook een tomaat mee heeft - moet misschien nog toegevoegd worden. { dropTomato(); //meld aan de wereld dat er een tomaat minder is Earth wereld = (Earth) getWorld(); wereld.minEenTomaat(); } } } //Antwoord//Aanpassen van de constructor van Greep public Greep(int looprichting) { turn(looprichting); //setRotation(looprichting); //is even goed } //In de methode initEarth van Earth vervang je de regel (**) door: int hoek = 18*i; //de variabele i wijzigt door de for-lus Greep greepje = new Greep(hoek); // dit kan ook zonder lokale variabelen: Greep greepje = new Greep( 18*i );