हाउंडस्टूथ पैटर्न ड्रा करें


22

एक प्रोग्राम या फ़ंक्शन लिखें जो दो सकारात्मक पूर्णांक, एक चौड़ाई और ऊंचाई में लेता है, और उन आयामों के साथ एक ASCII कला हाउंडस्टूथ ग्रिड पैटर्न खींचता है जो आधार सेल के रूप में इस 25 × 26 टेक्स्ट ग्रिड का उपयोग करते हैं:

.......#.....#####.......
.......##.....#####......
.......###.....#####.....
.......####.....####.....
.......#####.....###.....
.......######.....##.....
.......#######.....#.....
.......########..........
####################.....
.####################....
..####################...
...####################..
....####################.
.....####################
#.....##############.####
##.....#############..###
###....#############...##
####...#############....#
#####..#############.....
.#####.#############.....
..##################.....
........#####............
.........#####...........
..........#####..........
...........#####.........
............#####........

तो अगर इनपुट था 2,1आउटपुट होगा:

.......#.....#####..............#.....#####.......
.......##.....#####.............##.....#####......
.......###.....#####............###.....#####.....
.......####.....####............####.....####.....
.......#####.....###............#####.....###.....
.......######.....##............######.....##.....
.......#######.....#............#######.....#.....
.......########.................########..........
####################.....####################.....
.####################.....####################....
..####################.....####################...
...####################.....####################..
....####################.....####################.
.....####################.....####################
#.....##############.#####.....##############.####
##.....#############..#####.....#############..###
###....#############...#####....#############...##
####...#############....#####...#############....#
#####..#############.....#####..#############.....
.#####.#############......#####.#############.....
..##################.......##################.....
........#####....................#####............
.........#####....................#####...........
..........#####....................#####..........
...........#####....................#####.........
............#####....................#####........

और अगर इनपुट 5,4होता तो आउटपुट होता:

