ASCII Куб Рубіка


12

Натхненний цим та наступним чатом:

Натхнення

Ваше завдання - вивести наступне:

   _ _ _
  /_/_/_/\
 /_/_/_/\/\
/_/_/_/\/\/\
\_\_\_\/\/\/
 \_\_\_\/\/
  \_\_\_\/

Допускається додаткове провідне або задні пробіли, якщо це не змінить зовнішній вигляд куба. Як звичайно, дозволено повернення вищезазначеного або списку рядків з функції.

Це , тому найкоротша відповідь у байтах виграє!



3
Пов'язані. (А також, більш дотично, ще кілька інших проблем, які ви можете знайти, шукаючи "алмазну плитку".)
Мартін Ендер,

7
10 годин у пісочниці (особливо лише з одним оновленням) навряд чи достатньо. Я рекомендую почекати не менше 48 годин.
Дада

9
Щоб пояснити свою суперечку: мені не дуже подобається виклик, тому що зображення займає багато місця, і я відчуваю, що ви більше намагаєтесь показати смішне зображення, ніж зробити хороший виклик (навіть більше, оскільки візерунок не є не такий, як той, що на малюнку) (і я впевнений, що це приверне деякі результати від людей, які просто сміялися з картини). Крім того, "виведіть цей точний рядок" з рядком, який виглядає більш-менш, ніж цей був зроблений кілька разів, і я не бачу, наскільки ваш виклик відрізняється, щоб бути цікавим.
Дада

4
@StephenS Я дав +1, але я не погоджуюся з тим, що ви можете сказати те саме для будь-якого виклику KC, коли я роблю виклик KC, я переконуюсь, що зразок буде дещо складним (тому вугілля не просто автоматично перемагає), я роблю довші шаблони, тому мови, які краще обробляють петлі, мають шанс (як JS), і я намагаюся використовувати речі, які вбудували деякі мови, як алфавіт, виклики KC багато в чому відрізняються, і намагаюся сказати, що вони все-таки займають щось від категорії.
LiefdeWen

Відповіді:



11

Вугілля деревне , 28 23 байт

F³⁺⁺×\_³×\/⁻³ι¶ ‖M↑×_ ³

Спробуйте в Інтернеті! Посилання на багатослівну версію коду. Не дуже вугілля-у, я знаю. Я не усвідомлював, що ‖M↓навмисно переміщує курсор, тому спершу спробував, F³«P⁺×/_³×/\⁻³ι↗»‖M↓×_ ³що не вийшло, тому що намагався зробити це догори дном. Якщо ви хочете чогось більшого деревного вугілля, то спробуйте G↗³←⁶↘³/\¶\/G↖³←⁷↘³_\¶\_↘‖M↑×_ ³32 байти: Спробуйте в Інтернеті!



5

> <> , 97 94 93 89 байт

">knknknk//>k>knknknk/>k>k>knknknkk>k>k>n>n>n>k>k>n>n>n>/k>n>n>n>//n/n/n///"01.
of-

Спробуйте в Інтернеті!

Правка 3: Зрозуміло, що ви можете використовувати символ "" (ascii 25) - Тепер процес просто знімає 15 знімків кожного елемента стека та друкує. Також вилучили додаткові вказівки щодо спрямованості та замінили все на 1 хід (01.)



4

Хвіст, 99 байт

#!/bin/tail -n+2
    _ _ _
  /_/_/_/\
 /_/_/_/\/\
/_/_/_/\/\/\
\_\_\_\/\/\/
 \_\_\_\/\/
  \_\_\_\/

1
Ласкаво просимо до PPCG!
Стівен

Або #!/bin/sed 1dваріант
sch

4

Python 3 , 98 94 байт

@KevinCruijssen запропонував це ...

-4 байти завдяки @HyperNeutrino та @WheatWizard

Рішення жорсткого кодування:

print(r"""   _ _ _
  /_/_/_/\
 /_/_/_/\/\
/_/_/_/\/\/\
\_\_\_\/\/\/
 \_\_\_\/\/
  \_\_\_\/""")

Спробуйте в Інтернеті!

або, 98 байт:

print("   _ _ _\n  /_/_/_/\\\n /_/_/_/\/\\\n/_/_/_/\/\/\\\n\_\_\_\/\/\/\n \_\_\_\/\/\n  \_\_\_\/")

Спробуйте в Інтернеті!


Пітон 3 , 139 байт

Dumb Python 3 без твердого кодування, впевнений, що це може бути гольф. Дивно, але стиснення двох fors лише в одній петлі довше:

p=print;p(' '*3+"_ "*3)
for i in range(3):p(abs(2-i)*' '+'/_'*3+'/'+i*"\/"+'\\')
for i in range(3):p(i*' '+'\\_'*3+'\\'+"/\\"*abs(2-i)+'/')

Спробуйте в Інтернеті!

Пітон 3 , 140 байт

print(' '*3+"_ "*3,'\n'+'\n'.join(abs(2-i)*' '+'/_'*3+'/'+i*"\/"+'\\'if i<3else (i-3)*' '+'\\_'*3+'\\'+"/\\"*abs(i-5)+'/'for i in range(6)))

