//RandomWalk.java import java.awt.Graphics; import java.awt.Color; import javax.swing.*; public class RandomWalk extends JApplet { int lines; public void init() { String input; input = JOptionPane.showInputDialog("Enter # of steps to take"); lines = Integer.parseInt(input); } public void paint( Graphics g ) { int x1, y1, x2, y2, x, y; int xCenter=400; int yCenter=300; double totalDist=0, avgDist=0, dist; int scale=5; super.paint( g ); //assumes screen area is 800x600 x1 = x2 = xCenter; //start in center y1 = y2 = yCenter; g.setColor(Color.RED); g.fillRect(x1-3,y1-3,5,5); g.setColor(Color.BLACK); for (int i=1; i<=lines; i++) { switch ((int)(Math.random()*4)) { case 0: //up y2 = y1 - scale; break; case 1: //down y2 = y1 + scale; break; case 2: //left x2 = x1 - scale; break; case 3: //left x2 = x1 + scale; break; } g.drawLine(x1,y1,x2,y2); x1 = x2; y1 = y2; x = (x2 - xCenter) / scale; y = (y2 - yCenter) / scale; dist = Math.sqrt(x*x+y*y); totalDist += dist; avgDist = totalDist / i; showStatus("distance from origin: " + dist + " Average distance: " + avgDist); } } }