.......#.....#####..............#.....#####..............#.....#####..............#.....#####..............#.....#####.......
.......##.....#####.............##.....#####.............##.....#####.............##.....#####.............##.....#####......
.......###.....#####............###.....#####............###.....#####............###.....#####............###.....#####.....
.......####.....####............####.....####............####.....####............####.....####............####.....####.....
.......#####.....###............#####.....###............#####.....###............#####.....###............#####.....###.....
.......######.....##............######.....##............######.....##............######.....##............######.....##.....
.......#######.....#............#######.....#............#######.....#............#######.....#............#######.....#.....
.......########.................########.................########.................########.................########..........
####################.....####################.....####################.....####################.....####################.....
.####################.....####################.....####################.....####################.....####################....
..####################.....####################.....####################.....####################.....####################...
...####################.....####################.....####################.....####################.....####################..
....####################.....####################.....####################.....####################.....####################.
.....####################.....####################.....####################.....####################.....####################
#.....##############.#####.....##############.#####.....##############.#####.....##############.#####.....##############.####
##.....#############..#####.....#############..#####.....#############..#####.....#############..#####.....#############..###
###....#############...#####....#############...#####....#############...#####....#############...#####....#############...##
####...#############....#####...#############....#####...#############....#####...#############....#####...#############....#
#####..#############.....#####..#############.....#####..#############.....#####..#############.....#####..#############.....
.#####.#############......#####.#############......#####.#############......#####.#############......#####.#############.....
..##################.......##################.......##################.......##################.......##################.....
........#####....................#####....................#####....................#####....................#####............
.........#####....................#####....................#####....................#####....................#####...........
..........#####....................#####....................#####....................#####....................#####..........
...........#####....................#####....................#####....................#####....................#####.........
............#####....................#####....................#####....................#####....................#####........
.......#.....#####..............#.....#####..............#.....#####..............#.....#####..............#.....#####.......
.......##.....#####.............##.....#####.............##.....#####.............##.....#####.............##.....#####......
.......###.....#####............###.....#####............###.....#####............###.....#####............###.....#####.....
.......####.....####............####.....####............####.....####............####.....####............####.....####.....
.......#####.....###............#####.....###............#####.....###............#####.....###............#####.....###.....
.......######.....##............######.....##............######.....##............######.....##............######.....##.....
.......#######.....#............#######.....#............#######.....#............#######.....#............#######.....#.....
.......########.................########.................########.................########.................########..........
####################.....####################.....####################.....####################.....####################.....
.####################.....####################.....####################.....####################.....####################....
..####################.....####################.....####################.....####################.....####################...
...####################.....####################.....####################.....####################.....####################..
....####################.....####################.....####################.....####################.....####################.
.....####################.....####################.....####################.....####################.....####################
#.....##############.#####.....##############.#####.....##############.#####.....##############.#####.....##############.####
##.....#############..#####.....#############..#####.....#############..#####.....#############..#####.....#############..###
###....#############...#####....#############...#####....#############...#####....#############...#####....#############...##
####...#############....#####...#############....#####...#############....#####...#############....#####...#############....#
#####..#############.....#####..#############.....#####..#############.....#####..#############.....#####..#############.....
.#####.#############......#####.#############......#####.#############......#####.#############......#####.#############.....
..##################.......##################.......##################.......##################.......##################.....
........#####....................#####....................#####....................#####....................#####............
.........#####....................#####....................#####....................#####....................#####...........
..........#####....................#####....................#####....................#####....................#####..........
...........#####....................#####....................#####....................#####....................#####.........
............#####....................#####....................#####....................#####....................#####........
.......#.....#####..............#.....#####..............#.....#####..............#.....#####..............#.....#####.......
.......##.....#####.............##.....#####.............##.....#####.............##.....#####.............##.....#####......
.......###.....#####............###.....#####............###.....#####............###.....#####............###.....#####.....
.......####.....####............####.....####............####.....####............####.....####............####.....####.....
.......#####.....###............#####.....###............#####.....###............#####.....###............#####.....###.....
.......######.....##............######.....##............######.....##............######.....##............######.....##.....
.......#######.....#............#######.....#............#######.....#............#######.....#............#######.....#.....
.......########.................########.................########.................########.................########..........
####################.....####################.....####################.....####################.....####################.....
.####################.....####################.....####################.....####################.....####################....
..####################.....####################.....####################.....####################.....####################...
...####################.....####################.....####################.....####################.....####################..
....####################.....####################.....####################.....####################.....####################.
.....####################.....####################.....####################.....####################.....####################
#.....##############.#####.....##############.#####.....##############.#####.....##############.#####.....##############.####
##.....#############..#####.....#############..#####.....#############..#####.....#############..#####.....#############..###
###....#############...#####....#############...#####....#############...#####....#############...#####....#############...##
####...#############....#####...#############....#####...#############....#####...#############....#####...#############....#
#####..#############.....#####..#############.....#####..#############.....#####..#############.....#####..#############.....
.#####.#############......#####.#############......#####.#############......#####.#############......#####.#############.....
..##################.......##################.......##################.......##################.......##################.....
........#####....................#####....................#####....................#####....................#####............
.........#####....................#####....................#####....................#####....................#####...........
..........#####....................#####....................#####....................#####....................#####..........
...........#####....................#####....................#####....................#####....................#####.........
............#####....................#####....................#####....................#####....................#####........
.......#.....#####..............#.....#####..............#.....#####..............#.....#####..............#.....#####.......
.......##.....#####.............##.....#####.............##.....#####.............##.....#####.............##.....#####......
.......###.....#####............###.....#####............###.....#####............###.....#####............###.....#####.....
.......####.....####............####.....####............####.....####............####.....####............####.....####.....
.......#####.....###............#####.....###............#####.....###............#####.....###............#####.....###.....
.......######.....##............######.....##............######.....##............######.....##............######.....##.....
.......#######.....#............#######.....#............#######.....#............#######.....#............#######.....#.....
.......########.................########.................########.................########.................########..........
####################.....####################.....####################.....####################.....####################.....
.####################.....####################.....####################.....####################.....####################....
..####################.....####################.....####################.....####################.....####################...
...####################.....####################.....####################.....####################.....####################..
....####################.....####################.....####################.....####################.....####################.
.....####################.....####################.....####################.....####################.....####################
#.....##############.#####.....##############.#####.....##############.#####.....##############.#####.....##############.####
##.....#############..#####.....#############..#####.....#############..#####.....#############..#####.....#############..###
###....#############...#####....#############...#####....#############...#####....#############...#####....#############...##
####...#############....#####...#############....#####...#############....#####...#############....#####...#############....#
#####..#############.....#####..#############.....#####..#############.....#####..#############.....#####..#############.....
.#####.#############......#####.#############......#####.#############......#####.#############......#####.#############.....
..##################.......##################.......##################.......##################.......##################.....
........#####....................#####....................#####....................#####....................#####............
.........#####....................#####....................#####....................#####....................#####...........
..........#####....................#####....................#####....................#####....................#####..........
...........#####....................#####....................#####....................#####....................#####.........
............#####....................#####....................#####....................#####....................#####........
  • चौड़ाई का तर्क पहले आना चाहिए। किसी भी उचित इनपुट प्रारूप (जैसे w,h, w h, (w, h)) ठीक है।
  • एक वैकल्पिक अनुगामी न्यूलाइन के साथ परिणाम प्रिंट या वापस करें।
  • आप और के स्थान पर किसी भी दो अलग मुद्रण योग्य ASCII वर्ण का उपयोग कर सकते हैं ।.#
  • आप बेस सेल को लंबवत या क्षैतिज रूप से अनुवाद कर सकते हैं, जैसे कि इसकी समय-समय पर सीमा की स्थिति थी । इस प्रकार आउटपुट के ऊपरी बाएँ कोने में 7 × 8 आयत नहीं होगी .। ( नया नियम! )

