So in my project the Ghost will be rotated at some point but on the given points their image shouldn't rotate.
import greenfoot.*;
public class ghost extends Actor
{
public ghost()
{
getImage().scale(getImage().getWidth() / 2 , getImage().getHeight() / 2 );
}
public void act()
{
moveAround();
}
public boolean hitWall()
{
if (isTouching (walls.class))
{
return true;
}
else
{
return false;
}
}
public void moveAround()
{
move(2);
if(getX() == 1216 && getY() == 184 || getX() == 978 && getY() == 104 || getX() == 770 && getY() == 608 || getX() == 628 && getY() == 702 || getX() == 872 && getY() == 56 || getX() == 506 && getY() == 624 || getX() == 874 && getY() == 504 || getX() == 528 && getY() == 226 || getX() == 424 && getY() == 416 || getX() == 320 && getY() == 56) //links,unten
{
if (Greenfoot.getRandomNumber(2) == 1)
{
setRotation(180);
getImage().rotate(0);
}
else
{
setRotation(90);
getImage().rotate(0);
}
}
if(getX() == 972 && getY() == 546 || getX() == 972 && getY() == 288 || getX() == 768 && getY() == 56 || getX() == 746 && getY() == 226 || getX() == 424 && getY() == 226 || getX() == 136 && getY() == 56 || getX() == 136 && getY() == 568) //rechts, unten
{
if (Greenfoot.getRandomNumber(2) == 1)
{
setRotation(90);
getImage().rotate(0);
}
else
{
setRotation(0);
}
}
if(getX() == 1216 && getY() == 546 || getX() == 972 && getY() == 624 || getX() == 874 && getY() == 674 || getX() == 768 && getY() == 120 || getX() == 872 && getY() == 226 || getX() == 320 && getY() == 672 || getX() == 528 && getY() == 504 || getX() == 424 && getY() == 312 || getX() == 320 && getY() == 672) //links, oben
{
if (Greenfoot.getRandomNumber(2) == 1)
{
setRotation(270);
getImage().rotate(0);
}
else
{
setRotation(180);
getImage().rotate(0);
}
}
if(getX() == 978 && getY() == 184 || getX() == 972 && getY() == 440 || getX() == 628 && getY() == 674 || getX() == 770 && getY() == 674 || getX() == 746 && getY() == 504|| getX() == 424 && getY() == 504 || getX() == 136 && getY() == 160 || getX() == 136 && getY() == 672) //rechts, oben
{
if (Greenfoot.getRandomNumber(2) == 1)
{
setRotation(270);
getImage().rotate(0);
}
else
{
setRotation(0);
}
}
if(getX() == 872 && getY() == 104 || getX() == 874 && getY() == 624 || getX()== 746 && getY() == 360 || getX()== 320 && getY() == 608 || getX()== 528 && getY() == 472 || getX()== 528 && getY() == 256 || getX() == 320 && getY() == 416 || getX() == 320 && getY() == 120 || getX() == 320 && getY() == 312) //rechts, oben, unten
{
if (Greenfoot.getRandomNumber(3) == 1)
{
setRotation(270);
getImage().rotate(0);
}
else if (Greenfoot.getRandomNumber(3) == 2)
{
setRotation(0);
}
else
{
setRotation(90);
getImage().rotate(0);
}
}
if(getX() == 1216 && getY() == 288 || getX() == 1216 && getY() == 440 || getX() == 972 && getY() == 360 || getX() == 746 && getY() == 472 || getX() == 746 && getY() == 256 || getX() == 320 && getY() == 160 || getX() == 320 && getY() == 568) //links, oben, unten
{
if (Greenfoot.getRandomNumber(3) == 1)
{
setRotation(270);
getImage().rotate(0);
}
else if (Greenfoot.getRandomNumber(3) == 2)
{
setRotation(180);
getImage().rotate(0);
}
else
{
setRotation(90);
getImage().rotate(0);
}
}
if(getX() == 632 && getY() == 608 || getX() == 632 && getY() == 256) //links, rechts, oben
{
if (Greenfoot.getRandomNumber(3) == 1)
{
setRotation(270);
getImage().rotate(0);
}
else if (Greenfoot.getRandomNumber(3) == 2)
{
setRotation(180);
getImage().rotate(0);
}
else
{
setRotation(0);
}
}
if(getX() == 632 && getY() == 472 || getX() == 632 && getY() == 120) //links, rechts, unten
{
if (Greenfoot.getRandomNumber(3) == 1)
{
setRotation(90);
getImage().rotate(0);
}
else if (Greenfoot.getRandomNumber(3) == 2)
{
setRotation(180);
getImage().rotate(0);
}
else
{
setRotation(0);
}
}
}
}
