Я вдруг очень хочу поиграть в теннис, но увы у меня нет корта!
Сюрприз! Это где вы входите.
Вы должны напечатать теннисный корт для меня, но вы должны сделать это в наименьшем количестве байтов из соображений конфиденциальности.
Теннисный корт
---------
| |
---------
| | |
xxxxxxxxx
| | |
---------
| |
---------
Ответы:
Холст , 13 байт
Попробуй это здесь!
источник
Python 2, 65 байт
Flp.Tkc сохранил байт.
источник
'|'+' '*7
для второй строки,s
чтобы сохранить байт!05AB1E ,
292726 байтПопробуйте онлайн!
источник
9'-×D'|4ð׫©ûs®¨'|«û5'x×»û
попробовал рефакторинг немного, не могу сломать 26.Python 3 -
7372 байтаPython 3,6 - 75 байт
Кредит идет на flp-tkc . Спасибо :)
Попробуй здесь!
источник
/// ,
6456 байтПопробуйте онлайн!
Еще одно 56-байтовое решение:
источник
V , 25 байтов
Попробуйте онлайн!
Это должно быть 23 байта:
Но я столкнулся с несколькими ошибками при создании. :(
источник
Желе , 25 байт
TryItOnline!
Я надеялся использовать повторение в суде за 1,3,1 квартала, но не могу втиснуть это в меньшее (исходная версия - 28:)
“ßṂuB’b4s3x“¢¤¢‘ị“- x|”ŒBŒḄY
.Как?
источник
J
70545150 байтСпас Байт благодаря Zgarb!
Некоторая стандартная техника сжатия, использующая сжатый RLE.
источник
9 9$'-| |-| | |x| | |'#~3 9 1 7{~4#.inv 1851926050
Рубин, 60 байт
Ungolfed
источник
инструменты bash / Unix,
5857 байтТолько четыре символа, кроме новой строки, появляются в желаемом выводе, что позволяет кодировать каждую строку как число base-4. Эти числа затем пишутся в шестнадцатеричном виде в сценарии, для краткости.
Unix калькулятор dc используется как для преобразования base-16 в base-4, так и для работы со стеком, что позволяет легко повторять строки в нужных местах.
Редактирование: сбрил один байт, поменяв местами две из четырех основных цифр, используемых для кодирования символов, что позволило команде tr быть на один байт короче, чем в предыдущей версии.
источник
JavaScript, 85 байт
источник
JavaScript (ES6),
86848381 байтСохранено 2 байта, благодаря Нейлу
Альтернативный метод № 1, 93 байта
Альтернативный метод № 2, 86 байт
Предложил Нил:
Альтернативный метод № 3, 91 байт
Рекурсивный подход:
источник
console.log('-9\n| 7|\n-9\n| 3| 3|\nx9\n| 3| 3|\n-9\n| 7|\n-9'.replace(/.\d/g,s=>s[0].repeat(s[1])))
(\n
очевидно, замените его на символ новой строки).console.log('-\n |\n-\n |\nx\n |\n-\n |\n-'.replace(/.*/g,s=>s.repeat(9).slice(-9)))
.|
в зависимости от ситуации, вместо одного пробела, который появляется в моем комментарии.SOGL 0,5 ,
242320 байт (не конкурирует)Объяснение:
Так как же работает сжатая строка?
Строка, преобразованная из base250 в двоичную,
1000000100111110010100001110100000001100010001
и примерно то, что он делает:
неконкурентоспособен, потому что язык ставит перед нами задачу. И этому вызову всего один день. Я знал, что должен был что-то выложить вчера. Я сделал это в качестве теста для моего языка, и это оказалось слишком хорошо, чтобы не публиковать. Уверен, это еще и игра для гольфа.
источник
/// , 59 байт
Попробуйте онлайн!
Outgolfed ...
источник
Javascript (ES6), 86 байт:
Тест здесь:
источник
b
, поскольку это означает, что вы можете удалить символ новой строки послеxxxxxxxxx
и тот, который вы добавили междуa
иb
. Вы можете сэкономить еще 3 байта, установивa
в---------
первом , а затем сцеплению второй строки и к самому себе.05AB1E , 26 байт
Использует кодировку CP-1252 . Попробуйте онлайн!
источник
PHP,
6662 байтаЭто оригинальный ответ (66 байт):
Он генерирует уведомление из-за неизвестной константы
x
. Уведомление может быть подавлено путем установкиerror_reporting=0
вphp.ini
или в командной строке:Последняя строка вывода не заканчивается символом новой строки.
Обновленный ответ (62 байта), улучшающий улучшение, предложенное @Titus:
Запустите его без файла конфигурации (по умолчанию
error_reporting=0
это так):Обе версии кода содержат буквально новые строки, встроенные в строку (на 1 байт короче
\n
), и мы не можем развернуть их.источник
-d error_reporting=0
, просто используйте-n
.<?=$a=($b="---------\n|")."...
.-n
намного короче-d error_reporting=0
:-) В ответе всего 66 полезных символов. Я посчитал их, используяls -l
и забыл, что мойvi
настроен, чтобы файл заканчивался новой строкой. Я улучшил ваше улучшение и сжал еще 3 байта. Спасибо.PHP, 72 байта
Я почти ненавижу это, когда оно короче, чем немного подсчитать.
источник
Рубин, 52 байта
Используя двойную симметрию, строки выглядят следующим образом:
0-1-0 / 2-3-2 / 0-1-0
цикл можно легко развернуть, а вложенный список сгладится на выходе.источник
Пайк,
282625 байтПопробуй это здесь!
источник
05AB1E, 25 байтов
Использует кодировку CP-1252 . Попробуйте онлайн!
Объяснение:
источник
Vim, 32 байта
Это распечатает теннисный корт в буфер vim.
^M
представляет клавишу ввода (0x0d) и^[
является клавишей Escape (0x1b). Вы можете запустить эти сочетания клавиш / код, сохранив их в файл и запустивПечать на стандартный вывод
Если вместо этого он должен быть напечатан в stdout, вы можете сохранить буфер в файл (я использовал «a») и использовать любую установленную оболочку
vim
(я использовалbash
), а такжеcat
программу для печати теннисного корта в стандартный вывод (51 байт):Это так же, как и в предыдущей версии, но с
:w!a|sil !cat %^M:q^M
добавлением в концеисточник
J, 36 байт
Это работает на REPL, который является стандартным способом использования J:
С 41 байтом я могу напечатать результат в STDOUT:
Попробуйте онлайн!
объяснение
Я строю теннисный корт по одному ряду.
источник
PowerShell ,
6766 байтПопробуйте онлайн!
Просто некоторое умножение строк, установка переменных и обеспечение их инкапсуляции в скобках для размещения копий в конвейере. Значение по умолчанию
Write-Output
при завершении программы дает нам новые строки между бесплатно.Спасибо @ConnorLSW за сохранение очевидного байта.
источник
$(' '*7)
на самом деле 8 символов, было бы короче просто| |
как пробелы.ToLower()
Python 2, 75 байт
Использует переменные, заимствованные из @GurupadMamadapur
Альтернатива также для 75
источник
Emacs,
4335 нажатий клавишM-9
x
RET: девять x, возвратC-SPC: установка метки
|
M-3 SPC|
M-3 SPC|
RET: pipe, три пробела, pipe, три пробела, pipe, возвратM-9
-
RET: девять дефисов, return|
M-7 SPC|
RET: труба, семь пробелов, pipe, возвратM-9
-
RET: девять дефисов, returnC-x C-x: обменная точка и отметка, выбор региона
M-w: область копирования
C-p: предыдущая строка
C-y: скопировать текст
M-x
rev-r
RET: выполнитьreverse-region
командуисточник
Луа, 82 байта.
Я перепробовал много методов, и все же этот оказался победителем.
источник
Напористый , 33 байта
На этот вопрос было 33 ответа, и было 33 ответа, поэтому мне просто пришлось опубликовать 33-байтовое решение ...
Попробуйте онлайн!
объяснение
Код может быть разбит на несколько частей, чтобы его было легче понять. Первая часть работает так:
Стек теперь:
Затем зеркальный оператор,
w
затем зеркалирует весь стек, создаваяЗатем:
Стек теперь начинает выглядеть как теннисный корт:
Чтобы закончить это, мы
w
снова используем оператор зеркала , который отражает эту строку, чтобы получить полный теннисный корт.Все, что осталось сейчас, это распечатать, что делает
"
персонаж.источник
Unix Shell; используя dc и tr; 55 байт: (Оптимизация решения Mitchell Spector)
Другие решения: использование sed; 81 байт;
Использование dc в функции: 88 байт
или же
Использование bc в функции: 99 байт
источник
Powershell, 56 байт
Объяснение: прямая половина дела
Альтернатива, 68 байт
Объяснение: четверть двора использует одинаковые индексы для отображения строк и столбцов
источник