Kubus ASCII Rubik

12

Terinspirasi oleh obrolan ini dan berikut ini:

Inspirasi

Tugas Anda adalah menampilkan yang berikut:

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

Whitespace ekstra memimpin atau mengikuti diizinkan, asalkan tidak mengubah tampilan kubus. Seperti biasa, mengembalikan yang di atas atau daftar string dari suatu fungsi diperbolehkan.

Ini , jadi jawaban tersingkat dalam byte menang!

Stephen
sumber
Sandbox
Stephen
3
Terkait (Selain itu, lebih sulitnya, beberapa tantangan lain yang dapat Anda temukan saat mencari "ubin berlian".)
Martin Ender
7
10 jam di Sandbox (terutama dengan hanya satu upvote) tidak cukup. Saya akan merekomendasikan menunggu setidaknya 48 jam.
Dada
9
Untuk menjelaskan downvote saya: Saya tidak terlalu suka tantangan, karena gambar mengambil banyak ruang, dan saya merasa seperti Anda lebih berusaha untuk menampilkan gambar lucu daripada membuat tantangan yang baik (bahkan lebih karena polanya tidak sama dengan yang ada di gambar) (dan saya cukup yakin ini akan menarik beberapa suara positif dari orang-orang yang hanya menertawakan gambar itu). Juga, "tampilkan string ini dengan tepat" dengan string yang terlihat lebih atau kurang dari yang ini telah dilakukan beberapa kali, dan saya gagal melihat bagaimana tantangan Anda cukup berbeda sehingga menarik.
Dada
4
@StephenS saya memberi +1, tetapi saya tidak setuju bahwa Anda dapat mengatakan hal yang sama untuk setiap tantangan KC, ketika saya membuat tantangan KC saya pastikan untuk membuat polanya agak rumit (jadi arang tidak hanya menang otomatis), saya membuat pola yang lebih panjang sehingga bahasa yang dapat menangani loop lebih baik memiliki kesempatan (Seperti JS) dan saya mencoba menggunakan hal-hal yang mungkin dibangun oleh beberapa bahasa seperti alfabet, tantangan KC sangat berbeda, dan mencoba mengatakan bahwa semuanya sama-sama membutuhkan sesuatu jauh dari kategori.
LiefdeWen

Jawaban:

11

Arang , 28 23 byte

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

Cobalah online! Tautan adalah untuk mengucapkan versi kode. Tidak terlalu arang-y saya tahu. Saya tidak menyadari bahwa dengan ‖M↓sengaja memindahkan kursor jadi saya awalnya mencoba F³«P⁺×/_³×/\⁻³ι↗»‖M↓×_ ³yang tidak berhasil, karena saya mencoba melakukannya terbalik. Jika Anda menginginkan sesuatu yang lebih Charcoal-y maka cobalah G↗³←⁶↘³/\¶\/G↖³←⁷↘³_\¶\_↘‖M↑×_ ³selama 32 byte: Cobalah secara online!

Neil
sumber
6

Bubblegum , 35 byte

00000000: 5350 5088 0741 2e05 05fd 7830 8ce1 82b3  SPP..A....x0....
00000010: 806c 0413 c889 8907 4330 8f4b 01c1 036a  .l......C0.K...j
00000020: 8671 00                                  .q.

Cobalah online!

ovs
sumber
5
kalah dalam bubblegum 😲
Uriel
5

> <> , 97 94 93 89 byte

">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-

Cobalah online!

Sunting 3: Mengetahui bahwa Anda dapat menggunakan karakter "" (ascii 25) - Sekarang prosesnya hanya menghilangkan 15 setiap item tumpukan dan mencetak. Juga menghapus instruksi arah ekstra dan mengganti semua dengan 1 gerakan (01.)

Pelican teal
sumber
4

Buntut, 99 byte

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

sumber
1
Selamat datang di PPCG!
Stephen
Atau #!/bin/sed 1dvarian
sch
4

Python 3 , 98 94 byte

@KevinCruijssen menyarankan ini ...

-4 byte terima kasih kepada @HyperNeutrino dan @WheatWizard

Solusi Hardcoding Output:

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

Cobalah online!

atau, 98 byte:

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

Cobalah online!


Python 3 , 139 byte

Dumb Python 3 Non-Hardcoding sumbmission, yakin itu bisa golf. Anehnya, mengompresi keduanya forhanya dalam satu loop lebih lama:

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)+'/')

Cobalah online!

Python 3 , 140 byte

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)))

Cobalah online!

Tuan Xcoder
sumber
1
Umm .. bukankah hard-coding output lebih pendek? Bahkan dengan garis miring yang diloloskan, itu adalah 112 byte di Java 8 / C # / JavaScript .
Kevin Cruijssen
@KevinCruijssen Sebenarnya>. <... Omg, aku sangat bodoh
Tn. Xcoder
1
Sekarang saya punya banyak golf yang harus dilakukan ....
Tn. Xcoder
96 byte
HyperNeutrino
3

Bubblegum , 42 byte

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.
Uriel
sumber
3

Java 8, 112 byte

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

Output kode keras.

Coba di sini.

Kevin Cruijssen
sumber
Bisakah saya mengedit bagian kode JS dan C # dalam jawaban Anda?
LiefdeWen
Oke Anda dapat menyimpan 5 byte pada C # dengan kata demi kata literal o=>@"...lalu ganti \ndengan baris baru yang sebenarnya.
LiefdeWen
2

C #, 86 byte

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

Coba di sini.

