Я живу в Великобритании, где идет дождь. Много. У меня также есть печальная необходимость носить очки, чтобы видеть, а это означает, что когда идет дождь (как сейчас), я едва могу видеть из них. Эта задача такова, что вы все можете испытать то же самое!
задача
Выходные очки ASCII art с каплей воды добавляются каждую секунду.
вход
Никто
Выход
Пара бокалов с каплями воды на них.
Очки
________________________
| /__\ |
| / \ |
| / \ |
\_______/ \_______/
Капли дождя
Капля дождя обозначается как .
. Капля дождя случайно помещается на линзы очков. Таким образом, когда капля дождя ставится, очки могут выглядеть следующим образом
________________________
| /__\ |
| . / \ |
| / \ |
\_______/ \_______/
Если он находится на пустом месте ( ),
.
изображение помещается . Если он размещен на квадрате, в котором уже есть капля дождя, капля завершается.
Шаги по каплям
- капли не размещены:
- 1 капля помещена:
.
- 2 капли размещены:
o
- 3 капли размещены:
O
- 4+ капли размещены:
@
правила
- Изображение должно выглядеть как будто оно остается на месте. Это означает, что вы можете либо очистить экран, либо напечатать достаточно новых строк, чтобы «очистить» экран. Вы не можете вернуть список шагов. Извините за это, но вы должны быть в состоянии обойти это.
- При выводе новых строк, чтобы «очистить» экран, между очками должно быть не менее 3 новых строк.
- Код выполняется до тех пор, пока очки не заполнятся полностью градуированными каплями, то есть пока результат не будет выглядеть следующим образом:
________________________ | @@@@@@@@@@ / __ \ @@@@@@@@@@ | | @@@@@@@@@ / \ @@@@@@@@@ | | @@@@@@@@ / \ @@@@@@@@ | \ _______ / \ _______ /
- Самый короткий код в байтах побеждает.
@
ли?Ответы:
JavaScript (ES6),
269267265 байтИзменить: Сохранено
24 байта благодаря @Shaggy.источник
innerText
вместоtextContent
иsearch
вместоindexOf
. И еще несколько, просто используя<pre id=o
как HTML, а не используяdocument.write
его.Java 8,
449421 байтОбъяснение:
Попробуй это здесь. (
Thread.sleep
удаляется, поэтому вы сразу видите результат.)Выход:
ПРИМЕЧАНИЕ: точки немного странные в GIF, но это проблема в моем ScreenToGif.exe ..
источник
"
) действительно выглядят так, будто на моем экране действительно капля водыF #, нерекурсивный
379414404 байтаПопробуйте онлайн!
Мне нравится предпосылка этого вызова :)
И спасибо за червя.
F #,
406441438437423 байтаПопробуйте онлайн!
объяснение
источник
open System
и удалениеSystem
изRandom()
иThreading.Thread.Sleep()
вызовов;)Python 2,
365328 байтЭто немного лучше ...
Попробуйте онлайн
Приведенная выше ссылка использует 30 строк вместо 3, но вы можете увидеть это с 3, если вы измените размер окна браузера, чтобы быть достаточно маленьким по вертикали. Изменение
time.sleep(1)
вtime.sleep(.1)
течение 10 - кратного.источник
C
313309305304 байтаНужно быть немного в гольфе;
Я запускаю его со следующей тестовой заглушкой
источник
Рубин ,
237224228218206198197 байтовПопробуйте онлайн!
Предыдущий ответ был неверным, он не учитывал капли дождя, падающие на @.Видимо, не является обязательным требованием. Некоторые байты сохранены.Это завершается с ошибкой, но это определенно заканчивается, как только полные очки напечатаны.
поместив печать в лямбду иизменив назначение на tr (duh)\\
bea
, а затем вернувшись обратно в trx
(дух). В случае, если некоторые из вас, ребята, задаются вопросом, почему это не влияет на основной цикл: основной цикл не учитывает последнюю строку, чтобы определить ееx
.в конце верхней части очков
Yay <200 байтов: D
Gif:
источник
Баш,
576510429416 байтВау, много играл в гольф. Если у кого-то есть идеи для дальнейшего игры в гольф, я открыт для предложений
Попробуй сам! Сон прокомментирован из-за ограничения 60 секунд
Вот изображение:
источник
Perl, 167 байт
Обратите внимание, что
\x1b
это буквальный escape-символ.Смотрите это онлайн!
источник
Mathematica, 438 байт
вот 10-кратный результат GIF
источник
Table
,95
а32
?t=Table
x = 32
аy = 95
?Flatten
наf
?PHP,
262254 байтаЗапустите
-nR
или попробуйте онлайн .сломать
источник