Étape 2: Le programme
Dans cette étape, je vais vous expliquer chaque partie du programme. Une version entièrement commentée est disponible dans la partie inférieure.
Préparation-
Pour commencer il faut avoir quelques petites choses :
Cette opération importe le module turtle, nous allons utiliser pour afficher les droits et gauches que nous générons. Utilisez-la pour dessiner en donnant des commandes à la « tortue », qui se déplace sur l’écran, tracer une ligne. Ce module est utile pour nos besoins, que vous pouvez facilement dire la tortue de se tourner à droite ou à gauche ou aller de l’avant sans avoir à calculer où placer les lignes.
Ici, nous créons les variables r et l et de les affecter leurs caractères appropriés. Cette étape n’est pas vraiment nécessaire, car vous pourriez juste il écrire dans le programme sous forme de chaîne, mais je crois que les flux de programme plus facilement à l’aide de variables plutôt que des chaînes.
Ceci définit les deux vieux, qui est la dernière itération générée et nouveau, l’itération générée, à un droit. Vieille a la valeur à droite parce que c’est la première itération que tous d'entre eux sont basés hors de. Nouveau est également définie à droite juste au cas où la première itération, il a demandé. Dans ce cas, il ne sera pas générer n’importe quoi et immédiatement imprimer de nouveau.
Ce bloc de code prend dans tous les choix des utilisateurs, l’itération d’être générée (itération), la longueur de chaque segment qui fait vers le haut de la courbe du Dragon (longueur), la couleur pour tracer la courbe en (pencolor) et la couleur d’arrière-plan de la fenêtre graphique de tortue (bgcolor). La longueur du segment peut être utile lors de la génération des itérations plus élevées comme le la courbe peut s’étendre hors de l’écran avec des segments trop longs. Les deux derniers choix, les couleurs, sont amusants à jouer avec pour faire de jolis dessins.
Une certaine itération est générée en mettant en place chaque itération de la première R, vélo à travers quelques étapes pour obtenir celle qui suit chaque fois. Cette variable contient le cycle actuel, donc nous avons tout d’abord attribuez-lui la valeur 1.
Génération-
Maintenant nous pouvons commencer à générer le modèle R et L pour l’itération désirée :
Nous allons continuer à générer l’itération suivante jusqu'à ce que la variable cycle nous dit que nous sommes parvenus à itération a demandé de ne plus être inférieure à elle.
Il s’agit de la première étape de générer la prochaine itération, ajout d’un droit à la fin de cette dernière. Nous allons le sauver de la nouvelle itération.
Cette instruction termine la deuxième étape en utilisant une longue tranche d’inverser l’ordre des caractères dans la corde usagée d’itération. La syntaxe de cette chaîne tranchage méthode est [commencer:: étape de fin]. Laissant éteint le début et la fin et l’étape de réglage-1, rend la chaîne entière passer autour.
Ce bloc de code tous les droits et gauches bascule dans l’ancienne itération inverse. Elle est contenue dans une boucle qui fonctionne pour chacun des caractères de la chaîne, la gamme étant la longueur de la chaîne. Pour chaque caractère, il est appelé à partir de la chaîne et testé. Si c’est un droit, il est remplacé par une gauche en ajoutant la partie de la chaîne avant le caractère, la gauche et le reste de la chaîne après le caractère. Sinon, si c’est une gauche, la même méthode est utilisée pour remplacer le caractère d’un droit.
Cela prend de nouveau, qui est l’ancienne originale, plus un droit et ajoute l’ancien inversé et sont passés sur la fin. Le résultat est enregistré à nouveau. L’itération suivante a été générée !
En enregistrant la nouvelle itération de vieux, nous pouvons l’utiliser le prochain cycle pour trouver la prochaine itération.
Ce cycle est fait et donc on avance la variable de programme. La boucle while continue à générer l’itération suivante, jusqu'à ce qu’il est convaincu par la cycle variable atteignant l’itération demandée.
Affichage-
Surtout avec les itérations plus élevées, la chaîne des droits et gauches si longtemps c’est impraticable et salissant à l’imprimer. Copiez le code suivant donne à l’utilisateur un choix. Il faut un oui ou aucun réponse à si l’utilisateur veut qu'il imprimé et, si la réponse est oui, n’imprime de nouveau, qui détient la dernière itération.
Ici nous avons mis en place la fenêtre graphique de tortue. Nous avons commencé en cachant l’icône tortue et éteindre l’animation n’est plus rapide. En outre, nous appliquons l’utilisateur demandé des couleurs pour le dessin et le fond.
Ici, nous disons la tortue à aller de l’avant la longueur du segment, rendant la première ligne de tous les droits et gauches sont hors de.
Cette boucle est similaire à celle qui a passé tous les droits et gauches précédemment dans le programme. Il vérifie chaque caractère dans la séquence de droite-gauche et faire la tortue, tourner à droite si c’est un droit et un gauche si c’est une gauche. Après chaque tour, il va également vers l’avant la longueur du segment désiré pour terminer l’angle. De cette façon, il sera graphique de l’ensemble de la séquence.