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

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
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
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education