Computers and Technology
Computers and Technology, 20.08.2021 04:20, tlecuyer

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___#

answer
Answers: 2

Other questions on the subject: Computers and Technology

image
Computers and Technology, 22.06.2019 09:00, sabahfayaskhan
Which best describes the condition under which the unicode output is the same as plain text?
Answers: 3
image
Computers and Technology, 22.06.2019 17:50, ImBADatmath8743
Farah works in an office with two other employees. all three share a printer and an internet connection. the utility that makes this possible is defragger quicktime soho winzip
Answers: 1
image
Computers and Technology, 23.06.2019 01:10, kristofwr3444
Are special combinations of keys that tell a computer to perform a command. keypads multi-keys combinations shortcuts
Answers: 1
image
Computers and Technology, 23.06.2019 06:30, Knownothing
When early motion pictures played in movie theaters, they were often accompanied by live organ or piano music. which of the following are the most likely reasons that this happened? (select all that apply). the music was provided to distract audience members from the loud sounds made when filmstrips were changed. the music accompanied the movies because the movies were silent and audiences were used to hearing music during plays in theaters. the music usually was played before, and sometimes after the movie, as an alternative form of entertainment. the music viewers to interpret the dramatic action in the films.
Answers: 2
Do you know the correct answer?
You are to write an Ant class to simulate Langton's Ant. In this simulation, a virtual "ant" moves...

Questions in other subjects: