MODIFIER
Il semble qu'il y ait eu une certaine confusion à la suite de ma faute de frappe dans le message d'origine qui utilisait un o minuscule pour définir le plan, puis un majuscule plus tard. Malheureusement, ce bug n'a pas été détecté dans le bac à sable. Étant donné que de nombreux membres ont écrit des réponses avec les deux et que la faute de frappe était de ma faute, j'autoriserai les majuscules ou les minuscules dans la définition de l'avion. J'ai ajouté une nouvelle règle pour cela.
Contexte
J'aime les animations d'art ascii comme j'ai tendance à les appeler alors en voici une autre. Je ne pense pas que ce soit trop difficile à mettre en œuvre, nous espérons donc obtenir des réponses courtes et intéressantes.
À tous les autres membres de la communauté
Si vous améliorez votre réponse, veuillez modifier votre nombre d'octets comme
ancien décompte d' octets nouveau décompte d'octets
afin que nous puissions voir vos progrès. Merci!
Défi
Voici un plan ascii
--O--
Voici une piste ascii
____| |____
L'avion démarre à 5 nouvelles lignes au-dessus de la piste. Pour éviter tout affrontement entre les systèmes métriques et impériaux et en faire un véritable défi international, je ne mentionnerai pas les mètres ou les pieds. Exemple:
--O--
____| |____
L'avion doit atterrir exactement au milieu de la piste comme indiqué ci-dessous:
____|--O--|____
Contribution
La position horizontale initiale du plan est définie par une entrée entière qui est utilisée pour référencer la pointe de l'aile gauche, c'est-à-dire qu'elle est comprise entre 0 et 10 inclus.
Sortie
Chaque étape du vol des avions doit être montrée. Exemple ci-dessous (entrée = 10):
--O--
____| |____
--O--
____| |____
--O--
____| |____
--O--
____| |____
--O--
____| |____
____|--O--|____
Pour simplifier les choses, nous ignorons les lois de la perspective. La piste reste de la même taille à mesure que vous vous rapprochez.
Règles
- Mise à jour Le milieu de l'avion peut être un o majuscule ou minuscule, mais celui qui est choisi doit être cohérent dans tout le code. Si votre langue ne prend pas en charge les caractères ci-dessus, n'hésitez pas à utiliser uniquement des caractères ascii alternatifs.
- L'avion descend 1 ligne par image.
- L'avion ne peut se déplacer que d'un espace vers la gauche ou la droite chaque fois qu'il descend d'une ligne. Il n'a pas à se déplacer sur chaque ligne de descente. Tant qu'il se termine sur la piste, c'est à vous de décider quand il se déplace à droite ou à gauche. Tu es le pilote!
- Aucune gestion des erreurs requise. Vous pouvez supposer que l'entrée sera toujours un entier valide de 0 à 10 inclus.
- La sortie doit être composée uniquement des caractères indiqués ci-dessus (si votre langue ne les prend pas en charge, voir la première règle éditée) et doit être de la même taille, c'est-à-dire qu'elle doit commencer 6 lignes de haut par 15 caractères de large. La hauteur peut diminuer à mesure qu'elle progresse comme dans l'exemple ci-dessus.
- Le programme ou la fonction est correct mais doit produire une sortie comme indiqué ci-dessus.
- Les espaces de début / fin / les nouvelles lignes me conviennent.
- N'hésitez pas à effacer l'écran entre les images de sortie si vous le souhaitez. Ce n'est pas une exigence.
- Les failles standard interdites comme d'habitude (bien que je ne pense pas qu'il y en ait beaucoup qui aideraient à ce genre de défi).
- Il s'agit du code golf, donc la réponse la plus courte est évidemment la gagnante et obtiendra probablement la plupart des votes, mais ne sera pas nécessairement acceptée comme la meilleure réponse si une solution vraiment intéressante se présente dans un langage inattendu, même si elle est plus longue. N'hésitez pas à publier tout ce qui respecte les règles tant qu'il fonctionne.
Implémentation de référence non golfée dans Python 2 disponible sur Try it online! afin que vous puissiez voir à quoi il ressemble pour différentes valeurs d'entrée.