बाइट्स में सबसे छोटा कोड जीतता है।

एक बोनस के रूप में, इसके बजाय एक छवि बनाएं जहां प्रत्येक .एक रंग #का एक पिक्सेल है और प्रत्येक दूसरे रंग का एक पिक्सेल है।


किस तरह का बोनस? एक कुकी..? ;-)
ज़ैच गेट्स

4
अपना "सबसे छोटा कोड जीतता है" स्क्रू, मैं Befunge'ing हूँ!
एल'एंडिया स्ट्रैटन

7
@ZachGates शायद एक कुत्ते का बिस्कुट है।
केल्विन के शौक

रोल टाइड टू दैट!
ग्रेग बेकन

जवाबों:


17

पायथ, 61 60 55 49 बाइट्स

j*vwmjk*Qd++Rm012Jmms}k++Rhd5U-d4T=T13+Lm1T_mP_dJ

इसे ऑनलाइन आज़माएँ: प्रदर्शन

संपादित 1: बैंड और त्रिकोण उत्पन्न करने वाले दो कथनों को मिलाएं (नीचे देखें)

संपादन 2: यह नहीं देखा कि हम किसी भी प्रतीक का उपयोग कर सकते हैं। सहेजे गए 5 बाइट्स संपादित करें

3 संपादित करें: @ केल्विन के शौक ने आधार छवि का अनुवाद करने की अनुमति दी। चूंकि मेरा दृष्टिकोण इस विचार पर आधारित था, इसलिए इससे काफी मदद मिली। -6 बाइट्स

और कुकी बोनस के लिए :

.w*vw*RQ++Rm012Jmm*K255}k++Rhd5U-d4T=T13+LmKT_mP_dJ

यह केवल 2 बाइट्स लंबा (51 बाइट्स) है और फ़ाइल जनरेट करता है o.png। इनपुट के लिए 5\n4यह निम्नलिखित चित्र बनाता है:

हाउंडस्टूथ पैटर्न

स्पष्टीकरण:

हाउंडस्टूथ पैटर्न वास्तव में काफी अनियमित दिखता है। लेकिन अगर हम बाएँ 7 स्तंभों को दाईं ओर और शीर्ष 5 पंक्तियों को बोतलबंद पर लाते हैं तो हमें एक बहुत अच्छा पैटर्न मिलता है:

.#####...................
..#####..................
...#####.................
....#####................
.....#####...............
#.....#####..............
##.....#####.............
###.....#####............
####.....####............
#####.....###............
######.....##............
#######.....#............
########.................
#############.....#######
##############.....######
###############.....#####
################.....####
#################.....###
##################.....##
#############.#####.....#
#############..#####.....
#############...#####....
#############....#####...
#############.....#####..
#############......#####.
#############.......#####

पहले मैं शीर्ष-बाएँ 13x13 ब्लॉक का उत्पादन करता हूँ:

