public void moveEnemy(){ // enemy doesn't guess movement but just bounces back
    	int step = 1; //step
    	if (direction ==1){ //up
    		if (MoveEvaluator.isValidMove(this, Types.Move.UP)==true){
    			MoveExecutor.executeMove(this, Types.Move.UP,step);
    		}
    		else {
//    			
//    			if (MoveEvaluator.isValidMove(this, Types.Move.RIGHT)==true){
//    				direction=2;
//    			}
//    			else if (MoveEvaluator.isValidMove(this, Types.Move.LEFT)==true){
//    				direction=-2;
//    			}
//    			else {
    				direction =-1;
//    			}
    		}
    	}
    	else if (direction ==-1){ //down
    		if (MoveEvaluator.isValidMove(this, Types.Move.DOWN)==true){
    			MoveExecutor.executeMove(this, Types.Move.DOWN,step);
    		}
    		else {
//    			if (MoveEvaluator.isValidMove(this, Types.Move.LEFT)==true){
//    				direction=-2;
//    			}
//    			else if (MoveEvaluator.isValidMove(this, Types.Move.RIGHT)==true){
//    				direction=2;
//    			}
//    			else {
    				direction =1;
//    			}
    		}
    	}
    	else if (direction ==2){ //right
    		if (MoveEvaluator.isValidMove(this, Types.Move.RIGHT)==true){
    			MoveExecutor.executeMove(this, Types.Move.RIGHT,step);
    		}
    		else {
//    			if (MoveEvaluator.isValidMove(this, Types.Move.UP)==true){
//    				direction=1;
//    			}
//    			else if (MoveEvaluator.isValidMove(this, Types.Move.DOWN)==true){
//    				direction=-1;
//    			}
//    			else {
    				direction =-2;
//    			}
    		}
    	}
    	if (direction ==-2){ //left
    		if (MoveEvaluator.isValidMove(this, Types.Move.LEFT)==true){
    			MoveExecutor.executeMove(this, Types.Move.LEFT,step);
    		}
    		else {
//    			if (MoveEvaluator.isValidMove(this, Types.Move.DOWN)==true){
//    				direction=-1;
//    			}
//    			else if (MoveEvaluator.isValidMove(this, Types.Move.UP)==true){
//    				direction=1;
//    			}
//    			else {
    				direction =2;
//    			}
    		}
    	}
    }