Paso 2: El programa
En este paso voy a explicar cada parte del programa. Hay una versión completamente comentada en la parte inferior.
Preparación-
Para empezar debemos tener un par de cosas:
Esto importa el módulo de la tortuga, que vamos a usar para mostrar las derechas e izquierdas que generamos. Se utiliza para dibujar dando órdenes a la 'tortuga', que se mueve sobre la pantalla, dibujando una línea. Este módulo es útil para nuestros propósitos pues fácilmente puede decir la tortuga a girar a la derecha o la izquierda o seguir adelante sin tener que calcular dónde colocar las líneas.
Aquí creamos las variables r y l y asignarles sus caracteres adecuados. Este paso no es realmente necesario ya que solo puede escribir en el programa como una cadena, pero yo creo que los flujos de programa más fácilmente usando variables en lugar de cadenas.
Ambos viejos, establece que es la última iteración genera y nuevo, la iteración se genera un derecho. Viejo se ajusta a derecho ya que es la primera iteración que todos ellos se basan fuera de. Nuevo también se encuentra a derecha en caso de que la primera iteración solicitó. En ese caso, no generará nada e inmediatamente se imprima de nuevo.
Este bloque de código ocurre en todas las opciones de los usuarios, la iteración que genera (iteración), la longitud de cada segmento que hace que la curva del dragón (longitud), el color para dibujar la curva en (colorpluma) y el color de fondo de la ventana de gráficos de tortuga (bgcolor). La longitud del segmento puede ser útil al generar mayor iteraciones como el la curva se puede extender fuera de la pantalla con segmentos demasiado largo. Las dos últimas opciones, los colores, son divertidos para jugar con para hacer diseños bonitos.
Una cierta iteración se genera por cada iteración de construcción de la primera R, a través de algunos pasos para conseguir el siguiente cada vez. Esta variable contiene el ciclo actual, por lo que primero se asigna el valor de 1.
Generación-
Ahora podemos comenzar a generar el patrón de R y L para la iteración deseada:
Seguiremos generar la siguiente iteración hasta que la variable de ciclo nos dice que hemos llegado a iteración solicitada por no ser menos que él.
Este es el primer paso de generar la siguiente iteración, añadiendo a la derecha hasta el final de la última. Nos ahorrará a la nueva iteración.
Esta declaración completa el segundo paso usando una rebanada extendida para invertir el orden de los personajes de la antigua cadena de iteración. La sintaxis de esta cadena de método de corte es [comenzar: paso: final]. Dejando fuera el inicio y final y paso de ajuste-1, hace toda la cadena alrededor del interruptor.
Este bloque de código cambia todos las derechas e izquierdas en la iteración antigua invertida. Se encuentra en un bucle que funciona para cada uno de los caracteres de la cadena, la gama de la longitud de la cadena. Para cada personaje, que es llamado de la cadena y pruebas. Si es un derecho, se sustituye por una izquierda mediante la adición de la parte de la cadena antes del personaje, a la izquierda y el resto de la cadena después del carácter. De lo contrario, si es a la izquierda, el mismo método se utiliza para reemplazar el carácter de un derecho.
Esto lleva, que es el viejo original además de un derecho y agrega al invertido y cambiado viejo en el extremo. El resultado se guarda en el nuevo. Se ha generado la siguiente iteración.
Al guardar la nueva iteración en viejo, podemos usarlo el ciclo siguiente para encontrar la siguiente iteración.
Este ciclo se lleva a cabo y así avanzar en la variable del ciclo. El tiempo del lazo sigue generando la siguiente iteración hasta que es satisfecha por la variable ciclo llegando a la iteración solicitada.
Display-
Especialmente con las iteraciones mayores, la cadena de derechas e izquierdas es tanto es impracticable y desordenado imprimir. Este código permite al usuario elegir. Toma un sí o ninguna respuesta a si el usuario quiere que lo impreso y, si la respuesta es sí, imprime nuevos, que sostiene la iteración final.
Aquí hemos creado la ventana de gráficos de tortuga. Empezamos por ocultar el icono de la tortuga y la animación de apagado por lo que es más rápido. Además, aplicamos el usuario pidió a colores para el dibujo y el fondo.
Aquí le decimos a la tortuga para ir avanzando la longitud del segmento, haciendo la primera línea que todas las derechas e izquierdas de.
Este bucle for es similar a la que todas las derechas e izquierdas previamente en el programa. Comprueba cada carácter en la secuencia de derecha izquierda y hacer la tortuga gira a la derecha si es un derecho y a la izquierda si es a la izquierda. Después de cada vuelta, también pone en marcha la longitud del segmento deseado para completar el ángulo. De esta manera, se gráfica la secuencia entera.