Спробуйте в Інтернеті!


1
Гм .. хіба не важко кодування вихід коротший? Навіть з косою косою рисою це 112 байт у Java 8 / C # / JavaScript .
Kevin Cruijssen

@KevinCruijssen Насправді це>. <... Omg Я так німий
містер Xcoder

1
Зараз у мене є багато займатися гольфом ....
Містер Xcoder



3

Bubblegum , 42 байти

0000: e0 00 4f 00   22 5d 00 10   68 13 e2 04   15 00 b7 11 │ à.O."]..h.â...·.
0010: 7a 0e c5 f5   30 27 b5 b3   3d 39 8f a6   1f f9 74 52 │ z.Åõ0'µ³=9.¦.ùtR
0020: c5 66 98 bd   bd 0a 9a 8d   44 00                     │ Åf.½½¶..D.

3

Java 8, 112 байт

o->"   _ _ _\n  /_/_/_/\\\n /_/_/_/\\/\\\n/_/_/_/\\/\\/\\\n\\_\\_\\_\\/\\/\\/\n \\_\\_\\_\\/\\/\n  \\_\\_\\_\\/"

Жорстко кодований вихід.

Спробуйте тут.


Чи можу я відредагувати деталі з твердим кодом JS та C # у вашу відповідь?
LiefdeWen

Гаразд, ви можете зберегти 5 байт на C # за допомогою дослівного буквального тексту, o=>@"...а потім замінити \nфактичним новим рядком.
LiefdeWen

2

C #, 86 байт

o=>@"   _ _ _
  /_/_/_/\
 /_/_/_/\/\
/_/_/_/\/\/\
\_\_\_\/\/\/
 \_\_\_\/\/
  \_\_\_\/"

Спробуйте тут.


Виклик. Знайдено трохи менший загальний розмір (заголовок + колонтитул + код), але міняє менший заголовок / нижній колонтитул на трохи більший основний, ніж ваш: Спробуйте в Інтернеті!
Марк Реджон

@MarkRejhon На жаль, це основна частина, яка зараховується до програми або функції за замовчуванням. ;) З доданим, o=>{} це буде 98 байт у вашому випадку.
Кевін Круїйсен

2

Сітківка , 59 байт


   _¶  /_/\¶ /_/V\¶/_/VV\¶\_VVV¶ \_VV¶  \_V
._
$&$&$&
V
\/

Спробуйте в Інтернеті! Пояснення: Перший етап просто створює наступне:

   _
  /_/\
 /_/V\
/_/VV\
\_VVV
 \_VV
  \_V

Потім другий етап розширює всі _s, повторюючи їх та попередній символ 3 рази, тоді як третій етап перетворює Vs в \/s.



2

05AB1E , 34 31 байт

„_ 3×Âð'/:3F„/\«∞2ä`RˆD}\)¯R«.c

Спробуйте в Інтернеті!

Пояснення

„_ 3×             # push the string "_ _ _ "
     Â            # push a reversed copy
      ð'/:        # replace spaces with slashes
3F                # 3 times do
  „/\«            # append "/\"
      ∞           # mirror
       2ä`        # split into 2 separate parts on stack
         Rˆ       # reverse the second part and push to global list
           D      # duplicate the remaining part
            }     # end loop
\)                # discard the last copy and wrap stack in a string
  ¯R              # push the global list and reverse it
    «             # append to the rest of the list
     .c           # pad lines to equal length

Чергуйте 31 байт розчин

„ _3×3FDð'/:„/\«∞2ä`R.Á})ÀÀÀ.c¦

ÀÀÀу цій альтернативній версії [O_O"]...
Чарівний восьминіг Урна

@MagicOctopusUrn: Так ... я не знайшов коротшого способу зробити або обійти його: P
Emigna

1
Я згоден, я також пробув пару хвилин, намагаючись; немає способу навколо цього я бачу xD.
Чарівний восьминога Урна

2

CSS, 225 223 байт

-2 байти завдяки Стівену S, додаткові пробіли видалено

Я не зовсім впевнений , якщо це вважається , тому що CSS не є на насправді є мовою програмування, але технічно CSS може бути автономним , так як <html>елемент генерується автоматично , якщо не один.

html:after{content:'   _ _ _ \A   /_/_/_/\005c\A  /_/_/_/\005c/\005c \A /_/_/_/\005c/\005c/\005c \A \005c_\005c_\005c_\005c/\005c/\005c/ \A  \005c_\005c_\005c_\005c/\005c\/\A   \005c_\005c_\005c_\005c /';white-space: pre;}

А ось версія з односхилим шрифтом, 247 246 байт .

-1 байт завдяки Стівена S, додаткові пробіли видалено

html:after{font-family:'Courier';content:'   _ _ _ \A   /_/_/_/\005c\A  /_/_/_/\005c/\005c \A /_/_/_/\005c/\005c/\005c \A \005c_\005c_\005c_\005c/\005c/\005c/ \A  \005c_\005c_\005c_\005c/\005c\/\A   \005c_\005c_\005c_\005c /';white-space: pre;}


Я думаю, що ви можете видалити пробіли в CSS навколо :s і {}s
Стівен

2

05AB1E , 35 32 31 байт

"/ _\"•₁7æ¤ÝI}?ÕR&Ü•4вè4ôJ€∞ø¨»

Спробуйте в Інтернеті!

На 100% інший метод, ніж Емінья.


Редагувати: Якщо я розпочну з вже переміщеного шаблону, я можу вирізати 3 байти.


"/ _\"            # Push ASCII-art characters used.
•₁7æ¤ÝI}?ÕR&Ü•4в  # Push transposed version of base-4 pattern.
è                 # Replace all digits in base-4 number with appropriate symbol.
 4ô               # Split into groups of 4.
   J              # Join together.
    €∞            # Mirror each row (technically column).
      ø           # Transpose back.
       ¨»         # Remove the extra "_ _ _", and print with newlines.

