import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class Florin2 here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Florin2 extends Animal
{
/**
* Act - do whatever the Florin2 wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
private int speed = 2;
private int level;
public Florin2()
{
level = 1;
}
public void act()
{
checkKeys();
tryToSeeLift();
}
private void checkKeys()
{
if (Greenfoot.isKeyDown("left") )
{
moveLeft();
}
if (Greenfoot.isKeyDown("right") )
{
moveRight();
}
if (Greenfoot.isKeyDown("up") )
{
moveUp();
}
if (Greenfoot.isKeyDown("down") )
{
moveDown();
}
}
public void moveRight()
{
setLocation ( getX() + speed, getY() );
}
public void moveLeft()
{
setLocation ( getX() - speed, getY() );
}
public void moveUp()
{
setLocation(getX(), getY() - speed);
}
public void moveDown()
{
setLocation(getX(), getY() + speed);
}
public void tryToSeeLift()
{
if (canSee(Lift.class) )
{
checkNextLevel();
}
}
private void checkNextLevel()
{
Wall wl = new Wall();
if (getX() == getWorld().getWidth()-1) {
if (level == 1) {
level = 2;
getWorld().removeObject(this);
Wall2 wl2 = new Wall2();
Greenfoot.setWorld(wl);
}
else
if(getY() >= 398){
if(level == 2){
level = 3;
getWorld().removeObject(this);
Wall3 wl3 = new Wall3();
Greenfoot.setWorld(wl3);
}else if (level == 3){
level = 4;
getWorld().removeObject(this);
Wall4 wl4 = new Wall4();
Greenfoot.setWorld(wl4);
}else if (level == 4){
getWorld().removeObject(this);
Greenfoot.setWorld(wl);
Greenfoot.stop();
}
}
}
}
}