// generates changes in x and y from specified intervals 	
	
import java.util.*;	
	
public class Step {	
	// attributes and constant 	
	private static final Random DIE = new Random();	
	private int minDeltaX;	
	private int maxDeltaX;	
	private int minDeltaY;	
	private int maxDeltaY;	
	
	// Step(): step generator 	
	public Step(int lx, int ux, int ly, int uy) {	
		minDeltaX = lx;	
		maxDeltaX = ux;	
		minDeltaY = ly;	
		maxDeltaY = uy;	
	}	
	
	// xShift(): returns a pseudorandom value from the x-interval 	
	public int xShift() {	
		int a = getMinX();	
		int b = getMaxX();	
		return DIE.nextInt(b - a + 1) + a;	
	}	
	
	// yShift(): returns a pseudorandom value from the y-interval 	
	public int yShift() {	
		int a = getMinY();	
		int b = getMaxY();	
		return DIE.nextInt(b - a + 1) + a;	
	}	
	
	// getMinX(): minimum change in x-coordinate 	
	public int getMinX() {	
		return minDeltaX;	
	}	
	
	// getMaxX(): maximum change in x-coordinate 	
	public int getMaxX() {	
		return maxDeltaX;	
	}	
	
	// getMinY(): minimum change in y-coordinate 	
	public int getMinY() {	
		return minDeltaY;	
	}	
	
	// getMaxY(): maximum change in y-coordinate 	
	public int getMaxY() {	
		return maxDeltaY;	
	}	
}	
	
