I'm letting object spawn randomly at 8 different positions and I want to give them a number depending on where they spawn. This is my code:
Int beurt is declared in a higher class. When the object gets to a certain position, I want it to be removed, beurt to be increased, and the object that has the number that is equal to beurt to follow the same steps. But for now I get
"java.lang.IllegalStateException: Actor not in world. An attempt was made to use the actor's location while it is not in the world. Either it has not yet been inserted, or it has been removed."
public void vuller() { int random = 0; for(int r7 = 0; r7 <2; r7++) { for (int k7 = 0; k7 < 4; k7++) { random = Greenfoot.getRandomNumber(10); if (random < 2) { Krat krat = new Krat(); addObject(krat, k7 + 2, r7 + 1); } } } }
public void remover() { removeObjects(getObjectsAt(7,6,Krat.class)); return; }
public class Krat extends Beurten { boolean position = false; int nummer = 0; int Xplaats = getX(); int Yplaats = getY(); public void act() { bepaalnummer(); while(beurt == nummer) { if(getX() != 3 && getY() !=4 && position == false) { turnTowards(3, 4); move(1); } else if( getX() == 3 && getY() == 4 || getY() !=6) { turnTowards(3, 6); move(1); position = true; } else if(getX() == 7 && getY() == 6) { beurt++; if (beurt == 9) { beurt = 1; ((Practicum)getWorld()).vuller(); } ((Practicum)getWorld()).remover(); } else { turnTowards(7,6); move(1); } } } public void bepaalnummer() { if (Yplaats == 1) { switch(Xplaats) { case 2: nummer = 1; break; case 3: nummer = 2; break; case 4: nummer = 3; break; case 5: nummer = 4; break; } } else if (Yplaats == 2) { switch(Xplaats) { case 2: nummer = 5; break; case 3: nummer = 6; break; case 4: nummer = 7; break; case 5: nummer = 8; break; } } } public void bepaalleeg() { switch(nummer) { case 1: if(getWorld().getObjectsAt(2, 1, Krat.class).isEmpty()) { beurt++; }; break; case 2: if(getWorld().getObjectsAt(3, 1, Krat.class).isEmpty()) { beurt++; }; break; case 3: if(getWorld().getObjectsAt(4, 1, Krat.class).isEmpty()) { beurt++; }; break; case 4: if(getWorld().getObjectsAt(5, 1, Krat.class).isEmpty()) { beurt++; }; break; case 5: if(getWorld().getObjectsAt(2, 2, Krat.class).isEmpty()) { beurt++; }; break; case 6: if(getWorld().getObjectsAt(3, 2, Krat.class).isEmpty()) { beurt++; }; break; case 7: if(getWorld().getObjectsAt(4, 2, Krat.class).isEmpty()) { beurt++; }; break; case 8: if(getWorld().getObjectsAt(5, 2, Krat.class).isEmpty()) { beurt++; }; break; } } }