//Antwoord
//parameters toegevoegd voor de positie van de greeps - je kan ook in deze methode de plaats van het schip opzoeken public void addGreeps(int x, int y) { //De greeps vertrekken vanuit het ruimteschip for(int i=1 ; i<=20 ; i++){ Greep greepje = new Greep( 18*i ); addObject(greepje,x,y); } } public void addShip(){ int x = Greenfoot.getRandomNumber(getWidth()); int y = Greenfoot.getRandomNumber(getHeight()); while (isWater(x,y)){ y = Greenfoot.getRandomNumber(getHeight()); } Ship ruimteschip = new Ship(); //(1) addObject(ruimteschip,x,20); //bovenaan het scenario, wel zichtbaar //geen greeps toevoegen } //in de klasse Ship private int yMax; public Ship(int targetPosition) { yMax = targetPosition; } //hierdoor moet je overal new Ship() vervangen door new Ship(0); //in de methode addShip wordt (1) Ship ruimteschip = new Ship(y); //de eindpositie wordt doorgegeven via de constructor //gedrag - voeg een instantievariabele toe: private boolean greepsAdded=false; public void act() { if (getY() < yMax){ setLocation(getX(),getY()+1); } else { if(! greepsAdded) { Earth aarde = (Earth)getWorld(); aarde.addGreeps(getX(),getY()); greepsAdded=true; } } }