Xoay nghệ thuật ASCII 45 độ


21

Nhiệm vụ của bạn là chụp ảnh nghệ thuật ASCII và xuất nó theo chiều kim đồng hồ 45 độ và được chia tỷ lệ theo hệ số . Tỷ lệ xuất phát từ việc sử dụng mô hình mạng giới thiệu không gian giữa các ký tự.2

Để giải thích nó một cách trực quan, một khối sẽ được xử lý như vậy:3×3

123
456
789

trở thành

  1
 4 2
7 5 3
 8 6
  9

Các ký tự sẽ không được chuyển đổi, vì vậy các hộp sẽ trông lạ sau khi xoay:

+-+
| |
+-+

trở thành

  +
 | -
+   +
 - |
  +

Để giải thích quy trình rõ ràng hơn, đầu ra bao gồm một mẫu mạng kim cương trong đó hàng trên cùng tương ứng với ký tự trên cùng bên trái của đầu vào, hàng tiếp theo tương ứng với hàng xóm bên phải và bên dưới, hàng tiếp theo là các hàng xóm đó, v.v. cho đến khi tất cả các nhân vật đã được đặt trên mạng.

Ví dụ

           FISHKISSFISHKIS               
       SFISHKISSFISHKISSFISH            F
    ISHK   ISSFISHKISSFISHKISS         FI
  SHKISS   FISHKISSFISHKISSFISS       FIS
HKISSFISHKISSFISHKISSFISHKISSFISH    KISS
  FISHKISSFISHKISSFISHKISSFISHKISS  FISHK
      SSFISHKISSFISHKISSFISHKISSFISHKISSF
  ISHKISSFISHKISSFISHKISSFISHKISSF  ISHKI
SSFISHKISSFISHKISSFISHKISSFISHKIS    SFIS
  HKISSFISHKISSFISHKISSFISHKISS       FIS
    HKISSFISHKISSFISHKISSFISHK         IS
       SFISHKISSFISHKISSFISH            K
         ISSFISHKISSFISHK                

Nguồn

