@Override
    public void move()
    {
        if (!monster.isHeroNear())
        {
            monster.setState(MonsterStates.HERO_NOT_FOUND);
        }
        else
        {
 
            HeroProd hero = Hero.herotype(HeroType.BOY);
            int heroX = hero.getX();
            int heroY = hero.getY();
            int myX = monster.getX();
            int myY = monster.getY();
            
            if (heroX - myX > 0) //East
            {
                monster.setDirection(Moveable.EAST);
            }
            else if(heroX - myX < 0)
            {
                monster.setDirection(Moveable.WEST);
            }
            if (heroX - myX != 0 && monster.canMove())
            {
                monster.move();
                return;
            }
            
            if (heroY - myY > 0) //SOUTH
            {
                monster.setDirection(Moveable.SOUTH);
            }
            else if(heroY - myY < 0)
            {
                monster.setDirection(Moveable.NORTH); 
            }
            if (heroY - myY != 0 && monster.canMove())
            {
                monster.move();
                return;
            }

        }
    }