EDIT
Здається, що в моїй друкарській помилці в початковому дописі сталася якась плутанина, яка використовувала малий o для визначення площини, а пізніше верхнього регістру. На жаль, ця помилка не потрапила до пісочниці. Оскільки багато членів написали відповіді на обидва, і оскільки помилка друку була моєю, я дозволю або великі, або малі o у визначенні площини. Я додав для цього нове правило.
Фон
Мені подобаються художні анімації ascii, як я їх називаю, ось ось ще одна. Я не думаю, що це занадто складно здійснити, тому, сподіваюся, отримаю кілька коротких та цікавих відповідей.
Для всіх членів громади
Якщо ви покращуєте свою відповідь, будь ласка, змініть свій байт як
old byte count новий кількість байтів
щоб ми могли бачити ваш прогрес. Спасибі!
Виклик
Ось площина асції
--O--
Ось злітно-посадкова смуга
____| |____
Літак стартує на 5 нових лініях над злітно-посадковою смугою. Щоб запобігти будь-яким зіткненням метричної та імперської систем і зробити це справді міжнародним завданням, я не згадаю метрів і футів. Приклад:
--O--
____| |____
Літак повинен приземлитися рівно посередині злітно-посадкової смуги, як показано нижче:
____|--O--|____
Вхідні дані
Початкове горизонтальне положення площини визначається цілим числом, який використовується для позначення кінця лівого крила, тобто він знаходиться між 0 і 10 включно.
Вихідні дані
Кожен етап польоту літака повинен бути показаний. Приклад нижче (вхід = 10):
--O--
____| |____
--O--
____| |____
--O--
____| |____
--O--
____| |____
--O--
____| |____
____|--O--|____
Щоб все було просто, ми ігноруємо закони перспективи. Злітно-посадкова смуга залишається такого ж розміру, як ви наближаєтесь.
Правила
- Оновлення Середина площини може бути великою або малою літерою o, але те, що обрано, має бути узгодженим у всьому коді. Якщо ваша мова не підтримує символів вище, сміливо використовуйте лише альтернативні символи ascii.
- Площина опускається на 1 рядок на кадр.
- Літак може рухатись лише на 1 простір вліво або вправо кожного разу, коли він опускається на одну лінію. Він не повинен рухатися по кожній лінії спуску. Поки він закінчується на злітно-посадковій смузі, це залежить від вас, коли він рухатиметься праворуч або ліворуч. Ти пілот!
- Не потрібно обробляти помилки. Ви можете припустити, що вхід завжди буде дійсним цілим числом від 0-10 включно.
- Вихідні дані повинні містити лише символи, показані вище (якщо ваша мова не підтримує їх, див. Відредаговане перше правило) і повинен бути однакового розміру, тобто повинен починати 6 рядків у ширину 15 символів. Висота може зменшуватися в міру просування, як у наведеному вище прикладі.
- Програма або функція є прекрасною, але повинна дати результат, як показано вище.
- Провідні / трейлінг простору / нові рядки мені добре підходять.
- Будь ласка, сміливо очищайте екран між вихідними кадрами, якщо бажаєте. Це не вимога.
- Стандартні лазівки заборонені, як завжди (хоча я не думаю, що існує багато таких, які допоможуть у цьому виклику).
- Це кодовий гольф, тому найкоротша відповідь, очевидно, є переможцем і, ймовірно, отримає більшість голосів, але, можливо, не обов'язково буде прийнята як найкраща відповідь, якщо якесь дійсно цікаве рішення вийде якоюсь несподіваною мовою, навіть якщо вона довша. Сміливо публікуйте все, що відповідає правилам, якщо це працює.
Реалізація посилання Ungolfed в Python 2 доступна на веб-сайті Спробуйте це онлайн! тож ви можете побачити, як це виглядає для різних вхідних значень.