.#####.......
..#####......
...#####.....
....#####....
.....#####...
#.....#####..
##.....#####.
###.....#####
####.....####
#####.....###
######.....##
#######.....#
########.....

2 सरल असमानताएं हैं, जो दो- #दरारों का वर्णन करती हैं। बैंड द्वारा वर्णित किया जा सकता है y + 1 <= x <= y + 5और त्रिकोण द्वारा वर्णित किया जा सकता है x <= y - 5। मैंने इन दो स्थितियों को संयुक्त किया है:

Jmms}k++Rhd5U-d4T=T13
                 =T13   T = 13
 m               T      map each d of [0, 1, ..., 12] to: 
                           the list produced by
  m             T          map each k of [0, 1, ..., 12] to:
       +Rhd5                  the list [d+1, d+2, ..., d+5]
      +                       extended by 
            U-d4              the list [0, 1, ..., d - 5]
    }k                        test if k is in the list
   s                          and convert the boolean result to 1 or 0
J                       assign this 13x13 block to J

फिर +Rm012प्रत्येक पंक्ति के अंत में 12 शून्य जोड़ता है, ऊपरी 25x13 ब्लॉक प्राप्त करने के लिए।

निचला 25x13 ब्लॉक अब वास्तव में सरल है:

+Lm1T_mP_dJ
      m   J    map each row d of J to:
       P_d        reverse the row and pop the last element
     _         reverse the order the rows
+Lm1T          add T ones at the beginning of each row. 

अब सब छोड़ दिया गया है कि पैटर्न को दोहराएं और इसे प्रिंट करें

j*vwmjk*Qd+upperlower   implicit: Q = first input number
          +upperlower   combine the two blocks to a 25x26 block
    m                   map each row d to:
       *Qd                 repeat d Q times
     jk                    and join to a string
 *vw                    read another number from input and repeat
j                       join by newlines and print

कुकी बोनस कोड का अंतर :

  • 255 के बजाय 1
  • इसके बजाय mjk*Qdमैं उपयोग करता हूं *RQ, क्योंकि मुझे एक स्ट्रिंग नहीं चाहिए
  • .w फ़ाइल करने के लिए इस 2D-सरणी को सहेजता है (इसे धर्मान्तरित करने के लिए परिवर्तित करता है)

5
शानदार व्याख्या!
ट्राइकोप्लाक्स

आप स्पष्ट रूप से "नीचे से ऊपर 5 पंक्तियों" का मतलब है, यह सिर्फ एक टाइपो है। मुझे समझ नहीं आ रहा है कि कार्रवाई किए बिना मेरी टिप्पणी क्यों हटा दी गई। एक परिणाम के रूप में, मुझे शर्म आ रही है और अब अपने पोस्ट को स्वयं संपादित करूंगा। सब सब में, एक बहुत अच्छा जवाब और एक उत्कृष्ट व्याख्या। मैंने पहले ही इसे पहले ही उखाड़ दिया था
लेवल रिवर सेंट

@steveverrill ओह, क्षमा करें। मुझे लगा कि आप अपनी अंग्रेजी को मार्ग में सही करना चाहते हैं, जिसमें मैंने परिवर्तन का वर्णन किया है। अब निश्चित कर दिया। धन्यवाद।
जकुबे

11

CJam, 106 73 71 बाइट्स

