| Bugs.txt - Notepad 100 |186 100 SOUTH 153 NORTH 127 121 SOUTH

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question
Screen shot please
Sample input/output files:
O Bugs.txt - Notepad
100
186
|127
|135
90
|104
21
49
|138
100
SOUTH
153
NORTH
121
SOUTH
36
EAST
145
NORTH
88
WEST
17
SOUTH
45
WEST
81
SOUTH
NORTH
WEST
120
76
|157
81
148
183
130
38
|124
58
|138
146
|118
46
118
|187
107
30
140
|163
|147
45
|123
167
132
163
2
117
95
|172
|102
71
90
|171
|198
|29
127
157
101
150
EAST
95
EAST
113
WEST
8
SOUTH
EAST
WEST
WEST
125
10
128
11
EAST
123
SOUTH
123
EAST
4
NORTH
65
NORTH
39
WEST
19
EAST
127
NORTH
9
SOUTH
182
NORTH
103
SOUTH
114
EAST
118
EAST
113
NORTH
63
NORTH
150
WEST
162
WEST
139
EAST
82
WEST
130
EAST
25
NORTH
145
NORTH
95
SOUTH
21
NORTH
127
NORTH
NORTH
WEST
NORTH
120
163
8
SOUTH
SOUTH
EAST
4
178
112
185
144
49
Figure 2 Sample input file
Transcribed Image Text:Sample input/output files: O Bugs.txt - Notepad 100 186 |127 |135 90 |104 21 49 |138 100 SOUTH 153 NORTH 121 SOUTH 36 EAST 145 NORTH 88 WEST 17 SOUTH 45 WEST 81 SOUTH NORTH WEST 120 76 |157 81 148 183 130 38 |124 58 |138 146 |118 46 118 |187 107 30 140 |163 |147 45 |123 167 132 163 2 117 95 |172 |102 71 90 |171 |198 |29 127 157 101 150 EAST 95 EAST 113 WEST 8 SOUTH EAST WEST WEST 125 10 128 11 EAST 123 SOUTH 123 EAST 4 NORTH 65 NORTH 39 WEST 19 EAST 127 NORTH 9 SOUTH 182 NORTH 103 SOUTH 114 EAST 118 EAST 113 NORTH 63 NORTH 150 WEST 162 WEST 139 EAST 82 WEST 130 EAST 25 NORTH 145 NORTH 95 SOUTH 21 NORTH 127 NORTH NORTH WEST NORTH 120 163 8 SOUTH SOUTH EAST 4 178 112 185 144 49 Figure 2 Sample input file
Problem:
Bugs are simple creatures that only know how to walk towards other bugs. Bugs maintain
information about their (x, y) position; by which it can tell if they are standing next to other bugs.
Watch the following video: bug movement.
Create a java project that simulate bugs movement. You need to write a class "Bug" that models a
bug moving along a straight line and it can turn to change its direction counterclockwise (i.e. 90
degree to the left; north → west → south → east → north). In each move, its position changes by
one unit in the current direction. Details of the “Bug" class is described below.
Your simulator should read information of an unknown number of “Bug" objects from an input
file called “Bugs.txt". Each line represents a bug and the initial position and facing direction of this
particular bug. Keeping the first bug position as a reference the simulator should move the second
bug next to the first bug forming a cluster and its final position and direction should be stored into
a list. The simulator should then read the third bug and moves it towards either the first or the
second bug, then add its information to the list. The consequent bugs should move next to any bug
in the list (i.e. randomly selected), as soon as it join the cluster its information should be stored in
the list. This process should continue until no bugs remain. Notice that at the end each bug has its
unique position; i.e. no two bugs can stand at exactly the same (x, y) position. When a bug starts
moving, the simulator should randomly select its path vertically or horizontally towards the cluster.
This results different possible bug cluster shapes each time you run the simulator. See the figure 1
below as an example of bug movement simulator resulting a cluster.
g Simulator
Bug Simulator
Original positions
Possible Cluster sample-1
Possible Cluster sample-2
1
Figure 1 Example of bug movement simulator forming a cluster
As soon as the final cluster is formed, your program should display the details of the bug available in
the simulator in an output file “BugsSimulator.txt". Figure 2 and 3 shows a sample input file and the
corresponding possible output files forming different clusters.
Bug Class: a bug has a code, original location at a point with integer coordinates, faces north, east,
south, or west and keeps a record of all its current movement position. The class generate a unique
code for each new “bug" object created starting with value “b-I00". It also includes the following
methods:
A default constructor that initializes bug's code to "b-xxx"; where “xxx" is the next code
sequence number in the class, positions to (0,0), and direction to WEST.
A constructor that is given bug's information: starting location, facing direction and generates
bug code similarly to the default constructor.
Accessor methods to access all the instance variables and the simulated movements of the
bug.
Mutator methods that change the instance variables to given values and they make the change
for only suitable values.
turn method that changes the direction of the bug counterclockwise.
move method that moves the bug by one unit in the direction it is facing.
Transcribed Image Text:Problem: Bugs are simple creatures that only know how to walk towards other bugs. Bugs maintain information about their (x, y) position; by which it can tell if they are standing next to other bugs. Watch the following video: bug movement. Create a java project that simulate bugs movement. You need to write a class "Bug" that models a bug moving along a straight line and it can turn to change its direction counterclockwise (i.e. 90 degree to the left; north → west → south → east → north). In each move, its position changes by one unit in the current direction. Details of the “Bug" class is described below. Your simulator should read information of an unknown number of “Bug" objects from an input file called “Bugs.txt". Each line represents a bug and the initial position and facing direction of this particular bug. Keeping the first bug position as a reference the simulator should move the second bug next to the first bug forming a cluster and its final position and direction should be stored into a list. The simulator should then read the third bug and moves it towards either the first or the second bug, then add its information to the list. The consequent bugs should move next to any bug in the list (i.e. randomly selected), as soon as it join the cluster its information should be stored in the list. This process should continue until no bugs remain. Notice that at the end each bug has its unique position; i.e. no two bugs can stand at exactly the same (x, y) position. When a bug starts moving, the simulator should randomly select its path vertically or horizontally towards the cluster. This results different possible bug cluster shapes each time you run the simulator. See the figure 1 below as an example of bug movement simulator resulting a cluster. g Simulator Bug Simulator Original positions Possible Cluster sample-1 Possible Cluster sample-2 1 Figure 1 Example of bug movement simulator forming a cluster As soon as the final cluster is formed, your program should display the details of the bug available in the simulator in an output file “BugsSimulator.txt". Figure 2 and 3 shows a sample input file and the corresponding possible output files forming different clusters. Bug Class: a bug has a code, original location at a point with integer coordinates, faces north, east, south, or west and keeps a record of all its current movement position. The class generate a unique code for each new “bug" object created starting with value “b-I00". It also includes the following methods: A default constructor that initializes bug's code to "b-xxx"; where “xxx" is the next code sequence number in the class, positions to (0,0), and direction to WEST. A constructor that is given bug's information: starting location, facing direction and generates bug code similarly to the default constructor. Accessor methods to access all the instance variables and the simulated movements of the bug. Mutator methods that change the instance variables to given values and they make the change for only suitable values. turn method that changes the direction of the bug counterclockwise. move method that moves the bug by one unit in the direction it is facing.
Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY