subject

You are to write an Ant class to simulate Langton's Ant. In this simulation, a virtual "ant" moves about a two-dimensional square matrix, whose spaces can be designated white or black, according to the rules below:
If the ant is on a white space, it will turn right 90 degrees relative to the directions it is facing, move forward one step, and change the space it left to black.
If the ant is on a black space, it will turn left 90 degrees relative to the directions it is facing, move forward one step, and change the space it left to white.
When the ant hits the edge of the board and is going to go out of the bounds, wrap the board around so the ant will appear on the other side.
The matrix is initially composed of all white spaces. The user will specify the size of the square matrix. The user will also specify the number of steps that the ant will move and the starting location and direction of the ant. After the simulation, the final board with the ant position will be displayed to the console. In this display, the ant is represented by number "8", a black space is represented by the number sign ("#"), and a white space is represented by an underscore ("\_").
Simulation flow:
Your program's main function will collect the user input for the information needed to initialize the simulation. The information to be collected will include:
The number of rows/columns for the square board matrix.
The ant's starting location. This will be collected via user input to ask users to enter an integer number for row and an integer number for the column as the starting position of the ant. For example, if the board is 9X9, and you choose "4,4" as ant's starting location, then the ant will start from the center of the board.
The ant's starting direction, which can be 0 for up, 1 for right, 2 for down, 3 for left.
Main will use the information collected to initialize an Ant object that will be used to run the simulation.
Once the Ant object is initialized, main will collect user input for the number of steps that the simulation will run. When testing, don't choose a very large number when you do the test.
After all the information described above is collected from the user, a function called run_simulation will start the simulation of the Ant movement. For each step, it will...
Increment the step counter;
Use Ant object to store the Ant object's current position and direction on the board;
Move the Ant based on the movement rule;
Change the color of the space on the board the Ant just left.
Once the simulation is finished, display the board by printing it to the console using the print_board function. Here, for the space that is dominated by the Ant, you don't need to display the color. If the step number is 0, print the initial board.
During the development of your program, you could test your code by choosing the step number as 0, 1, 2, 3, etc. to see the results.
Case won't matter for all the messages that your functions return.
Feel free to add whatever other classes, functions, or data members you want. All data members must be private. All functions must have no more than 20-25 lines of code - don't try to get around this by making really long or complicated lines of code.
Here's a very simple example of how your program could be used by the autograder or a TA:
Welcome to Langton's ant simulation!
First, please enter a number no larger than 100 for the size of the square board:
5
Choose the ant's starting location, please enter a number as the starting row number (where 0 is the first row from the top):
0
Please enter a number as the starting column number (where 0 is the first column from the left):
0
Please choose the ant's starting orientation, 0 for up, 1 for right, 2 for down, 3 for left:
2
Please enter the number of steps for the simulation:
3
#___#



8___#

ansver
Answers: 2

Another question on Computers and Technology

question
Computers and Technology, 23.06.2019 00:00
What season was better from fortnite?
Answers: 2
question
Computers and Technology, 23.06.2019 19:00
This question involves a class named textfile that represents a text file. public class textfile { private string filename; private string filename; private arraylist words; // constructors not shown // postcondition: returns the number of bytes in this file public int filesize() { } // precondition: 0 < = index < words.size() // postcondition: removes numwords words from the words arraylist beginning at // index. public void deletewords(int index, int numwords) { } // precondition: 0 < = index < = words.size() // postcondition: adds elements from newwords array to words arraylist beginning // at index. pub lic voidaddwords(int index, string[] newwords) { } // other methods not shown } complete the filesize() method. the filesize() is computed in bytes. in a text file, each character in each word counts as one byte. in addition, there is a space in between each word in the words arraylist, and each of those spaces also counts as one byte. for example, suppose the words arraylist stores the following words: { mary had a little lamb; its fleece was white as snow. } the filesize() method would compute 4 + 3 + 1 + 6 + 5 + 4 + 6 + 3 + 5 + 2 + 5 as the sum of the lengths of each string in the arraylist. the value returned would be this sum plus 10, because there would also be 10 spaces in between the 11 words. complete the filesize() method below: // postcondition: returns the number of bytes in this file public int filesize() { }
Answers: 1
question
Computers and Technology, 24.06.2019 12:10
What is it called during the editing process when the processor ensures that a character holding a coffee mug from one angle is holding the same mug in the same way when the shot switches to another camera at another angle? cinematography continuity technology prop use
Answers: 1
question
Computers and Technology, 24.06.2019 15:50
Subscribe to j p g a m e t u b e on you tube ?
Answers: 2
You know the right answer?
You are to write an Ant class to simulate Langton's Ant. In this simulation, a virtual "ant" moves...
Questions
question
Mathematics, 25.06.2021 05:40
question
Law, 25.06.2021 05:40
question
Mathematics, 25.06.2021 05:40
question
Mathematics, 25.06.2021 05:40
question
Law, 25.06.2021 05:40
question
Health, 25.06.2021 05:40
question
Mathematics, 25.06.2021 05:50