Question: C# Program 1 Overview The Logo programming language introduced the concept of turtle graphics . In this assignment you will implement a simple GUI- based
C# Program
1 Overview
The Logo programming language introduced the concept of turtle graphics. In this assignment you will implement a simple GUI- based turtle graphics interpreter.
2 Background
Suppose that you have a robot turtle that walks around a room under the control of a computer program. The turtle holds a pen that can be in one of two positions: up or down. When the turtle's pen is down, it traces out a shape on the floor of the room and while the pen is up, the turtle moves around freely without writing anything.
Assume that floor of the room is divided up into a set of tiles. The user can input the number of tiles on the command-line when they start the program. If no input is provided, then we assume that the floor is divided into a 100-by-100 grid of tiles. You program needs to read commands from the standard input and then feed the commands to the turtle. You need to keep track of the current position of the turtle and the state of the pen.
The tiles are numbered in rows and columns with the row numbers and column numbers both starting at 0. Assume that your turtle starts in the tile numbered (0,0) and that its pen is in the up position. All tiles are blank when the program starts. This means that each tile has their state set to 0. If the turtle has marked a tile, then the state of that tile is set to 1.
Each command is identifed by a number and some commands can have a single parameter. Commands are defined as follows:
| COMMAND | MEANING |
|---|---|
| 1 | Pen Up |
| 2 | Pen Down |
| 3 | Turn Right |
| 4 | Turn Left |
| 5,x | Move forward by x number of spaces |
| 6 | Refresh the floor grid |
| 7 | Clear the grid |
| 9 | Terminate program |
When the turtle is given 6 command, you will need to re-write the contents of the floor grid to match the grid. On a 7 command, you should clear the grid of tiles by setting all tile values to 0.
3 Problem 1: Turtle graphics
Implement an application that allows one to manipulate the turtle per the requirements in the Background section using Windows Presentations Forms GUI. The application needs to have a single form divided into three panels: (1) Drawing Canvas: a panel with a drawing canvas on the upper left side of the form that represents the floor where the turtle is drawing, (2) Turtle State: a list view in the upper right panel that shows the current state of the turtle, and (3) Command List: a button panel on the bottom third of the form that contains a row of buttons, one button for each of the commands.
The Turtle State panel needs to display the turtle's current location and the pen status. This can be shown using any of the user interface controls provided in the WPF toolbox. You will need to include a text box that shows a transcript of commands that the user has entered during the application session. The user should be able to scroll up and down within this transcript.
For the "Move" command, you should display a message box containing a text field where the user can input the number of spaces to move and an OK button to commit the value to the command. At this point, if the pen is down, then picture panel needs to be updated givent the state of the pen. The current state of the turtle needs to be updated in the state pane.
For the "Terminate" button, you should display a "YES/NO" message box that asks the user do they really want to exit the application.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