1

JavaScript (ES6), 95 байт

_=>String.raw`   _ _ _
  /_/_/_/\
 /_/_/_/\/\
/_/_/_/\/\/\
\_\_\_\/\/\/
 \_\_\_\/\/
  \_\_\_\/`

JavaScript (ES6), 103 94 байт

-9 байт завдяки @Shaggy

_=>`   _ _ _
  ${a=`/_/_/_/\\`}
 ${a}/\\
${a}/\\/\\
${b=`\\_\\_\\_\\/`}\\/\\/
 ${b}\\/
  ${b}`

JavaScript (ES6), 106 байт

_=>`   _ _ _
  /_/_/_/\\
 /_/_/_/\\/\\
/_/_/_/\\/\\/\\
\\_\\_\\_\\/\\/\\/
 \\_\\_\\_\\/\\/
  \\_\\_\\_\\/`


@Shaggy duh, я це знав, навіть використовував його недавно. Дякую!
Стівен


@JoshuaBell не соромтеся розміщувати це як власну відповідь, це точно не моє гольф :) (це теж дуже геніально)
Стівен

1

Рубін, 72 70 байт

7.times{|i|puts' '*(j=i^i/4+3)+'_ \_/_'[-i/3*2,2]*3+'/\/'[i/4,2]*j^=3}

Остання редакція: уникайте подвійного \додавання рядків, ''а не "".

Ungolfed (примітка в індексах негативного рядка Ruby обгортання. -1Останній символ).

7.times{|i|                       #7 lines.
  puts" "*(j=i^i/4+3)+            #Print j= 3,2,1,0, 0,1,2 spaces.
      "_ \\_/_"[-i/3*2,2]*3+      #Print 3 repeats of 2 characters from the string, index 0,-2,-2,-2,-4,-4,-4.
      "/\\/"[i/4,2]*j^=3          #Print 2 characters from the string, /\ or \/, repeated 3^j times.
}

1

Пакет Windows, 122 байти

@echo    _ _ _
@echo   /_/_/_/\
@echo  /_/_/_/\/\
@echo /_/_/_/\/\/\
@echo \_\_\_\/\/\/
@echo  \_\_\_\/\/
@echo   \_\_\_\/

Досить самозрозумілий.


1

Brainf * ck 387 байт

Навіть не впевнений, що це все-таки річ, але мені було нудно і робив це для ш * ц і хихикань :)

++++++++[->++++>++++>++++>++++<<<<]+++++[->>+++>+++>+++<<<<]<+++[->+++++<]>[->>>+++>+++<<<<]>>>>+++<<<...<+++[->.>>>.<<<<]<<++++++++++>+++++++++++++.<.>>>..>.<<+++[->>>>.<<.<<]>>>.<<<<.<.>>>.>.<<+++[->>>>.<<.<<]>>>.<.>.<<<<.<.>>>>.<<+++[->>>>.<<.<<]>>>.<.>.<.>.<<<<.<.>>>>>.<<<+++[->>>>.<.<<<]>>.>.<.>.<.<<<.<.>>>.>>.<<<+++[->>>>.<.<<<]>>.>.<.<<<.<.>>>..>>.<<<+++[->>>>.<.<<<]>>.<<<.<.>>

Редагувати: TIL: Я на 54,28% ефективніший, ніж якийсь генератор, який я знайшов в Інтернеті ^. ^

Edit2: Спробуйте в Інтернеті Переконайтесь, що Wrap включений для поведінки переповнення пам'яті в параметрах


1

COBOL, 238 байт

Складено з відкритим коболом. Зауважте, що відступ - це одна вкладка, а не пробіли, навіть якщо цей веб-сайт формує його таким чином.

    IDENTIFICATION DIVISION.
    PROGRAM-ID. a.
    PROCEDURE DIVISION.
    DISPLAY "   _ _ _".
    DISPLAY "  /_/_/_/\".
    DISPLAY " /_/_/_/\/\".
    DISPLAY "/_/_/_/\/\/\".
    DISPLAY "\_\_\_\/\/\/".
    DISPLAY " \_\_\_\/\/".
    DISPLAY "  \_\_\_\/".
    STOP RUN.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.