import java.awt.*; public class TestRandomWalker { public static final int STEPS = 500; public static void main(String[] args) { RandomWalker walker = new RandomWalker(); // instantiate Walker object DrawingPanel panel = new DrawingPanel(500, 500); Graphics g = panel.getGraphics(); // advanced features -- center and zoom in the image panel.getGraphics().translate(250, 250); panel.getGraphics().scale(4, 4); // make the walker walk, and draw its movement int prevX = walker.getX(); // initialize Walker display int prevY = walker.getY(); for (int i = 1; i <= STEPS; i++) { g.setColor(Color.BLACK); g.drawLine(prevX, prevY, walker.getX(), walker.getY()); // update Walker display walker.move(); // move Walker 1 step prevX = walker.getX(); // update x value prevY = walker.getY(); // update y value g.setColor(Color.RED); g.drawLine(prevX, prevY, walker.getX(), walker.getY()); // update Walker display int steps = walker.getSteps(); // record Walker steps if (steps % 10 == 0) { System.out.println(steps + " steps"); } panel.sleep(100

EBK JAVA PROGRAMMING
9th Edition
ISBN:9781337671385
Author:FARRELL
Publisher:FARRELL
Chapter11: Advanced Inheritance Concepts
Section: Chapter Questions
Problem 2GZ
icon
Related questions
Question

import java.awt.*;
public class TestRandomWalker {
public static final int STEPS = 500;

public static void main(String[] args) {
RandomWalker walker = new RandomWalker(); // instantiate Walker object

DrawingPanel panel = new DrawingPanel(500, 500);
Graphics g = panel.getGraphics();

// advanced features -- center and zoom in the image
panel.getGraphics().translate(250, 250);
panel.getGraphics().scale(4, 4);

// make the walker walk, and draw its movement
int prevX = walker.getX(); // initialize Walker display
int prevY = walker.getY();
for (int i = 1; i <= STEPS; i++) {
g.setColor(Color.BLACK);
g.drawLine(prevX, prevY, walker.getX(), walker.getY()); // update Walker display

walker.move(); // move Walker 1 step
prevX = walker.getX(); // update x value
prevY = walker.getY(); // update y value

g.setColor(Color.RED);
g.drawLine(prevX, prevY, walker.getX(), walker.getY()); // update Walker display

int steps = walker.getSteps(); // record Walker steps
if (steps % 10 == 0) {
System.out.println(steps + " steps");
}

panel.sleep(100);
}
}
}

 

Classes
1. Define a class named RandomWalker. A RandomWalker object should keep track of its (x, y) location. All
walkers start at the coordinates (0, 0). When a walker is asked to move, it randomly moves either left, right,
up or down. Each of these four moves should occur with equal probability. The resulting behavior is
known as a "random walk." (A 2-dimensional random walk example is pictured at right.)
Each RandomWalker object should have the following public methods. You may add whatever fields or
methods you feel are necessary to implement these methods:
move ()
Instructs this random walker to randomly make one of the 4 possible moves (up, down, left, or right).
getX()
Returns this random walker's current x-coordinate.
getY()
Returns this random walker's current y-coordinate.
getsteps ()
Returns the number of steps this random walker has taken.
Random walks have interesting mathematical properties. For example, given infinitely many steps, a
random walker approaches 100% chance of reaching a particular (x, y) coordinate. To learn more about
random walks, visit http://mathworld.wolfram.com/Random Walk.html .
Test your RandomWalker by running it with the TestRandomWalker test class, found on the Labs section of
the course web site. The TestRandomWalker will run your random walker in a loop and animate its position
as it moves.
E TCSS 142 Drawing Panel
File
Transcribed Image Text:Classes 1. Define a class named RandomWalker. A RandomWalker object should keep track of its (x, y) location. All walkers start at the coordinates (0, 0). When a walker is asked to move, it randomly moves either left, right, up or down. Each of these four moves should occur with equal probability. The resulting behavior is known as a "random walk." (A 2-dimensional random walk example is pictured at right.) Each RandomWalker object should have the following public methods. You may add whatever fields or methods you feel are necessary to implement these methods: move () Instructs this random walker to randomly make one of the 4 possible moves (up, down, left, or right). getX() Returns this random walker's current x-coordinate. getY() Returns this random walker's current y-coordinate. getsteps () Returns the number of steps this random walker has taken. Random walks have interesting mathematical properties. For example, given infinitely many steps, a random walker approaches 100% chance of reaching a particular (x, y) coordinate. To learn more about random walks, visit http://mathworld.wolfram.com/Random Walk.html . Test your RandomWalker by running it with the TestRandomWalker test class, found on the Labs section of the course web site. The TestRandomWalker will run your random walker in a loop and animate its position as it moves. E TCSS 142 Drawing Panel File
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Unreferenced Objects
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
Microsoft Visual C#
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,