Давайте делать упражнение вместе, не так ли? Просто следуйте движениям крупье. Какой крупье ты спрашиваешь? Тот, который мы собираемся создать!
Создайте программу, которая допускает строковый ввод, содержащий только целые числа, и выводит следующие девять фигурок с интервалом между ними:
@ \@/ |@_ _@| @/ \@ |@| \@\ /@/
/|\ | | | | | | | |
/ \ / \ / \ / \ /|\ /|\ / \ / \ / \
1 2 3 4 5 6 7 8 9
Это приведет к анимации, которой мы можем следовать по irl.
Вот пример вывода, созданного, когда ввод " 123245762
":
Некоторые правила:
- Это помечено code-golf , поэтому выигрывает самый короткий код в байтах
- Входные данные
string
содержат только[1-9]
длину, которая может варьироваться от 2 до 100 символов ** - Анимация должна быть бесконечной петлей
- Интервал времени должен составлять 750 мс
- Не допускается дублирование смежных целых чисел во входных данных - это также включает в себя первое и последнее целые числа входных данных (см. Седьмой и восемь контрольных примеров) **
** Как это терпит неудачу в случае неправильного ввода, полностью зависит от вас, но должно быть ясно, что это терпит неудачу . Это может вызвать исключение; просто вернитесь в начале; перезагрузите компьютер; удалить свой собственный исходный код / код компиляции; взломайте военные и стреляйте ракетой по компиляции GPS-локации. Ваш звонок. РЕДАКТИРОВАТЬ: не допускается просто отображать (правильно / половина) анимации как неудачный ввод. Должно быть ясно, что что-то не так с входом для неудачных тестовых случаев ниже. Спасибо @ user81655 за то, что обратили на это мое внимание, отсюда и редактирование.
подправил:
- Пожалуйста, опубликуйте gif для одного из (без сбоев) тестовых случаев ниже в своем ответе, который вы можете сделать очень легко с помощью следующей программы: screentogif.codeplex.com ( Разумеется, любая другая программа для создания gif-файлов также разрешена.)
- Бонусные баллы, если вы действительно выполняете упражнение вместе с анимацией, когда она закончена. ;)
Правильные тестовые случаи:
123245762
65
121234346565879879132418791576
Неудачные тестовые случаи:
2
// Слишком мало символов7282918274959292747383785189478174826894958127476192947512897571298593912374857471978269591928974518735891891723878
// Слишком много символов1232405762
// Содержит неверный ввод (the0
)112212
// Сбой из-за11
и22
настоящего1232457621
// Сбой из-за начального и ведущего1
Ответы:
Pyth, 114 байт
Попробуй здесь
(Без пауз, не бесконечно)
источник
0
.) Независимо, спасибо за запись. Одно из самых нечитаемых фрагментов кода для этой записи - мое предположение. :)SpecBAS - 387 байт
Продолжает цикл, пока вы не нажмете ESC. Неправильное упражнение (неправильный ввод - в этом примере 0 в качестве одного из шагов) приводит к ожирению. Циклы GIF, в программе он просто останавливается в этой точке.
#13
является эквивалентом SpecBAS\n
и позволяет включать перевод строки в строки.источник
JavaScript (ES6), 165 байт
источник
JavaScript (ES6), 210 байт
источник
0
и дубликатах?How it fails in case of invalid input is completely up to you
. Я просто обрабатываю неверный ввод, отображая анимацию. : P Ни один из других существующих ответов также не проверял это, однако ответ, который только что опубликовал ОП, делает, поэтому, возможно, он действительно хотел, чтобы мы обрабатывали неверный ввод.Mathematica, 252 байта
Было бы хорошо, если бы кто-то мог создать GIF. Запустите в записной книжке.
источник
Python3, 338 байт
источник
Java 8,
663636634631596355354 байтаПросто для LOL я пытался сделать программу на Java.
По общему признанию, я довольно плохо разбираюсь в гольфе и регулярных выражениях, так что он, скорее всего, может быть в гольфе (много?) Больше. Тем не менее, это происходит в Java 7.Теперь, почти два года спустя, и я почти вдвое сократил код в Java 8. Почему я когда-либо делал эти правила о проверке ввода и требовании полной программы, хотя ...>.> Я ненавижу мое прошлое я сейчас ..
Объяснение:
Попробуйте онлайн. (По истечении 60 секунд.)
Gif:
(Примечание: старый gif, поскольку сейчас он явно jdk1.8 +.)
источник
Java 7
что ссылаемся на эту версию Java, так как это1.7
может сбить некоторых с толку, когда они думают, что этоJava 1
ревизия7
p(new String[]{" @ ",y,"|@_", ... }[c-49]);if(c==49){p(x);l();}else if(c==53){w();p(x);}else d();
. Также я думаю, что определениеl
иw
тратить персонажей, теперь, когда они используются только дважды. Подумайте,s
вместо того чтобы бытьchar[] s=a[0].toCharArray()
; все остальные операции с ним намного короче.