La mayoría de ustedes probablemente han escuchado sobre el famoso programa Turtle Graphics, inicialmente popularizado por Logo. Este desafío es implementar un programa Turtle Graphics en el idioma que elija.
Reglas:
El piso debe ser diagonal con las dimensiones ingresadas por el usuario a través de std-in en el formulario
x/y
, representando elx
y lay
longitud, respectivamente.x
no puede ser más de 20 yy
no más de 45,Cuando la pluma está en el estado hacia abajo, debe dibujar tanto el cuadrado (la coordenada x / y) que sale la tortuga como el cuadrado donde entra la tortuga. Esto es lo que sucedería en la vida real, así que eso es lo que debería hacer su programa.
Posición inicial y la dirección de la tortuga deben ser introducidos por el usuario en el formulario
x,y,d
, dondex
yy
son las posiciones en las direcciones x y el eje Y, respectivamente, yd
es la dirección, introducido comoU
,D
,R
, oL
(arriba, abajo, derecha , y a la izquierda, respectivamente).Debe detener a la tortuga y mostrar un mensaje de error si la tortuga golpea la pared. En otras palabras, la tortuga no puede atravesar la pared.
La tortuga debe incluir estos comandos:
RESTABLECER: restablece el tablero en blanco: la tortuga vuelve a la posición y dirección iniciales.
DIBUJAR y BORRAR: estos comandos configuran la tortuga para dibujar y borrar, respectivamente.
ARRIBA y ABAJO: estos dos comandos configuran la posición de la herramienta activa (lápiz o borrador) hacia arriba y hacia abajo, respectivamente.
DIRECCIÓN x: este comando gira la tortuga hacia cualquier dirección Norte, Noreste, Este, Sureste, Sur, Suroeste, Oeste o Noroeste, representada como los dígitos 1-8, con Norte (arriba) 1, Nordeste 2 ...
ADELANTE xx: avanza los cuadrados de la tortuga xx; ADELANTE 15 avanza la tortuga 15 casillas. Si la tortuga se enfrenta a N, E, S, de W, se dibujará en
x
cuadrados solo en esa dirección. Si la tortuga se enfrenta a NE, NW, SE o SW, dibujaráx
cuadrados en ambas direcciones; es decir, en FORWARD 1 mientras mira a NE, dibujará esto:X X
PANTALLA - Muestra el tablero, usando
X
para cuadrados rellenos (coordenadas x / y) y un espacio en blancopara cuadrados vacíos.
POSICIÓN: imprime la coordenada x / y de la tortuga en el tablero.
SETPOS xyd: establece la tortuga en la dirección de orientación de la coordenada x / y
d
, utilizando la misma notación que el comando DIRECCIÓN.STOP: muestra el tablero y finaliza el programa después de que el usuario ingresa el carácter
~
.
Comandos de ejemplo:
DIRECCIÓN 2 HACIA ADELANTE 1 DIRECCIÓN 4 HACIA ADELANTE 1:
X X X
DIRECCIÓN 2 HACIA ADELANTE 1 DIRECCIÓN 4 HACIA ADELANTE 4:
X X X X X
DIRECCIÓN 3 HACIA ADELANTE 5:
XXXXX
Este programa utilizará reglas de puntuación de golf de código atómico estándar para intentar permitir que compitan lenguajes de programación no esotéricos, como Java y C ++.
La versión 1 ya está aquí . No requirió la entrada del usuario del tamaño del tablero y el punto de inicio de la tortuga, ni requirió movimientos diagonales.