This site requires JavaScript, please enable it in your browser!
Greenfoot back
avery
avery wrote ...

2019/8/25

appearing objects

1
2
avery avery

2019/8/29

#
what is wrong with my program?
 public void act()
    {
        int randomNumber = Greenfoot.getRandomNumber(30);
        if(randomNumber == 15)
        {
            int randomX = Greenfoot.getRandomNumber(1100);
            int getY = 0;
            addObject(eggpudding, randomX, 0);
        }
        
        if(randomNumber == 15)
        {
            int randomX = Greenfoot.getRandomNumber(1100);
            int getY = 0;
            addObject(gelatin, randomX, 0);
        }
       
        if(randomNumber == 15)
        {
            int randomX = Greenfoot.getRandomNumber(1100);
            int getY = 0;
            addObject(milk, randomX, 0);
        }
        
        if(randomNumber == 15)
        {
            int randomX = Greenfoot.getRandomNumber(1100);
            int getY = 0;
            addObject(leaf, randomX, 0);
        }
        
        time++;
        if(time % 900 == 0)
        {
              Greenfoot.setWorld(new u1());

        }
    }
        
danpost danpost

2019/8/29

#
avery wrote...
what is wrong with my program? << Code Omitted >>
You cannot add an actor into a world that it is already in. If you want to add new actors, you need to create new actors. Your code above can be written as:
public void act()
{
    if (Greenfoot.getRandomNumber(30) ==15)
    {
        addObject(new eggpudding(), Greenfoot.getRandomNumber(1100), 0);
        addObject(new gelatin(), Greenfoot.getRandomNumber(1100), 0);
        addObject(new milk(), Greenfoot.getRandomNumber(1100), 0);
        addObject(new leaf(), Greenfoot.getRandomNumber(1100), 0);
    }
    if (++time == 900) Greenfoot.setWorld(new u1());
}
You need to login to post a reply.
1
2