0000000: 71 7e 22 04 94 51 af 40 6e 73 b2 68 3a e1 7e 13 f2 a1  q~"..Q.@ns.h:.~...
0000012: 3e 1d de f5 64 9c 6b 0f 27 4c 36 d7 81 3d 30 35 56 f8  >...d.k.'L6..=05V.
0000024: cd e8 cd 7c dc 90 31 59 40 8b 8c 22 32 35 36 62 32 32  ...|..1Y@.."256b22
0000036: 62 41 73 33 39 2a 2e 2a 73 32 35 2f 2a 66 2a 4e 2a     bAs39*.*s25/*f*N*

प्रिंटों 1और 0के बजाय .और #CJam दुभाषिया में इसे ऑनलाइन आज़माएं ।

यह काम किस प्रकार करता है

q~      e# Read and evaluate all input. This pushes W and H.
"…"     e# Push an encoding of run lengths of the characters in the output.
256b22b e# Convert from base 256 to base 22.
As39*   e# Push "10" and repeat it 39 times.
.*      e# Vectorized character repetition; multiply each base 22 digit (run
        e# length) by the corresponding character of "10…10".
s25/    e# Flatten and split into chunks of length 25.
*       e# Repeat the resulting array of rows H times.
f*      e# Repeat each row W times.
N*      e# Join the rows, separating by linefeeds.

कुकी बोनस

0000000: 27 50 6f 31 70 71 7e 5d 5f 5b 32 35 5f 29 5d 2e 2a 5c  'Po1pq~]_[25_)].*\
0000012: 7e 22 04 94 51 af 40 6e 73 b2 68 3a e1 7e 13 f2 a1 3e  ~"..Q.@ns.h:.~...>
0000024: 1d de f5 64 9c 6b 0f 27 4c 36 d7 81 3d 30 35 56 f8 cd  ...d.k.'L6..=05V..
0000036: e8 cd 7c dc 90 31 59 40 8b 8c 22 32 35 36 62 32 32 62  ..|..1Y@.."256b22b
0000048: 41 73 33 39 2a 2e 2a 73 32 35 2f 2a 66 2a 73 2b 4e 2a  As39*.*s25/*f*s+N*

ASCII कला के बजाय एक पोर्टेबल बिटमैप प्रिंट करता है।

नीचे 24 13पीएनजी में परिवर्तित इनपुट के लिए आउटपुट है :

उत्पादन


7

बेफुंज -93 , 2120 1967 बाइट्स

डिबगिंग के लिए अपवाद-हैंडलिंग के साथ यहां कुछ उच्च गुणवत्ता वाले befunge हैं!

&&00p10pv
v       <
    >94+2*20p        v
>00g|   >                v
    @                >10g>0020gv-1:<
                               >:0`|
                     ,       v    $<
                     +        >v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v
 v_$1-:#^_$20g1-20p55^       >|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>"!DAB"....@
 ,:
 >^".......#.....#####......."                                                    <
  ^".......##.....#####......"                                                  <
  ^".......###.....#####....."                                                <
  ^".......####.....####....."                                              <
  ^".......#####.....###....."                                            <
  ^".......######.....##....."                                          <
  ^".......#######.....#....."                                        <
  ^".......########.........."                                      <
  ^"####################....."                                    <
  ^".####################...."                                  <
  ^"..####################..."                                <
  ^"...####################.."                              <
  ^"....####################."                            <
  ^".....####################"                          <
  ^"#.....##############.####"                        <
  ^"##.....#############..###"                      <
  ^"###....#############...##"                    <
  ^"####...#############....#"                  <
  ^"#####..#############....."                <
  ^".#####.#############....."              <
  ^"..##################....."            <
  ^"........#####............"          <
  ^".........#####..........."        <
  ^"..........#####.........."      <
  ^"...........#####........."    <
  ^"............#####........"  <
^                     p00-1g00<

(जाहिर है, यह अभी भी बहुत गोल्फ है। मैं अभी यहां एक उत्तर प्राप्त करना चाहता था)

तो, यह विभिन्न भागों से बना है।

&&00p10p

यह सिर्फ इनिशियलाइज़र है, यह वैल्यूज़ में लेता है और उन्हें स्टोर करता है

    >94+2*20p
>00g|      > 
    @  

यह खंड पंक्ति गणना को रीसेट करता है, इसलिए हम एक और (चौड़ाई) चित्रों को एक साथ प्रिंट कर सकते हैं। 94+2*26, पंक्तियों की संख्या की गणना है। इसके अलावा, यदि ऊंचाई शून्य है, तो कार्यक्रम समाप्त हो जाएगा।

>10g

यह स्टैक पर चौड़ाई प्राप्त करता है इसलिए हम जानते हैं कि कितने प्रिंट करना है

0020gv-1:<
     >:0`|
         $

जब हमने एक ऑपरेशन समाप्त किया है, तब यह बताने के लिए स्टैक में दो डमी मान जोड़ता है, साथ ही हम किस पंक्ति (n) पर हैं। इसके बाद स्टैक में n मान जोड़ता है

>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v
|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>"!DAB"....@

                                                    <
                                                  <
                                                <
                                              <
                                            <
                                          <
                                        <
                                      <
                                    <
                                  <
                                <
                              <
                            <
                          <
                        <
                      <
                    <
                  <
                <
              <
            <
          <
        <
      <
    <
  <
<

यह एक नियंत्रण खंड है जो (26-n) पंक्ति के लिए होगा। यह सबसे आसान तरीका है जिससे मैं यह पता लगा सकता हूं कि यह कैसे करना है।

".......#.....#####......."
".......##.....#####......"
".......###.....#####....."
".......####.....####....."
".......#####.....###....."
".......######.....##....."
".......#######.....#....."
".......########.........."
"####################....."
".####################...."
"..####################..."
"...####################.."
"....####################."
".....####################"
"#.....##############.####"
"##.....#############..###"
"###....#############...##"
"####...#############....#"
"#####..#############....."
".#####.#############....."
"..##################....."
"........#####............"
".........#####..........."
"..........#####.........."
"...........#####........."
"............#####........"

यह, स्पष्ट रूप से पढ़ा जाता है और जो भी पंक्ति पीछे की ओर पढ़ी जाती है वह पॉप होगी। इसका मतलब है कि जब हम इसे बंद करते हैं, तो यह ठीक से प्रिंट होगा।

v_
,:
>^

यह तब तक प्रिंट होगा जब तक कि स्टैक 0 से हिट न हो जाए, जिसे हमने पहले छोड़ दिया था।

1-:#^_

यह प्रिंट करने के लिए विशिष्ट लाइन की संख्या का 1 गुना लेता है, फिर जांचता है कि यह शून्य है या नहीं। यदि यह गैर-शून्य है, तो हम कोड के चौथे ब्लॉक पर वापस जाते हैं।

          ,
          +
20g1-20p55^

यह पंक्ति (n) से 1 घटाता है, एक नई रेखा प्रिंट करता है, और 3 ब्लॉक करता है

p00-1g00

सभी पंक्तियों के एक बार मुद्रित होने के बाद, यह प्रारंभिक ऊंचाई से एक को घटाता है और ब्लॉक 2 पर वापस जाता है।

बाकी सभी कोड या तो नियंत्रण प्रवाह या स्टैक प्रबंधन हैं। इस मेस को लिखने से ज्यादा मुझे लगा कि यह होगा, लेकिन मैं इससे संतुष्ट हूं कि यह कैसा दिखता है। यह बहुत अधिक गोल्फ है, और संभवतः एक और दिन के लिए एक परियोजना बनी रहेगी।

2120 -> 1967 : बहुत सारी बर्बाद हुई जगहों के साथ कुछ पंक्तियाँ बनाईं


1
मैंने उसे गोल्फ दिया। विशेष रूप से आपका जवाब नहीं है, लेकिन मैं Befunge में एक घेर लिया!
एल'एंडिया स्ट्रैटन

6

पर्ल, 243

(एक बाइट -nस्टड से इनपुट लाने के लिए स्विच के लिए जोड़ा गया है ।)

($w,$h)=split;for(1..$h){print((sprintf("%025b",hex)x$w).$/)foreach qw(20f80 307c0 383e0 3c1e0 3e0e0 3f060 3f820 3fc00 1ffffe0 fffff0 7ffff8 3ffffc 1ffffe fffff 107ffef 183ffe7 1c3ffe3 1e3ffe1 1f3ffe0 fbffe0 7fffe0 1f000 f800 7c00 3e00 1f00)}

यह काफी सरल है - यह सब करता है कि 26 हेक्स संख्याओं की एक सरणी को द्विआधारी में बदल दिया जाता है और उन्हें आवश्यक संख्या में प्रिंट करता है।

उदाहरण:

इनपुट:

3 2

आउटपुट:

000000010000011111000000000000001000001111100000000000000100000111110000000
000000011000001111100000000000001100000111110000000000000110000011111000000
000000011100000111110000000000001110000011111000000000000111000001111100000
000000011110000011110000000000001111000001111000000000000111100000111100000
000000011111000001110000000000001111100000111000000000000111110000011100000
000000011111100000110000000000001111110000011000000000000111111000001100000
000000011111110000010000000000001111111000001000000000000111111100000100000
000000011111111000000000000000001111111100000000000000000111111110000000000
111111111111111111110000011111111111111111111000001111111111111111111100000
011111111111111111111000001111111111111111111100000111111111111111111110000
001111111111111111111100000111111111111111111110000011111111111111111111000
000111111111111111111110000011111111111111111111000001111111111111111111100
000011111111111111111111000001111111111111111111100000111111111111111111110
000001111111111111111111100000111111111111111111110000011111111111111111111
100000111111111111110111110000011111111111111011111000001111111111111101111
110000011111111111110011111000001111111111111001111100000111111111111100111
111000011111111111110001111100001111111111111000111110000111111111111100011
111100011111111111110000111110001111111111111000011111000111111111111100001
111110011111111111110000011111001111111111111000001111100111111111111100000
011111011111111111110000001111101111111111111000000111110111111111111100000
001111111111111111110000000111111111111111111000000011111111111111111100000
000000001111100000000000000000000111110000000000000000000011111000000000000
000000000111110000000000000000000011111000000000000000000001111100000000000
000000000011111000000000000000000001111100000000000000000000111110000000000
000000000001111100000000000000000000111110000000000000000000011111000000000
000000000000111110000000000000000000011111000000000000000000001111100000000
000000010000011111000000000000001000001111100000000000000100000111110000000
000000011000001111100000000000001100000111110000000000000110000011111000000
000000011100000111110000000000001110000011111000000000000111000001111100000
000000011110000011110000000000001111000001111000000000000111100000111100000
000000011111000001110000000000001111100000111000000000000111110000011100000
000000011111100000110000000000001111110000011000000000000111111000001100000
000000011111110000010000000000001111111000001000000000000111111100000100000
000000011111111000000000000000001111111100000000000000000111111110000000000
111111111111111111110000011111111111111111111000001111111111111111111100000
011111111111111111111000001111111111111111111100000111111111111111111110000
001111111111111111111100000111111111111111111110000011111111111111111111000
000111111111111111111110000011111111111111111111000001111111111111111111100
000011111111111111111111000001111111111111111111100000111111111111111111110
000001111111111111111111100000111111111111111111110000011111111111111111111
100000111111111111110111110000011111111111111011111000001111111111111101111
110000011111111111110011111000001111111111111001111100000111111111111100111
111000011111111111110001111100001111111111111000111110000111111111111100011
111100011111111111110000111110001111111111111000011111000111111111111100001
111110011111111111110000011111001111111111111000001111100111111111111100000
011111011111111111110000001111101111111111111000000111110111111111111100000
001111111111111111110000000111111111111111111000000011111111111111111100000
000000001111100000000000000000000111110000000000000000000011111000000000000
000000000111110000000000000000000011111000000000000000000001111100000000000
000000000011111000000000000000000001111100000000000000000000111110000000000
000000000001111100000000000000000000111110000000000000000000011111000000000
000000000000111110000000000000000000011111000000000000000000001111100000000

3

Rev 1, C, 118 115 बाइट्स

i,x,y;f(w,h){for(i=26*h*(w*=25);i--;i%w||puts(""))x=i%25,y=i/w%26,putchar(((y>x^y>x+5^x>y+4)&y/13==x/13^y/13)+34);}

सेल के अनुवाद की अनुमति देने वाले नए नियम के कारण 9 बाइट्स बच गए। के इस्तेमाल से 3 बाइट बचीं w*=25। बाकी पद अपरिवर्तित रहे।

रेव 0, सी, 127 बाइट्स

i,x,y;f(w,h){for(i=650*w*h;i--;i%(25*w)||puts(""))x=(i+20)%25,y=(i/25/w+8)%26,putchar(((y>x^y>x+5^x>y+4)&y/13==x/13^y/13)+34);}

यह पात्रों के माध्यम से जाता है, उन्हें एक-एक करके मुद्रित करता है। i%(25*w)||puts("")प्रत्येक पंक्ति के अंत में एक नई पंक्ति सम्मिलित करता है।

डिज़ाइन को देखने का मेरा तरीका जकुबे के समान है, लेकिन मैं नीचे की ओर शीर्ष 8 पंक्तियों को लाता हूं और निम्नलिखित दृश्य प्राप्त करने के लिए 5 दाएं कॉलम को बाईं ओर। कार्यक्रम इस कदम है में से "उलट" +20और +8x और y के लिए भाव में।

"""""####################
#"""""###################
##"""""##################
###"""""#################
####"""""################
#####"""""###############
"#####"""""##############
""#####"""""#############
"""#####""""#############
""""#####"""#############
"""""#####""#############
""""""#####"#############
"""""""##################
"""""""""""""#####"""""""
""""""""""""""#####""""""
"""""""""""""""#####"""""
""""""""""""""""#####""""
"""""""""""""""""#####"""
""""""""""""#"""""#####""
""""""""""""##"""""#####"
""""""""""""###"""""#####
""""""""""""####"""""####
""""""""""""#####"""""###
""""""""""""######"""""##
""""""""""""#######"""""#
""""""""""""########"""""

"रंगों के व्युत्क्रम" के अलावा यह बहुत समान दिख सकता है, लेकिन एक महत्वपूर्ण अंतर है: विकर्ण धारियां मेल खाती हैं। (ध्यान दें कि मूल डिज़ाइन में विकर्ण समरूपता नहीं है क्योंकि यह 25x26 मापता है।)

अभिव्यक्ति ((y>x^y>x+5^x>y+4)^y/13)+34निम्नलिखित का उत्पादन करती है, जहां विभिन्न तुलना ऑपरेटर स्ट्रिप्स का उत्पादन करते हैं, ^y/13"कलर फ्लिप" आधे रास्ते का उत्पादन करते हैं और +34परिणामी संख्या लेते हैं 0,1और इसे ASCII सीमा तक बढ़ाते हैं 34,35

"""""####################
#"""""###################
##"""""##################
###"""""#################
####"""""################
#####"""""###############
"#####"""""##############
""#####"""""#############
"""#####"""""############
""""#####"""""###########
"""""#####"""""##########
""""""#####"""""#########
"""""""#####"""""########
########"""""#####"""""""
#########"""""#####""""""
##########"""""#####"""""
###########"""""#####""""
############"""""#####"""
#############"""""#####""
##############"""""#####"
###############"""""#####
################"""""####
#################"""""###
##################"""""##
###################"""""#
####################"""""

यह शब्द &y/13==x/13ऊपरी दाएं और निचले बाएं क्वार्टर में गलत = 0 का मूल्यांकन करता है, पैटर्न के वर्ग भाग का उत्पादन करता है जैसा कि पहले दिखाया गया है। ध्यान दें कि क्योंकि कार्यक्रम नीचे आता है, मूल x = y = 0 नीचे दाईं ओर है। यह आसान है क्योंकि #१३ वर्णों का वर्ग चौड़ा है, जबकि वर्ग "१२ वर्णों का चौड़ा है।


2

Befunge -93, 968 बाइट्स

हाँ य़ह सही हैं! एक प्रतिस्पर्धी Befunge जवाब!

&:&\00p10p:520pv:g00p02<v  <
    #   p1*45-1_v#:" "  <  v
    |`-1*65:g02$<      ,
    >:" "\39*\p:" "\47 *v
+:"<"\39*\p:"v"\47*\p25^>\p 1
".......#.....#####......."<v
".......##.....#####......"
".......###.....#####....."
".......####.....####....."
".......#####.....###....."
".......######.....##....."
".......#######.....#....."
".......########.........."
"####################....."
".####################...."
"..####################..."
"...####################.."
"....####################."
".....####################"
"#.....##############.####"
"##.....#############..###"
"###....#############...##"
"####...#############....#"
"#####..#############....."
".#####.#############....."
"..##################....."
"........#####............"
".........#####..........."
"..........#####.........."
"...........#####........."
"............#####........"
,,,,,,,,,,,,,,,,,,,,,,,,,  v>
    > 10g1-:10p #v_@
 " " \47*\p5:"<"v>:" "\39*\ p
\*74 \"v":p\*93\<      v,*5 2p

कल स्पष्टीकरण, अब बिस्तर। मैं कहूंगा, हालांकि, मैं एक जोड़े को पुनर्निर्देशन तीर हिलाने के साथ चतुर सामान करता हूं और मैं रैप-अराउंड प्रॉपर्टी का भी काफी उपयोग करता हूं। इस ऑनलाइन दुभाषिया में इसका परीक्षण करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.