Kevin Cruijssen
sumber
Menantang. Ditemukan ukuran total yang sedikit lebih kecil (header + footer + kode), tetapi tukar header / footer yang lebih kecil dengan main yang sedikit lebih besar dari milik Anda: Coba online!
Mark Rejhon
@ MarkRejhon Sayangnya itu adalah bagian utama yang diperhitungkan dengan program atau fungsi default. ;) Dengan ditambahkan o=>{} itu akan menjadi 98 byte dalam kasus Anda.
Kevin Cruijssen
2

Retina , 59 byte


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

Cobalah online! Penjelasan: Tahap pertama hanya menciptakan yang berikut:

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

Tahap kedua kemudian memperluas semua _huruf s dengan mengulanginya dan karakter sebelumnya 3 kali, sedangkan tahap ketiga mengubah huruf Vs menjadi huruf \/s.

Neil
sumber
2

PHP , 77 byte

<?=strtr('   _ _ _
  0\
 01\
011\
2111
 211
  21',["/_/_/_/","\/","\_\_\_"]);

Cobalah online!

Jörg Hülsermann
sumber
1
Hemat 4 byte: Cobalah online!
Neil
1
@Neil Terima kasih dan tambahan 2 Bytes disimpan
Jörg Hülsermann
Itu selalu bagus ketika Anda dapat mengungguli output literal!
Neil
2

05AB1E , 34 31 byte

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

Cobalah online!

Penjelasan

„_ 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

Alternatif solusi 31 byte

„ _3×3FDð'/:„/\«∞2ä`R.Á})ÀÀÀ.c¦
Emigna
sumber
ÀÀÀdalam versi alternatif itu [O_O"]...
Magic Octopus Mm
@MagicOctopusUrn: Ya ... Saya belum menemukan cara yang lebih singkat untuk dilakukan atau menyiasatinya: P
Emigna
1
Saya setuju, saya menghabiskan beberapa menit mencoba juga; tidak ada jalan lain, saya bisa melihat xD.
Magic Gurita Guci
2

CSS, 225 223 byte

-2 byte berkat Stephen S, ruang ekstra dihapus

Saya tidak begitu yakin apakah ini diperhitungkan karena CSS bukan benar - benar bahasa pemrograman, tetapi secara teknis CSS dapat berdiri sendiri karena <html>elemen tersebut dibuat secara otomatis jika tidak ada.

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;}

Dan ini adalah versi dengan font monospace, 247 246 byte .

-1 byte terima kasih kepada Stephen S, spasi ekstra dihapus

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;}

vladdobra
sumber
Saya pikir Anda dapat menghapus beberapa spasi di CSS sekitar :dan {}s
Stephen
2

05AB1E , 35 32 31 byte

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

Cobalah online!

Metode 100% berbeda dari Emigna.


Sunting: Jika saya mulai dengan pola yang sudah diubah saya dapat memotong 3 byte.


"/ _\"            # 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.
Guci Gurita Ajaib
sumber
1

JavaScript (ES6), 95 byte

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

JavaScript (ES6), 103 94 byte

-9 byte berkat @Shaggy

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

JavaScript (ES6), 106 byte

_=>`   _ _ _
  /_/_/_/\\
 /_/_/_/\\/\\
/_/_/_/\\/\\/\\
\\_\\_\\_\\/\\/\\/
 \\_\\_\\_\\/\\/
  \\_\\_\\_\\/`
Stephen
sumber
94 byte .
Shaggy
@ Shaggy ya, saya tahu itu, bahkan menggunakannya baru-baru ini. Terima kasih!
Stephen
1
93 byte
Joshua Bell
@ JoshuaBell merasa bebas untuk memposting itu sebagai jawaban Anda sendiri, itu pasti bukan golf saya :) (itu juga sangat cerdik)
Stephen
1

Ruby, 72 70 byte

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

Suntingan terakhir: hindari dobel \dengan menyertakan string ''sebagai ganti "".

Tidak digabung (catatan dalam indeks string negatif Ruby membungkus. -1Adalah karakter terakhir.)

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.
}
Level River St
sumber
1

Windows Batch, 122 byte

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

Eksplorasi diri yang cukup.

stevefestl
sumber
1

Brainf * ck 387 byte

Bahkan tidak yakin apakah ini masih suatu hal tetapi saya bosan dan melakukannya untuk sh * ts dan cekikikan :)

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

Sunting: TIL: Saya 54,28% lebih efektif daripada beberapa generator yang saya temukan online ^. ^

Sunting2: Cobalah secara online Pastikan Wrap aktif untuk perilaku Memory overflow dalam opsi

Teun Pronk
sumber
1

COBOL, 238 byte

Dikompilasi dengan cobol terbuka. Perhatikan bahwa lekukan adalah tab tunggal, bukan spasi, meskipun situs web ini memformatnya seperti itu.

    IDENTIFICATION DIVISION.
    PROGRAM-ID. a.
    PROCEDURE DIVISION.
    DISPLAY "   _ _ _".
    DISPLAY "  /_/_/_/\".
    DISPLAY " /_/_/_/\/\".
    DISPLAY "/_/_/_/\/\/\".
    DISPLAY "\_\_\_\/\/\/".
    DISPLAY " \_\_\_\/\/".
    DISPLAY "  \_\_\_\/".
    STOP RUN.
anak aprikot
sumber
1

Perl 5 , 89 byte

say"   _ _ _";$r[7-$_]=($r[$_]=$"x(3-$_).'/_'x3 .'/\\'x$_.$/)=~y|/\\|\\/|r for 1..3;say@r

Cobalah online!

Xcali
sumber
0

Python 2 , 93 byte

print r"""   _ _ _
  /_/_/_/\
 /_/_/_/\/\
/_/_/_/\/\/\
\_\_\_\/\/\/
 \_\_\_\/\/
  \_\_\_\/"""

Cobalah online!

benar-benar manusiawi
sumber