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. E Bug Simulator 4 Bug Simulator E Bug Simulator Original positions Possible Cluster sample-1 Possible Cluster sample-2 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.
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. E Bug Simulator 4 Bug Simulator E Bug Simulator Original positions Possible Cluster sample-1 Possible Cluster sample-2 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.
Chapter2: Using Data
Section: Chapter Questions
Problem 1GZ
Related questions
Question
Expert Solution
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
Step by step
Solved in 2 steps with 1 images
Recommended textbooks for you
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781305480537
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781305480537
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage