I made a frog that is supposed to be replaced by a snake once it eats 5 flies. However, it spawns 2 snakes. Does someone know how to make it so that only 1 snake is created?
Frog:
Snake:
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class Snake here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Snake extends Actor
{
/**
* Act - do whatever the Snake wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
public void act()
{
Actor frog;
frog=getOneObjectAtOffset(0,0,Frog.class);
if(frog!=null)
{World world;
world=getWorld();
world.removeObject(frog);}
if(Greenfoot.isKeyDown("up"))
{move(4);}
if(Greenfoot.isKeyDown("left"))
{turn(-3);}
if(Greenfoot.isKeyDown("right"))
{turn(3);}
}
}
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class Frog here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Frog extends Actor
{
/**
* Act - do whatever the Frog wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
int Flies=5;
public void act()
{
if(Greenfoot.isKeyDown("up"))
{move(4);}
if(Greenfoot.isKeyDown("left"))
{turn(-3);}
if(Greenfoot.isKeyDown("right"))
{turn(3);}
Actor Frog=getOneIntersectingObject(Wall.class);
if(Frog!=null)
{move(-4);}
Actor fly;
fly=getOneObjectAtOffset(0,0,Fly.class);
if(fly!=null)
{World world;
world=getWorld();
world.removeObject(fly);
Flies=Flies-1;
}
if(Flies==0)
{getWorld().addObject(new Snake(), getX(), getY());
}
}
}
