protected ArrayList<Location> getMoveLocations()
    {
        ArrayList<Location> moveLocs = new ArrayList<Location>();
        int facingDirection = getDirection();
        Location loc = getLocation();
        
        //Find and test all locations half left, in front, and half right of location of this
        for(int moveDirection = facingDirection + Location.HALF_LEFT;
        	moveDirection <= facingDirection + Location.HALF_RIGHT;
        	moveDirection += Location.HALF_RIGHT)
        {
            Location testLoc = loc.getAdjacentLocation(moveDirection);
            if(canInOneStepMoveFromTo(getLocation(), testLoc))
                moveLocs.add(testLoc);
        }
        
        return moveLocs;
    }