Trở thành

     H
      K S
       I H I
      F S K S
 S     I S I H S
  S I   S F S K F
   F S   H I S   I
  H I H   K S     S F
   K S K S I H     H I
    I H I S S K   I K S
   H S K S F S I F S I H
    K S I S I F S I S S K
     I F S F S I S S F S I
      S I S I H S F H I F S
     S S S F S K H I K S I S
      F F H I H I K S I H S F
       I I K S K S I H S K H I
      I S S I H I S S K S I K S
       S H H S K S F S I F S I H
        S K K S I S I F S I S S K
         F I I F S F S I S S F S I
          I S S I S I H S F H I F S
           S S S S F S K H I K S I
            H F F H I H I K S I H S
             K I I K S K S I H S K H
              I S S I H I S S K S I
               S H H S K S F S I F S
                S K K S I S I F S I S
                 F I I F S F S I S S
                  I S S I S I H S F S
                   S S S S F S K H I
                    H F F H I H I K S
                     K I I K S K S I H
                        S S I H I S S
                         H H S K S F S
                            K S I S I
                                 S F S
                                      H F K F F F
                                       K I I I I
                                      I I S S S
                                       S S H S
                                      S H S K
                                       F K F
                                      F I I
                                       I S
                                      I S
                                       S
                                      K

      _,,ddF"""Ybb,,_      
    ,d@#@#@#@g,   `"Yb,    
  ,d#@#V``V@#@#b      "b,  
 d@#@#I    I@#@8        "b 
d@#@#@#A..A@#@#P         `b
8#@#@#@#@#@#@8"           8
8@#@#@#@#@#@J             8
8#@#@#@#@#P               8
Y@#@#@#@#P    ,db,       ,P
 Y@#@#@#@)    @DWB      aP 
  "Y#@#@#b    `69'    aP"  
    "Y@#@#g,,     _,dP"    
      `""YBBgggddP""'       

Nguồn

Trở thành

     d d ,
    8 @ @ d ,
   8 # # # # d _
  8 @ @ @ @ @ @ ,
 Y # # # # # # # ,
  @ @ @ @ @ I V @ d
 Y # # # # #   ` # d
  @ @ @ @ @ A   ` @ F
 " # # # # # .   V # "
  Y @ @ @ @ @ .   @ @ "
   # # # # # # A I # g "
  " @ @ @ @ @ @ @ @ @ , Y
   Y # # # # # # # # #   b
    @ @ @ P P @ @ @ @ b   b
   ` # # )     J 8 # 8     ,
    " @ b         " P     ` ,
     " #                   " _
      Y g                   Y
       B ,     ,             b
        B ,   @ d             ,
         g   ` D b           "
          g   6 W ,           b
           g   9 B             ,
            d   '             "
             d                 b
              P _             `
               " ,             b
                " d           8
                 ' P a       8
                    " P a , 8
                       " P P

                             ...,?77??!~~~~!???77?<~....
                        ..?7`                           `7!..
                    .,=`          ..~7^`   I                  ?1.
       ........  ..^            ?`  ..?7!1 .               ...??7
      .        .7`        .,777.. .I.    . .!          .,7!
      ..     .?         .^      .l   ?i. . .`       .,^
       b    .!        .= .?7???7~.     .>r .      .=
       .,.?4         , .^         1        `     4...
        J   ^         ,            5       `         ?<.
       .%.7;         .`     .,     .;                   .=.
       .+^ .,       .%      MML     F       .,             ?,
        P   ,,      J      .MMN     F        6               4.
        l    d,    ,       .MMM!   .t        ..               ,,
        ,    JMa..`         MMM`   .         .!                .;
         r   .M#            .M#   .%  .      .~                 .,
       dMMMNJ..!                 .P7!  .>    .         .         ,,
       .WMMMMMm  ?^..       ..,?! ..    ..   ,  Z7`        `?^..  ,,
          ?THB3       ?77?!        .Yr  .   .!   ?,              ?^C
            ?,                   .,^.` .%  .^      5.
              7,          .....?7     .^  ,`        ?.
                `<.                 .= .`'           1
                ....dn... ... ...,7..J=!7,           .,
             ..=     G.,7  ..,o..  .?    J.           F
           .J.  .^ ,,,t  ,^        ?^.  .^  `?~.      F
          r %J. $    5r J             ,r.1      .=.  .%
          r .77=?4.    ``,     l ., 1  .. <.       4.,
          .$..    .X..   .n..  ., J. r .`  J.       `'
        .?`  .5        `` .%   .% .' L.'    t
        ,. ..1JL          .,   J .$.?`      .
                1.          .=` ` .J7??7<.. .;
                 JS..    ..^      L        7.:
                   `> ..       J.  4.
                    +   r `t   r ~=..G.
                    =   $  ,.  J
                    2   r   t  .;
              .,7!  r   t`7~..  j..
              j   7~L...$=.?7r   r ;?1.
               8.      .=    j ..,^   ..
              r        G              .
            .,7,        j,           .>=.
         .J??,  `T....... %             ..
      ..^     <.  ~.    ,.             .D
    .?`        1   L     .7.........?Ti..l
   ,`           L  .    .%    .`!       `j,
 .^             .  ..   .`   .^  .?7!?7+. 1
.`              .  .`..`7.  .^  ,`      .i.;
.7<..........~<<3?7!`    4. r  `          G%
                          J.` .!           %
                            JiJ           .`
                              .1.         J
                                 ?1.     .'
                                     7<..%

Nguồn

Trở thành

                                                      . .
                                                     .   .
                                                      .   .
                                                     b     .
                                                    .       .
                                                     ,       .
                                                  . J .       .
                                                 . %   ?       .
                                                  + .   4 . .
                                                 P ^ 7     ! ? .
                                                l     ; ^       7 .
                                               ,     .           ` .
                                            d         ,             ^ .
                                           . M r     ,                 ,
                                            W M       ,                 =
                                             M M     d                   ` .
                                              M N   J ,                     .
                                             ? M J . M                       ?
                                              T M . M a           , .         7
                                               H M . # .             = .       ` .
                                              ? B m !   .     . . , .   ^ .       .
                                               , 3       ` , J % `   ^ .   ,       .
                                                                        ?   7       ,
                                               7     ?                   7   7       ?
                                      r .       ,     ^                   ?   7       7
                                 .   r   J .           .                   ?   . ?     7
                                , ? .   % . .   `       .                   ?   . ` .   ?
                                 . ` $ . J   = . <                     .     7 .     .   ?
                                      . 7 .     . .                 . M ,     ~ l .   ~   !
                                   .   . 7   .   .       ?         . M M       .   I . 7   ~
                                    . .   = $ ^   .       7         M M L           . . ^   ~
                                     1 5   ?       d       7       M M N       1       ? `   ~
                                      J     4   ,   n       ?     . M M             ?   7     ~
                                       L     .   , G .       !     M M !       5     i   !     !
                                            .     , . .         .   # `       .       .   1     ?
       . .                             1     X   5 t , .   .     .             ;     .   .   I   ?
      . ` ^ , .                         .     .   r   7     .     ,           F       > .   .     ?
       7     ` ? .                     J       .         .   .     ?       . F         r   .       7
        <       ` .                     S         ` J ,   .   .     ! . . . t             . !       7
         .         ^ .         .         .         `   ^ . .   .       P %               . `         ?
          .           J       j ,       ` .     `   ,     .     ?     . 7               `             <
           .           ? .       7       >       ` .       , .   7 .   . !             `               ~
            .           ? , r 8   !     +           n       o .     , .     .                           .
             .           , 7   .       =   .       . .       . .     ^ Y                                 .
              .             ,     7   2     .     . % .       . ,     . r   .         .                   .
               .         <         ~ r         .   ,             7     `     >         ,                   .
                .         . `       L       r   .         l       . .       .         6       4 .
                 .       1   T       .     $     ^ .     .       . . = . . . .       .         . = .       `
                  .           .       .   r   `     =   . , .   ? ? J   ^ %         . .         .   ,       7
                   ~     L   ~ .       . t     t     ` J %   ,   ^   = .           . !           .   ^ .     !
                    <   .     . .     . $ `   ,             J     .   ! `         . ~                   ,     .
                     < .     L   .   G = = 7   .       ` . . . 1       7 ' , . . ,               ?       7     .
                      3     .     .       . ~ t     J     $ '     ,     ,   ` ^ !                 <       ! .
                       ?   .       . j     ? .     r .   . .   r   r . J                           .         .
                        7 . .       . ,     7 .   J     L J ? L   . . ^ .           Z                         . ?
                         ! `       ,         r   .   ~     7 ` . . . 1               7             .           ? 1
                          ` .       . %     j     ;   = 4   ?   ' `                 ? `             =           ? .
                             .   . .             j     . .   ?       <   `           ,               .           7
                              ` . % 7         .   .     .     7       .   ?
                               7 `   .         . r .     G     <     J     ~         5               ?
                                .     .         ,         .     .     .     .         .     .         ,
                               4       .         ^ ;             .   t               ?
                                .       .           ?               .       .         .               4
                               J   . . . .           1           7 .         =       1                 .
                                . r ^ ^ ` .           .           . ;         .     .                 ,
                                 `       ! .         .             :                 ,         `       ,
                                J           .     . . .                       4     F           ?     .
                                 i . ` , .   .     >                           . . F             ^     ;
                                  J !   ` ?   ?     =                         ` , %               .   .
                                 .         7   T     .                         '                   .   ,
                                  1         !   i . .                                                 ,
                                   .         ?   . D .                                                 ,
                                              7   .                                                 ? ,
                                   ?           + ` l                                                 ^ ,
                                    1           . j                                                   C
                                     .         .   ,
                                                i 1
                                                 .
                                      7         G ;
                                       <         %
                                        .     . %
                                         . . J `
                                          % '

Quy tắc và ghi chú

  • Đầu vào và đầu ra có thể ở bất kỳ định dạng thuận tiện và mã hóa ký tự miễn là nó hỗ trợ tất cả các ký tự ASCII có thể in được (U + 0020 - U + 007E, LF)
  • Bạn có thể giả sử đầu vào chỉ chứa các ký tự ASCII có thể in (được xác định ở trên)
  • Bạn phải hỗ trợ nghệ thuật lên đến 100×100 ký tự.
  • Bạn có thể giả sử đầu vào được đệm đúng, như là một lưới các ký tự hình chữ nhật hoàn hảo.
    • 100×100
  • Sử dụng không gian ASCII để căn chỉnh và ký tự khoảng trắng.
  • Các ký tự có thể được đặt quá mức (hoặc thậm chí dưới đệm) theo bất kỳ hướng nào miễn là kết quả được căn chỉnh chính xác.

Chúc bạn chơi golf vui vẻ!


5
Sonic tội nghiệp, anh ta chỉ muốn sống D:
Benjamin Urquhart

bạn có thể muốn sử dụng các ký tự có chiều rộng đầy đủ để sau khi xoay, nó vẫn có hình dạng khá vuông Hiển thị các ký tự trên lưới vuông? , Chuyển đổi các ký tự có độ rộng đầy đủ thành các ký tự nửa chiều rộng (perl, regex, tiếng Nhật)
phuclv


@Shaggy Tôi muốn nói chỉ liên quan, nhưng vâng, chắc chắn có rất nhiều điểm tương đồng. Sự khác biệt đáng kể duy nhất là thách thức này đòi hỏi phải có không gian đệm ở đầu ra. Trong những tin tức khác, bạn rất ấn tượng trong việc tìm kiếm bản sao.
Beefster

Nếu đó là sự thật, tôi đã tìm thấy thử thách đó trong khi thử thách này vẫn còn trong Sanbox! Tôi tình cờ phát hiện ra nó hoàn toàn tình cờ trong khi tìm kiếm một ý tưởng thách thức mà tôi có và ngay lập tức nhớ ra ý tưởng của bạn.
Shaggy

Câu trả lời:


18

Than , 2 byte

↘A

Hãy thử trực tuyến! Liên kết là phiên bản dài dòng của mã. Đưa đầu vào dưới dạng một chuỗi ký tự được phân tách bằng dòng mới hoặc dưới dạng một chuỗi các chuỗi. Giải thích: đọc đầu vào và đầu ra theo hướng chéo mong muốn. Phiên bản chấp nhận danh sách các dòng kết thúc trống từ STDIN:

WS⊞υι↘υ

Hãy thử trực tuyến! Liên kết là phiên bản dài dòng của mã.


Ồ Công cụ phù hợp cho công việc.
Connectyourcharger

10

Canvas , 6 byte

/⤢ *\⤢

Hãy thử nó ở đây!

/        pad each line with one less space than the previous
 ⤢       transpose the object
   *     place a space between every character
    \    pad each line with one more space than the previous
     ⤢   transpose the object back

Thí dụ:

123
456
789
/:
  123
 456
789
⤢:
  7
 48
159
26 
3  
 *:
    7
  4 8
1 5 9
2 6  
3    
\:
    7    
   4 8   
  1 5 9  
   2 6   
    3    
⤢:


  1  
 4 2 
7 5 3
 8 6 
  9  



Là mã và giải thích của bạn không sử dụng dấu gạch chéo khác nhau?
Adám

@ Adám Tôi thường ASCII-fy giải thích cho họ để căn chỉnh tốt hơn
dzaima



1

05AB1E , 18 12 byte

RāRú€Sζðýāú»

Câu trả lời Canvas của @dzaima , vì vậy hãy đảm bảo nâng cao anh ấy !!

Nhập dưới dạng danh sách các dòng.

Hãy thử trực tuyến.

Giải trình:

R             # Reverse the (implicit) input-list
 ā            # Push a list in the range [1, length of input-list],
              # without popping the list itself
  R           # Reverse this list to [length, 1]
   ú          # Pad the reversed input-list with that many leading spaces
    S        # Split each string on spaces
      ζ       # Zip/transpose; swapping rows/columns, with space default as filler
       ðý     # Join each inner character-list by spaces
         ā    # Push a list in the range [1, length of this string-list],
              # without popping the list itself
          ú   # Pad the list of strings with that many leading spaces
           »  # Join the string-list by newlines (and output the result implicitly)

Câu trả lời gốc 18 17 byte:

g2IεNFR]JŽE5SΛ

Nhập dưới dạng danh sách các dòng.

Hãy thử trực tuyến.

Giải trình:

g     # Get the length of each line of the (implicit) input
       # (assumes they are all padded with spaces to make them of equal length)
  2.ý  # Intersperse this list with 2 (i.e. [3,3,3] becomes [3,2,3,2,3])
Iε     # Map the strings in the input to:
  NF   #  Loop the 0-based index amount of times:
    R  #   And reverse the current string that many times
 ]J    # After the loop and map: join the strings to a single string
ŽE5S   # Push compressed integer 3575, converted to a list of digits: [3,5,7,5]
Λ      # Use the canvas with these three options (which is output immediately by default)

Xem 05AB1E mẹo này của tôi (phần Làm thế nào để nén các số nguyên lớn? ) Để hiểu tại sao ŽE53575.

Một số thông tin khác về nội dung Canvas 05AB1E có thể được tìm thấy trong mẹo này của tôi.

Nội dung Canvas có ba tham số:

  • một
  • b
  • c[0,7]+×8

Trong thử thách này, tôi sử dụng các tùy chọn sau:

c[3,5,7,5][,,↖↙]

     S
      
   ↙↖   
        
↙↖      ↖↙
     
  .   
    .

b : Vì chúng tôi in theo hướng này, điều này có nghĩa là danh sách các chuỗi chúng tôi nhập vào phải được sửa đổi một chút, đó là những gì chúng tôi làm với đảo ngược trên mỗi chuỗi được lập chỉ mục lẻ dựa trên 0 trong danh sách.

một372521




0

JavaScript (ES6), 102 byte

f=
s=>(z=[...Array(100)],o=z.map(v=>z.map(_=>" ")),s.map((r,y)=>r.map((c,x)=>o[y+x][s.length+~y+x]=c)),o)

Hãy thử trực tuyến!

Đầu vào và đầu ra như danh sách các danh sách.

Giải trình:

Tạo lưới không gian 100x100. Sau đó lặp qua đầu vào, thiết lập mục nhập thích hợp trong lưới. Chỉ số của ký tự cần đặt được tính như x' = length of input - 1 + y + xy' = y + x .

Kết quả trả về là danh sách 100x100 danh sách, với đầu ra ở góc trên bên trái.




Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.