आइसलैंड का राष्ट्रीय ध्वज ड्रा करें


107

इस वर्ष का यूईएफए यूरो 2016 खत्म हो गया है और नकारात्मक सुर्खियों के एक जोड़े के अलावा एक बहुत ही सकारात्मक आश्चर्य हुआ है - आइसलैंड की राष्ट्रीय फुटबॉल टीम । चलो उनका राष्ट्रीय ध्वज खींचते हैं।

इनपुट

खैर, जाहिर है कि इस चुनौती का कोई इनपुट नहीं है।

उत्पादन

  • कम से कम 100 x 72 पिक्सेल या 25 x 18 वर्णों के किसी भी लागू दृश्य प्रारूप में आइसलैंड का ध्वज ड्रा करें ।
  • आउटपुट को किसी फ़ाइल में सहेजें या इसे तुरंत प्रस्तुत करें - उदाहरण स्वरूप हैं: png, jpg आदि जैसी छवियां, वेक्टर ग्राफिक्स, HTML कैनवास पर ड्रा या विज़ुअलाइज़ेशन के लिए गैर-व्हाट्सएप वर्णों का उपयोग करें।
  • इन रंगों का प्रयोग करें : नीले : #0048e0, सफेद : #ffffffऔर लाल : #d72828
  • यदि आपकी भाषा विशिष्ट रंग मानों का समर्थन नहीं करती है, तो ANSI रंग कोड से लाल , नीले और सफेद के लिए मानक मान का उपयोग करें ।
  • ध्वज को सही अनुपात के साथ ड्रा करें, जैसा कि नीचे दिए गए चित्र में दिखाया गया है:

बॉयलरप्लेट

  • आप एक कार्यक्रम या एक समारोह लिख सकते हैं। यदि यह एक अनाम फ़ंक्शन है, तो कृपया इसे कैसे लागू करें, इसका एक उदाहरण शामिल करें।
  • यह इसलिए बाइट्स में सबसे कम जवाब जीतता है।
  • मानक खामियों को अस्वीकार कर दिया जाता है।

लीडरबोर्ड

यदि आपको अपना उत्तर नहीं मिल रहा है, तो लीडरबोर्ड के " इंफो सेक्शन " में बताई गई अपनी भाषा और बाइट की गणना करें ।


यह चुनौती ड्रॉ ऑफ़ फ़्रेन्स के राष्ट्रीय ध्वज से प्रेरित है ।


20
अधिक चुनौतीपूर्ण मेरे देश का ध्वज होगा, जिसने इस वर्ष यूरो में अपेक्षा से बहुत बेहतर प्रदर्शन किया - वेल्स। :-)
गैरेथ

24
@ गैरेथ मैं ड्रैगन के वाटरप्रूफ स्पेसिफिकेशन का इंतजार कर रहा हूं। ;)
मार्टिन एंडर

4
ऐसा लग रहा है कि उपरोक्त छवि में नीला वास्तविक से अधिक गहरा है#0048e0
लुइस मेंडो

10
@MartinEnder क्या इसे एक पत्थर की गोली की गिनती पर किया जाता है? वह वाटरप्रूफ है।
इलीबिस

5
@MartinEnder Mathematica में एक होगा।
18 अक्टूबर को gcampbell

जवाबों:


259

पायथन 3, 190 172 171 169 167 160 159 147 143 बाइट्स

पीआईएल संस्करण 1.1.7 का उपयोग करना, जिसमें एक हटा दिया गया है, लेकिन ऑफसेट विधि नहीं है।

from PIL.ImageDraw import*
i=Image.new('RGB',(25,18),'#d72828')
Draw(i).rectangle((1,1,23,16),'#0048e0',~0)
i.offset(9).resize((100,72)).show()

लाल रंग से भरी 25 * 18 पिक्सेल की छवि बनाता है, फिर एक 23 * 16 पिक्सेल आयत को खींचता है जो एक पिक्सेल की सफेद रूपरेखा के साथ नीले रंग से भरा होता है। यह तब (9,9) द्वारा छवि को बंद कर देता है जो किनारों पर लपेटता है, इसे 100 * 72 तक आकार देता है, फिर इसे एक विंडो में दिखाता है।

ऑफसेट करने से पहले झंडा:

यहाँ छवि विवरण दर्ज करें (100 * 72 के आकार का)

आउटपुट:

यहाँ छवि विवरण दर्ज करें

एनिमेटेड:

यहाँ छवि विवरण दर्ज करें

Edit1: शुरू में 25 * 18 की छवि बनाकर क्रॉपिंग को हटाकर 18 बाइट्स बनाए।

Edit2: गोल्फ बाइट 1 बाइट के #fffबजाय का उपयोग करके white

Edit3: आयात आयात करके 2 बाइट्स पर गोल्फ।

Edit4: ऑफसेट विधि के दूसरे तर्क को हटाकर 2 बाइट्स को गॉकेट किया गया।

Edit5: सहेजे जाने के बजाय छवि दिखाते हुए 7 बाइट्स गॉकेटेड। (यूनिक्स पर स्थापित इमेजमाजिक की जरूरत है)

Edit6: आयात को फिर से लिखकर 1 बाइट गोल्फिंग करें।

Edit7: फिर से आयात को फिर से लिखकर 12 बाइट्स बनाए। (@ डेनिस द्वारा धन्यवाद)

Edit8: जोड़ा गया एनीमेशन।

एडिट 9: अपडेटेड एनिमेशन क्योंकि इसमें आखिरी फ्रेम गायब था।

Edit10: अल्बर्ट रेनशॉ के लिए 4 बाइट्स का धन्यवाद!


42
वास्तव में अच्छा जवाब।
सम्मिलित

17
यह प्रतिभा है! (विकिंग) आपसे नफरत।
आयोनेस

25
वाह, यह दुर्लभ है कि मैं एसओ पर कोड-गोल्फ प्रकार के प्रश्नों पर वोट देता हूं, लेकिन यह भी दुर्लभ है कि मैं ऐसा करने के लिए एक पूरे नए समुदाय में शामिल हो जाऊंगा। यह ऑफ़सेट हैक उस चीज़ की याद दिलाता है जो हम करने से पहले करते थे कि युवा व्हिपसैपर्स को आपकी oodbytes ऑफ़ मेमोरी के साथ काम करना है। बहुत ही उत्तम कार्य।

5
प्रतिभा, वास्तव में! Y
InuYaksa

3
यदि आप करते हैं from PIL.ImageDraw import*, Iबन जाता है Imageऔर D.Drawबन जाता है Draw, तो 11 बाइट्स की बचत होती है।
डेनिस

117

डॉस कॉम के लिए x 86 वास्तविक-मोड मशीन कोड, 69 65 63 62 बाइट्स

आइसलैंड ध्वज का उत्पादन किया

कोड को DOS COM निष्पादन योग्य के रूप में निष्पादित किया जाना है।

विशेष धन्यवाद

  • मेडन , चार बाइट्स को बचाया।
  • मेडन , दो बाइट्स को बचाया और टिमटिमा को हटा दिया।

मशीन कोड (हेक्स बाइट्स में)

68 00 A0 07 B8 13 00 CD      10 BE 23 01 AD 91 AD 91 
AC E3 FE 60 30 ED F3 AA      61 81 C7 40 01 FE CD 75 
F2 EB E9 FA B4 00 00 09      28 B4 46 00 0F FA 28 80 
57 0F 14 B4 0C 50 00 FA      14 0C 00 64 00 00

विधानसभा स्रोत

स्रोत NASM के लिए है।

ORG 100h

push 0a000h
pop es

mov ax, 13h
int 10h

mov si, data


_draw:
 lodsw
 xchg ax, cx

 lodsw
 xchg ax, di

 lodsb

_cycle:
 jcxz _cycle

 ;al = color
 ;cl = col
 ;ch = row

rect:
 pusha
 xor ch, ch
 rep stosb
 popa
 add di, 320
 dec ch
 jnz SHORT rect

jmp SHORT _draw


data: 

        db 250d
        db 180d
        dw 0000h
        db 09h


        db 40d
        db 180d
        dw 0070d
        db 0fh


        db 250d
        db 40d
        dw 22400d
        db 0fh

        db 20d
        db 180d
        dw 80d
        db 0ch


        db 250
        db 20
        dw 25600d 
        db 0ch


        dw 0000h

13
यह एक बहुत अच्छा पहला जवाब है! स्वागत हे!
AdmBorkBork

5
आप 10h और 13h पर 'xchg' के साथ 'mov' की जगह 2 बाइट्स बचाने के लिए और कर सकते हैं पर 16h 'jcxz' 'का परीक्षण cx, cx / JZ' की जगह एक और 2 बाइट्स
Meden

3
कुछ और विचार। चूंकि प्रोग्राम अनंत लूप में चलता है, आप केवल लूप को छोटा करके चंचलता से बच सकते हैं _loop: jcxz _loop:। यदि आप के लोडिंग ऑर्डर को बदलते हैं और डेटा को खत्म करते हैं, तो आप 2 बाइट्स भी काट सकते हैंcxdi
4

धन्यवाद फिर से @meden टिमटिमाता प्रभाव में पूरी तरह से अनावश्यक था :) मैंने भी हटा दिया mov bx, 320और 320add di, 320 (पहले add di, bx) में स्थानांतरित कर दिया ।
मार्गरेट ब्लूम

महान। अब आपको इस चुनौती में सभी मशीन कोड उत्तरों पर एक मजबूत बढ़त मिल गई है। केवल शुद्धता के लिए: डेटा के अंत में बाइट्स को लोड न करने के jcxz _cycleबाद सही चलना बेहतर xchg ax,cxहोगा। और स्रोत में कुछ भ्रामक टिप्पणियां हैं ;dx = row:। dxकोड में कहीं भी उपयोग नहीं किया जाता है।
मेडन

55

सी, 194 191 183 बाइट्स

#define C "\x1b["
#define A "@@@@@@"
y;f(){for(;y++<14;)printf(y>5&&y<10?y>6&&y<9?C"31m"A A A A"@\n":C"0m"A"@@"C"31m@@"C"0m"A A"@@@\n":C"34m"A"@"C"0m@"C"31m@@"C"0m@"C"34m"A A"@@\n");}

-3 जोड़ने @पर #define A
-8 जोड़ने [पर#define C

प्रयोग

main(){f();}

उत्पादन

छवि

ओपी की इस टिप्पणी पर मान्य आधार

डबल साइज़ आउटपुट, 204 बाइट्स

#define C "\x1b["
#define B "████"
#define A B B B
y;f(){for(;y++<28;)printf(y>10&&y<19?y>12&&y<17?C"31m"A A A A"██\n":C"0m"A B C"31m"B C"0m"A A B"██\n":C"34m"A"██"C"0m██"C"31m"B C"0m██"C"34m"A A B"\n");}

Image2


22
5 वें अपवोट ने +810 प्रतिनिधि नेटवर्क को व्यापक बना दिया ... धन्यवाद! (हाँ यह पहली साइट है जहाँ मैं 200 प्रतिनिधि तक पहुँचता हूँ: D)
जियाको गारबेलो

1
क्या परिणाम "कम से कम 100 x 72 इकाइयों का नहीं होना चाहिए, जहां एक इकाई एक पिक्सेल या एक चरित्र है"? यह इस आवश्यकता को पूरा नहीं करता है, लेकिन मुझे संदेह है कि ओपी ने उस परिभाषा को बनाते समय गलती की।
क्रिट्ज़फिट्ज़ 14

4
@Kritzefitz ठीक है, एक चरित्र कई पिक्सेल लेता है, इसलिए यह एक चरित्र के बजाय एक पिक्सेल हो सकता है। एक छेद मिला।
एर्ग आउटफोलर

@GiacomoGarabello ने pic में पहली साइट पर व्हाट्सएप किया जहां आपको +150 मिला? मैं आइकन को नहीं पहचानता।


31

एक्सेल VBA, 254 228 153 बाइट्स

वास्तव में एक्सेल को हैंडल करने के लिए कॉलम (पंक्ति आकार) को सेट करने का तरीका नहीं मिल सकता (क्योंकि उन्हें स्क्वायर बनाता है) क्योंकि एक्सेल इसे संभालता है इसलिए उन्हें पहले अच्छा और चौकोर बनाते हैं।

संपादित करें 1: -26 बाइट्स के लिए लौटे मूल्यों के साथ आरजीबी प्रतिस्थापित

संपादित करें 2: मैं -75 बाइट्स के रूप में कई सुझावों को जोड़ने की कोशिश की। मैं &48e0एक रंग के रूप में उपयोग करने में सक्षम नहीं था और मुझे यकीन नहीं है कि क्यों। सभी को धन्यवाद

Sub e()
c "A1:CV72", rgbBlue
c "AC1:AR72", -1
c "A29:CV44", -1
c "AG1:AN72", 255
c "A33:CV40", 255
End Sub

Sub c(d, f)
Range(d).Interior.Color = f
End Sub

चित्र: आइसलैंड का झंडा


आपने कोशिकाओं को चौकोर कैसे बनाया? क्या आपने इसे मैन्युअल रूप से किया है, या कुछ अन्य स्क्रिप्ट के साथ शामिल नहीं किया है? मैं इसे देखना चाहता हूं, भले ही यह आपके रन किए गए कार्यक्रम का हिस्सा न हो।
mbomb007

मैंने इसे मैन्युअल रूप से किया था, सेल की चौड़ाई को बदलने के लिए कोड काफी आसान है जहां मैंने इसे जोड़ा हो सकता है लेकिन आकार पंक्ति / कॉलम या मॉनिटर रिज़ॉल्यूशन के बीच संगत नहीं होते हैं जब तक कि आप पिक्सेल के आधार पर आकार सेट नहीं करते हैं जो कि नहीं किया जा सकता है मैं क्या पा सकता था। मैंने जो पढ़ा है उससे आपको रिज़ॉल्यूशन ढूंढना है और फ़ंक्शन को स्वीकार करने वाले आकार में पिक्सेल में बदलने के लिए कुछ गणित करना है।
tjb1

1
इसके अलावा इसे पिक्सेल में बदलने के लिए कोड ऐसा दिखता है कि इसके लिए आपको रिज़ॉल्यूशन के कुछ भाग या PPI (मुझे वास्तव में सूत्र नहीं समझ में आता है) की आवश्यकता है, इसलिए ऐसा लगता है कि यह सभी डिवाइसों पर भी काम नहीं करेगा।
tjb1

2
और, पूर्णता के लिए (केवल समाधान के बजाय वर्ग कोशिकाओं को स्थापित करने के लिए), यदि आप पृष्ठ लेआउट दृश्य पर स्विच करते हैं, तो आप विशिष्ट मूल्यों जैसे सेल ऊंचाई और चौड़ाई सेट कर सकते हैं 0.2cm। जब आप वापस स्विच करते हैं, तो इसे बनाए रखा जाएगा, और विचित्र एक्सेल पहलू अनुपात :-) को आज़माने और काम करने की कोई आवश्यकता नहीं है। वैसे, अगर आप कुछ और बढ़िया एक्सेल ट्रिक चाहते हैं, तो जोएल स्पोल्स्की के "आप एक्सेल में चूसना" वीडियो देखें।

3
मुझे लगता है कि अतिरिक्त व्हाट्सएप को हटाया जा सकता है, भले ही इसे बाद में स्वचालित रूप से जोड़ा जाए।
आउटगॉल्फ जूल

29

MATL , 57 56 52 49 48 बाइट्स

7:g2IvtPvt!9Mh2$X>2YG[0E28]8*255/7B[43DD]51/v2ZG

यह निम्नलिखित आकृति (मैटलाब और ऑक्टेव पर चलने वाले कंपाइलर के साथ परीक्षण) का उत्पादन करता है।

यहाँ छवि विवरण दर्ज करें

संपादित करें: आप MATL ऑनलाइन पर प्रयोगात्मक रूप से कोशिश कर सकते हैं ! (यदि यह शुरू में काम नहीं करता है तो आपको पृष्ठ को फिर से लोड करना पड़ सकता है)।

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

7:g         % Range from 1 to 7 converted to logical: push array [1 1 1 1 1 1 1]
2           % Push 2
I           % Push 3
v           % Concatenate vertically into a 9×1 array
tPv         % Duplicate, flip vertically, concatenate. Gives a 18×1 array
t!          % Duplicate, transpose: 1×18 array
9M          % Push [1 1 1 1 1 1 1] again
h           % Concatenate horizontally: gives 1×25 array
2$X>        % Maximum of the two arrays, with broadcast. Gives a 18×25 array
            % with 1 for blue, 2 for white, 3 for red
2YG         % Show image with default colormap
[0E28]8*    % Push array [0 72 224] (blue)
255/        % Divide each entry by 255. Colors are normalized between 0 and 1
7B          % 7 converted into binary: push array [1 1 1] (white, normalized)
[43DD]51/   % Push array [215/255 40/255 40/255] (red, normalized)
v           % Concatenate vertically. Gives a 3×3 array
2ZG         % Use as colormap

26

CSS, 285 284 264 बाइट्स

*,:before,:after{background:#fff;width:100;height:72}body{background:#0048e0;margin:0}:before,:after{content:"";position:fixed}:after{background:#d72828}html:before{top:28;height:16}body:before{left:28;width:16}html:after{top:32;height:8}body:after{left:32;width:8

1 बाइट @insertusernamehere के लिए धन्यवाद सहेजा गया।

सभी उपयोगकर्ता को हटाकर, @ user2428118 के लिए 20 बाइट्स का धन्यवाद px। ध्यान दें कि इसके लिए पृष्ठ को quirks मोड में प्रस्तुत करना होगा, इसलिए यह Stack Snippets में काम नहीं करता है।

मैं एक ऑफसेट पर चारों ओर एक छवि को लपेटने के पायथन दृष्टिकोण की नकल कर सकता हूं, लेकिन यह दिलचस्प नहीं होगा।

Ungolfed:

*, *::before, *::after {
  background: #fff;
  width: 100px;
  height: 72px;
}

body {
  background: #0048e0;
  margin: 0;
}

*::before, *::after {
  content: "";
  position: fixed;
}

*::after { background: #d72828 }

html::before { top: 28px; height: 16px }
body::before { left: 28px; width: 16px }
html::after { top: 32px; height: 8px }
body::after { left: 32px; width: 8px }

यह छद्म तत्वों (HTML में लिखे गए तत्व) ::beforeऔर ::afterध्वज पर रेखाएँ बनाने के लिए उपयोग करता है। बिना HTML के काम करने का कारण यह है कि HTML5 में <html>और <body>तत्व वैकल्पिक होते हैं, इसलिए यदि वे मौजूद नहीं हैं तो ब्राउज़र स्वचालित रूप से उन्हें बनाते हैं।

ज्यादा मस्ती:


2
तुम अब भी बचा सकता है 1 बाइट की जगह whiteके साथ #fff
सम्मिलित

@insertusernamehere हां, धन्यवाद।
gcampbell

1
यदि आप CSS को quirks मोड (doctype के बिना पृष्ठ) में लागू करते हैं, तो आप इसे pxहर जगह छोड़ कर 264 बाइट्स तक ला सकते हैं ।
user2428118

@ user2428118 यह देखते हुए और भी उपयोगी है कि कोई HTML नहीं है, इसलिए नहीं <!doctype html>!
wizzwizz4

@ user2428118 किसी कारण से यह मेरे लिए मोबाइल सफारी में काम नहीं करता है। जब मैं एक कंप्यूटर पर हूँ, तब मैं देखूँगा।
19 अक्टूबर को gcampbell

26

बैश + इमेजमैजिक 7, 94 90 86 85 बाइट्स

magick -size 84x56 xc:#0048e0 ${s=-splice 8x8}+28+28 -background \#d72828 $s+32+32 x:

8 बाइट्स सहेजे गए, @manatwork के लिए धन्यवाद, और 1 बाइट, @ GlennRanders-Pehrson के लिए धन्यवाद


5
यदि आप x:आउटपुट फ़ाइल नाम के बजाय निर्दिष्ट करते convertहैं, तो एक विंडो में परिणाम प्रदर्शित करेगा, जो स्वीकार्य भी है। और केवल तेज भागने के लिए पर्याप्त है, बोली की कोई आवश्यकता नहीं है \#d72828:।
मैनटवर्क

2
आमतौर पर हम ऐसे उत्तरों को बैश + इमेजमैजिक के रूप में लेबल करते हैं । पर bashपक्ष यदि आप किसी अन्य 4 अक्षर बचा सकते हैं: convert -size 84x56 xc:#0048e0 ${s=-splice 8x8}+28+28 -background \#d72828 $s+32+32 x:
मैनटवर्क

बस एक बेवकूफ सवाल: क्या आप कर सकते हैं ${s=-splice 8x8}+56?
आउटगोल्फर

@ E @Gʀɪᴋᴛʜᴇ +56के रूप में माना जाता है +56+0, नहीं +28+28
bodqhrohro

2
आप ImageMagick के हालिया संस्करण का उपयोग करके एक और बाइट बचा सकते हैं; तब कमांड "कन्वर्ट" के बजाय "मैजिक" हो सकता है।
ग्लेन रैंडर्स-पीहरसन

20

जेडएक्स स्पेक्ट्रम बेसिक, 210 141 92 बाइट्स

1 LET n=-VAL "8.5": FOR y=n TO -n: FOR x=n TO VAL "16": LET p=VAL "271"(PI-(ABS x<SQR PI OR ABS y>SQR PI)-NOT INT ABS x*INT ABS y): PRINT PAPER p; BRIGHT p>PI;" ";: NEXT x: PRINT : NEXT y

यहाँ छवि विवरण दर्ज करें

टेप के माध्यम से BASIC कार्यक्रम के आकार के रूप में निर्धारित आकार SAVEफेसबुक पर ZX स्पेक्ट्रम समूह के कुछ सदस्यों को विशेष रूप से @impomatic और जोहान Koelman के लिए बहुत सारे गोल्फ क्रेडिट ।


उन लोगों को देखकर PAPERऔर BRIGHTबहुत सारी अच्छी यादें लाती हैं :-)
लुइस मेंडू

क्या कोई स्मृति है कि एक ZX स्पेक्ट्रम बेसिक कार्यक्रम कितना मेमोरी लेता है? मुझे लगा कि यह एक "टोकन वाली" भाषा है, अर्थात मुझे उम्मीद है FOR, NOTआदि केवल 1 या शायद 2 बाइट्स लेने के लिए
लुइस मेंडो

1
@LuisMendo हाँ, यह टोकन है - FORठीक एक बाइट है। हालाँकि, संख्या "एंटी-टोकेनाइज्ड" हैं, जिसमें वे अपने टेक्स्ट और बाइनरी दोनों रूपों के रूप में संग्रहीत होते हैं और आपकी अपेक्षा से 5 गुना अधिक बाइट लेते हैं, इसलिए NOT PIशून्य और पसंद के बजाय।
फिलिप केंडल

एटी को हटाने और सीमा परीक्षण को समायोजित करने के लिए 132 बाइट्स twitter.com/john_metcalf/status/75276020300777791105
अशुद्ध

1
कुछ और अनुकूलन के साथ 122 बाइट्स twitter.com/john_metcalf/status/752783690179211264
अस्वभाविक

15

ZX स्पेक्ट्रम Z80 असेंबली, 65 बाइट्स

    ld hl,22528
    ld b,7
    ld de,120*256+8 ; white, blue
    ld a,16         ; red

; create the first row

blueleft:
    ld (hl),e
    inc hl
    djnz blueleft

    ld (hl),d
    inc hl
    ld (hl),a
    inc hl
    ld (hl),a
    inc hl
    ld (hl),d
    inc hl

    ld b,14
blueright:
    ld (hl),e
    inc hl
    djnz blueright

; copy the first row to the next 17 rows

    ld l,b
    ld de,22528+32
    ld bc,17*32
    ldir

; add the horizontal stripe

    ld hl,22528+7*32
    dec d
    ld e,b
    ld c,2
midrep:
    ld b,25
midstripe:
    cp (hl)
    jr z,red
    ld (hl),120
red:
    ld (de),a
    inc hl
    inc de
    djnz midstripe

    ld hl,22528+10*32
    ld e,9*32
    dec c
    jr nz,midrep
    ret

आइसलैंडिक ध्वज


14

Minecraft 1.10.2, 734 वर्ण

यह 734 अक्षर हो सकता है, लेकिन यह वास्तविक ऊन से बना एकमात्र जमा है !

summon FallingSand ~ ~1 ~ {Block:log,Time:1,Passengers:[{id:FallingSand,Block:redstone_block,Time:1,Passengers:[{id:FallingSand,Block:activator_rail,Time:1,Passengers:[{id:MinecartCommandBlock,Command:"fill 0 ~ 0 100 ~ 72 wool 11"},{id:MinecartCommandBlock,Command:"fill 28 ~ 0 44 ~ 72 wool"},{id:MinecartCommandBlock,Command:"fill 0 ~ 28 100 ~ 44 wool"},{id:MinecartCommandBlock,Command:"fill 32 ~ 0 40 ~ 72 wool 14"},{id:MinecartCommandBlock,Command:"fill 0 ~ 32 100 ~ 40 wool 14"},{id:MinecartCommandBlock,Command:setblock ~ ~ ~1 command_block 0 replace {Command:fill ~ ~-3 ~-1 ~ ~ ~ air}},{id:MinecartCommandBlock,Command:setblock ~ ~-1 ~1 redstone_block},{id:MinecartCommandBlock,Command:kill @e[type=MinecartCommandBlock]}]}]}]}

लगभग -5x -5z पर जाएं, एक आवेग कमांड ब्लॉक में पेस्ट करें, इसे "हमेशा सक्रिय" पर सेट करें और डोन को दबाएं।

झंडा 0, 0 से 100, 72 तक फैला हुआ है; और कमांड ब्लॉक के ऊपर 3 ब्लॉक रखे गए हैं। यह काफी बड़ी छाया डालती है , और राक्षस इसके नीचे घूमते हैं। हालांकि, यह आइसलैंड देश के लिए सटीक है, लेकिन क्या किसी का अनुमान है।

निष्पक्ष चेतावनी - MinecartCommandBlockचार पात्रों को बचाने के हित में दुनिया में सभी को मारेंगे / मारेंगे । इसे उस दुनिया में न चलाएं, जिससे आप अत्यधिक संलग्न हैं।

झंडा

MrGarretto के कमांड कॉम्बिनर का इस्तेमाल किया और आउटपुट को थोड़ा छोटा किया (808 -> 734)


1
"क्या यह आइसलैंड देश के लिए सटीक है ..."
Jordan

2
क्या आप लक्ष्य चयनकर्ता तर्क के बिना सिर्फ किल @ ई का उपयोग नहीं कर सकते हैं? यह खिलाड़ी को मार डालेगा, लेकिन झंडा
फहराएगा

11

लोगो, 216 188 बाइट्स

Calormen.com के कार्यान्वयन का उपयोग करना । आप शुद्धतावादियों के लिए, कार्यान्वयन कुछ एंटीएलियासिंग का उपयोग करता है जो किनारों को थोड़ा सा पंख देता है। हालांकि, मैंने कछुए को छिपाने के लिए 3 बाइट्स बर्बाद कर दिए, ताकि उसके लिए इसे बनाया जाए।

यदि आपका लोगो कार्यान्वयन आपको विंडो का आकार निर्धारित करने देता है तो इसे बहुत कम किया जा सकता है। तब आप wrapचार स्ट्रोक में क्रॉस बनाने के लिए कछुए के हल को बना सकते थे और एक सीमा के साथ इसे ट्रिम करने के लिए छोड़ सकते थे।

उत्पन्न झंडे स्क्रीनशॉट

TO X :C :S
setpc :C
setpensize :S
home
pd
setx 100
setx 36
bk 36
fd 72
pu
END
setpc "#48e0
fill
X 7 16
X "#d72828 8
fd 4
pe
pd
setx -4
bk 80
setx 104
fd 80
setx 0
ht

मुझे नहीं पता था कि लोगो का अंग्रेजी बोलने वाला संस्करण था!
विंसेंट

1
पूर्ण रूप से। मुझे लगता है कि मैंने पहली बार इसे Apple IIe पर 30 साल पहले देखा था। मैंने इसे अपने TRS-80 कलर कंप्यूटर पर भी रखा था। यह ज्यामिति में कोणों का उपयोग करने का मेरा पहला स्वाद था, सालों पहले जब मुझे स्कूल में आधिकारिक तौर पर इसे सीखना था।
गिटारपरिक जूल 13'16

इसके आसपास सफेद सीमा क्यों?
सुलैमान उको

1
मैंने एक बड़े पेन का उपयोग करते हुए लाइनें खींचीं, जो क्रॉस के सुझावों पर गोल किनारों को छोड़ता है, इसलिए मुझे उन्हें बड़ा करने के लिए एक बड़े इरेज़र के साथ चारों ओर स्वीप करना पड़ा। मैं इसका एक और संस्करण लिख रहा था जो लोगो में एक पूरी तरह से अलग विधि का उपयोग करता था और छोटा हो जाता था। मैं एक तीसरे संस्करण पर भी काम कर रहा था जो एक बड़े यूनिकोड लैटिन क्रॉस को प्रिंट करता है और इसे पेंट करता है, लेकिन अनुपात सही नहीं थे और आकार ऐसा दिखता था कि यह इस से अधिक होगा।
गिटारपिकार जूल

10

जावा 8, 449 447 बाइट्स:

import java.awt.*;import javax.swing.*;class A extends JPanel{public void paintComponent(Graphics G){super.paintComponent(G);G.setColor(new Color(0,72,224));G.fillRect(0,0,175,126);G.setColor(Color.WHITE);G.fillRect(49,0,28,126);G.fillRect(0,49,175,28);G.setColor(new Color(215,40,40));G.fillRect(56,0,14,126);G.fillRect(0,56,175,14);}public static void main(String[]a){JFrame J=new JFrame();J.add(new A());J.setSize(175,147);J.setVisible(true);}}

एक बहुत देर से जवाब, और यहां तक ​​कि सबसे लंबे समय तक एक, जाहिरा तौर पर। java.awt.Graphicsइसमें ध्वज के साथ एक विंडो बनाने और खोलने के लिए कक्षा का उपयोग करता है, जो 5 कुल आयतों द्वारा निर्मित होता है जिसमें नीले ब्लॉकों के लिए 1, सफेद धारियों के लिए 2 और लाल धारियों के लिए 2 होते हैं। 7 पिक्सल का उपयोग करता है: 1 इकाई अनुपात। दूसरे शब्दों में, प्रत्येक इकाई के लिए, 7 पिक्सेल का उपयोग किया जाता है। यहाँ OS X 10.11 के साथ Macintosh पर आउटपुट की एक छवि है:

उदाहरण आउटपुट

अब थोड़ा और नीचे गोल्फ के लिए एक रास्ता खोजने के लिए ...


paintइसके बजाय ओवरराइडिंग का प्रयास करें paintComponent। JPanel के लिए एक अनाम वर्ग का उपयोग करने पर विचार करें। किसी बफ़रमैडम का उपयोग करने और फ़ाइल में आउटपुट करने पर विचार करें।
जस्टिन

@ जस्टिन वास्तव में, मैं पहले से ही Blueपृष्ठभूमि के लिए 1 विशाल आयत के रूप में उपयोग कर रहा था । मैं सिर्फ इस और एक और संस्करण के बीच मिलाया गया था जिसे मैंने पायथन में बनाया था। भले ही, अन्य सुझावों के लिए धन्यवाद! :)
आर। काप

कुछ और सुझाव: उपयोग न करें JPanel, बस ओवरराइड करें JFrame। आप यह करते हैं और बस को ओवरराइड हैं paint, तो आप घुमाओ, बस AWT की जरूरत नहीं है, इसलिए बदल JFrameकरने के लिए Frameऔर आयात को हटा दें। फोन मत करो super.paint। मुख्य विधि को पुनर्व्यवस्थित करें; ले जाने के setSizeमें paintहमारे की विधि Frame, चर को दूर J, और संलग्न .setVisible(true)गुमनाम वर्ग के अंत तक। अंत में, बदल .setVisible(true)होने के लिए show(), हाँ वह किसी बहिष्कृत विधि है, लेकिन यह कम है। मुख्य विधि से interfaceहटाने के लिए एक का उपयोग करें public
जस्टिन

338 वर्णों पर अंतिम परिणाम (एक फ्रेम के बाद से ऊंचाई को बदलना पड़ा):import java.awt.*;interface A{static void main(String[]a){new Frame(){public void paint(Graphics G){setSize(175,119);G.setColor(new Color(0,72,224));G.fillRect(0,0,175,126);G.setColor(Color.WHITE);G.fillRect(49,0,28,126);G.fillRect(0,49,175,28);G.setColor(new Color(215,40,40));G.fillRect(56,0,14,126);G.fillRect(0,56,175,14);}}.show();}}
जस्टिन

1
इससे भी बेहतर: पहले आयत को पेंट न करें, बस कॉल करें setBackground(color)(आकार अभी भी गलत था)। अब 317 पर:import java.awt.*;interface A{static void main(String[]a){new Frame(){public void paint(Graphics G){setSize(175,126);setBackground(new Color(0,72,224));G.setColor(Color.WHITE);G.fillRect(49,0,28,126);G.fillRect(0,49,175,28);G.setColor(new Color(215,40,40));G.fillRect(56,0,14,126);G.fillRect(0,56,175,14);}}.show();}}
जस्टिन

10

आर, 197 195 187 बाइट्स

w="white";r="#d72828";png(w=100,h=72);par(mar=rep(0,4),bg="#0048e0",xaxs="i",yaxs="i");frame();rect(c(0,7,0,8)/25,c(7,0,8,0)/18,c(1,.44,1,.4),c(11/18,1,5/9,1),c=c(w,w,r,r),b=NA);dev.off()

नई लाइनों और स्पष्टीकरण के साथ प्रस्तुत:

w="white"
r="#d72828"
png(w=100,h=72) #Creates in working directory a png called Rplot001.png 
                #with a width and a height of 120 and 72 pixels respectively.
par(mar=rep(0,4), #No margin around the plot
    bg="#0048e0", #Blue background
    xaxs="i",yaxs="i") #Axes fits range exactly
frame() #Creates an empty plot which range is xlim=c(0,1) & ylim=c(0,1)
rect(c(0,7,0,8)/25, #Because rect is vectorized
     c(7,0,8,0)/18,
     c(1,.44,1,.4), #i. e. c(25,11,25,10)/25
     c(11/18,1,5/9,1), #i. e. c(11,18,10,18)/18
     c=c(w,w,r,r), # c= is the same as col=, thanks to argument name completion
     b=NA)#No borders
dev.off()

द्वीप का ध्वज

संपादित करें : पता चलता है frame(), इसके विपरीत plot()या plot.new()डिफ़ॉल्ट रूप से प्लॉट में एक सीमा जोड़ें, जिसका अर्थ bty="n"यहां अनावश्यक था।


9

अटारी 8-बिट निष्पादन योग्य, 123 बाइट्स

एक और "बस मज़े के लिए" प्रविष्टि, इस कार्यक्रम को एक अटारी 8-बिट कंप्यूटर या एमुलेटर पर चलाने के लिए है। उदाहरण के लिए, Atari800 पर प्रोग्राम लोड करने के लिए, बस चलाएं:

atari800 iceland.xex

मशीन कोड (हेक्स बाइट्स में)

ff ff 00 06 74 06 a9 1b 8d 30 02 a9 06 8d 31 02
a9 44 8d c4 02 a9 0f 8d c5 02 a9 84 8d c6 02 d0
fe 70 70 70 48 57 06 48 57 06 48 57 06 48 57 06
48 57 06 48 57 06 48 57 06 48 61 06 48 6b 06 48
6b 06 48 61 06 48 57 06 48 57 06 48 57 06 48 57
06 48 57 06 48 57 06 48 57 06 41 1b 06 ff fe 5b
ff ff ff c0 00 00 00 aa aa 5a aa aa aa 80 00 00
00 55 55 55 55 55 55 40 00 00 00

कोडांतरक स्रोत कोड ( MADS के साथ संकलित किया जा सकता है ):

        org $0600
        lda <dlist
        sta $0230
        lda >dlist
        sta $0231
        lda #$44
        sta $02c4
        lda #$0f
        sta $02c5
        lda #$84
        sta $02c6
loop    bne loop
dlist   dta $70, $70, $70
        dta $48, a(line1), $48, a(line1), $48, a(line1), $48, a(line1), $48, a(line1), $48, a(line1), $48, a(line1)
        dta $48, a(line2)
        dta $48, a(line3), $48, a(line3)
        dta $48, a(line2)
        dta $48, a(line1), $48, a(line1), $48, a(line1), $48, a(line1), $48, a(line1), $48, a(line1), $48, a(line1)
        dta $41, a(dlist)
line1   dta $ff, $fe, $5b, $ff, $ff, $ff, $c0, $00, $00, $00
line2   dta $aa, $aa, $5a, $aa, $aa, $aa, $80, $00, $00, $00
line3   dta $55, $55, $55, $55, $55, $55, $40, $00, $00, $00

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

कार्यक्रम एक कस्टम प्रदर्शन सूची का उपयोग करता है जो ANTIC मोड 8 (40 पिक्सेल प्रति पंक्ति, 2 bpp) पर आधारित है। समान मेमोरी स्थान से बार-बार लाइनें लोड की जाती हैं। डिस्प्ले सेट करने के बाद, प्रोग्राम एक अनंत लूप में प्रवेश करता है।

स्क्रीनशॉट:

icland.xex Atari800 पर चल रही है


9

FFmpeg, 339 184 बाइट्स

ffplay -f lavfi color=d72828:100x36[r];color=white:64x32[w];color=0048e0:56x28[b];[w][b]overlay=4,split[x][y];[r][x]overlay=-32[d];[d][y]overlay=40,split[t][m];[m]vflip[n];[t][n]vstack

यह नीचे गोल्फ करने की कोशिश करेंगे ..।

आइसलैंड के झंडे की 100x72 छवि


9

पायथन, 119 118 114 112 बाइट्स

कुछ खास नहीं, सीधा:

b,w,r="\0H\xe0"*28,"\xff"*12,"\xd7(("*8
A,B=28*(b+w+r+w+2*b),4*(8*w+r+15*w)
print"P6 100 72 255 "+A+B+100*r+B+A

बाइनरी पीपीएम के रूप में आउटपुट, उपयोग

python golf_iceland.py > iceland.ppm
  • Edit1: के बीच एक बाइट printऔर उद्धरण चिह्न देखा
  • Edit2: बाइनरी पीपीएम के रूप में थोड़ा छोटा
  • Edit3: यह \0समझा जाता है कि इसका उपयोग किया जा सकता है\x00

यदि कोई व्यक्ति गैर-मुद्रण योग्य ASCII- वर्ण का सीधे उपयोग करना जानता है, तो कृपया बताएँ।

पीएनजी में परिवर्तित


2
बधाई हो! आप मुझे बहुत हराते हैं: डी
गैबोर फेकेट

2
@ GáborFekete ने आपको बाइट्स में हराया, हाँ। लेकिन आपका जवाब उस ऑफसेट के साथ बहुत अधिक चतुर है
कार्ल नेफ

खुद भागने के बजाय पलायन के परिणाम क्यों नहीं हैं?
सोलोमन उको

@ सोलोमन्यूको मैंने b,w,r="\0Hà"*28,"ÿ"*12,"×(("*8पायथन 3 का उपयोग करने का प्रयास किया , लेकिन यह काम नहीं करता है।
कार्ल नेफ

@KarlNapf, यह कैसे विफल हुआ? क्या यह गलत तरीके से खींचा गया, या कोई त्रुटि संदेश दिया गया? यह एक एन्कोडिंग मुद्दा भी हो सकता है।
सोलोमन यूको

8

जावास्क्रिप्ट, 267 बाइट्स

document.write("<div style='width:250px;height:180px;background:"+[[b="bottom",44.4,d="d72828",55.6],[r="right",32,d,40],[b,38.9,e="fff",61.1],[r,28,e,44]].map(([d,a,c,o])=>`linear-gradient(to ${d+(t=",transparent ")+a}%,#${c} ${a}%,#${c} ${o}%${t+o}%)`)+",#003897'")


1
सुनिश्चित करें कि बाएँ और दाएँ नीले रंग की चौड़ाई का 7 - 14 अनुपात सही है?
मैनेटवर्क

1
@manatwork ओह, किसी कारण से मुझे लगा कि 100/25 = 5 है, इसलिए सब कुछ 25% तक समाप्त हो गया।
नील

8

जावा, 335 बाइट्स

समारोह है

void w()throws Exception{int w=100,h=72;BufferedImage i=new BufferedImage(w,h,1);Graphics g=i.getGraphics();g.setColor(new Color(18656));g.fillRect(0,0,w,h);g.setColor(WHITE);g.fillRect(0,28,w,16);g.fillRect(28,0,16,h);g.setColor(new Color(14100520));g.fillRect(0,32,w,8);g.fillRect(32,0,8,h);ImageIO.write(i,"png",new File("f.png"));}

और यह वांछित छवि को f.png100x72 के आकार के साथ लिखता है

(ध्यान दें कि यह आर। कप द्वारा उत्तर के लिए एक सीधा प्रतियोगी नहीं है , क्योंकि यह एक फाइल लिखता है, और स्क्रीन पर छवि प्रदर्शित नहीं करता है)

यहां एक अन-गोल्ड संस्करण है जिसे संकलित किया जा सकता है और चलाया जा सकता है:

import static java.awt.Color.WHITE;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;

import javax.imageio.ImageIO;

public class Iceland
{
    public static void main(String[] args) throws Exception
    {
        Iceland i = new Iceland();
        i.w();
    }

    void w() throws Exception
    {
        int B=0x0048e0,R=0xd72828,w=100,h=72;
        BufferedImage i=new BufferedImage(w,h,1);
        Graphics g=i.getGraphics();
        g.setColor(new Color(B));
        g.fillRect(0,0,w,h);
        g.setColor(WHITE);
        g.fillRect(0,28,w,16);
        g.fillRect(28,0,16,h);
        g.setColor(new Color(R));
        g.fillRect(0,32,w,8);
        g.fillRect(32,0,8,h);
        ImageIO.write(i,"png",new File("f.png"));
    }
}

संबंधित प्रश्नों के बारे में एक साइड नोट: हो सकता है कि किसी को झंडे को चित्रित करने की चुनौती पैदा करनी चाहिए

  • इंडोनेशिया
  • पोलैंड
  • फिनलैंड
  • फ्रांस
  • नीदरलैंड
  • थाईलैंड
  • नॉर्वे

एक ही समय में:

यहाँ छवि विवरण दर्ज करें


7

एसवीजी + जावास्क्रिप्ट, 190 165 164 बाइट्स

वहां कोई विशेषज्ञ नहीं, रंग और रेखा की चौड़ाई को बदलने के लिए सिर्फ एक ही रास्ता दोहराता है मूर्खतापूर्ण जावास्क्रिप्ट!

document.write(`<svg><rect width=100 height=72 fill="#0048e0"/>${a='<path d="M0 36L100 36M36 0L36 72"style="stroke-width:'}16;stroke:#fff"/>${a}8;stroke:#d72828">`)

अधिक पठनीय:

document.write(`<svg><rect width=100 height=72 fill="#0048e0"/>
${a='<path d="M0 36L100 36M36 0L36 72"style="stroke-width:'}16;stroke:#fff"/>
${a}8;stroke:#d72828">`)

आप path d="m0,0h100v72H0"दो बाइट को बचाने के लिए आयत के बजाय उपयोग कर सकते हैं । इसी तरह, M0 36H100M36 0V72दूसरे पथ के डेटा के लिए उपयोग करें , जो एक और पांच बाइट्स बचाता है। और आप styleदोनों को घोषित करने के पक्ष में विशेषता को छोड़ सकते हैं stroke-widthऔर strokeअन्य पांच बाइट्स को बचाने के लिए विशेषताओं के रूप में।
जॉय

7

प्रसंस्करण , 136 बाइट्स

size(100,72);noStroke();background(#0048e0);fill(255);rect(28,0,16,72);rect(0,28,100,16);fill(#d72828);rect(0,32,100,8);rect(32,0,8,72);

Ungolfed

//open the window
size(100,72);
//turn off borders that surround shapes by default
noStroke();
//draw blue as the background
background(#0048e0);
//set color to white
fill(255);
//draw 2 white bars
rect(28,0,16,72);
rect(0,28,100,16);
//set color to red
fill(#d72828);
//draw 2 red bars
rect(0,32,100,8);
rect(32,0,8,72);

आउटपुट:

यहाँ छवि विवरण दर्ज करें


1
आप का उपयोग करके दो और बाइट्स बंद दाढ़ी कर सकते हैं fillऔर rectके बजाय sizeऔर background। 134 बाइट्स:noStroke();fill(#0048e0);rect(0,0,100,72);fill(255);rect(0,28,100,16);rect(28,0,16,72);fill(#d72828);rect(0,32,100,8);rect(32,0,8,72);
गिटारपिकर

गिटारपिकर ने जो कहा, उस पर जोड़ते हुए, fill(-1)एक बाइट से कम हैfill(255)
गायों की संख्या

7

गणितज्ञ 174 157 बाइट्स

बिना निर्माण के:

157 बाइट्स

r=Rectangle;c=RGBColor;Graphics@{c[{0,72,224}/255],r[{0,0},{25,18}],White,r[{7,0},{11,18}],r[{0,7},{25,11}],c[{43,8,8}/51],r[{8,0},{10,18}],r[{0,8},{25,10}]}

यहाँ छवि विवरण दर्ज करें

या वैकल्पिक रूप से

232 बाइट्स

x=Join[Unitize/@Range@7,{0},{2,2},{0},Unitize/@Range@14]&/@Range@7;y=Join[ConstantArray[0,8],{2,2},ConstantArray[0,15]];z=ConstantArray[2,25];ArrayPlot[Join[x,{y},{z,z},{y},x]/.{2->RGBColor[{43,8,8}/51],1->RGBColor[{0,72,224}/255]}]

यहाँ छवि विवरण दर्ज करें


1
आपका स्वागत है। वही आपके दूसरे लंबे संस्करण में लागू किया जा सकता है। u=Unitize;c=ConstantArrayआदि ^ _ ^
डैन ओक

1
रुको, वहाँ कुछ गणितज्ञ के लिए एक अंतर्निहित नहीं है? मैं आश्चर्यचकित हूँ।
मॉर्गन थ्रैप

@MorganThrapp मुझे यकीन है कि एक बिल्डिन का उपयोग करके एक और गणितज्ञ का उत्तर दिया जाता था।
gcampbell

3
वहाँ हैCountryData["Iceland", "Flag"]
dwa

7

जावास्क्रिप्ट (ईएस 6), 231 240

नीचे दिए गए स्निपेट के अंदर कोड। इसे परीक्षण करने के लिए चलाएँ।

d=(w,h,c)=>`<div style=float:left;width:${w}em;height:${h}em;background:#${['0048e0','fff','d72828'][~~c]}>`;document.write(d(25)+(a=[252,61,94,61,476]).concat(b=[261,70,485],810,b,a).map(v=>d(v>>5,v/4&7,v&3)).join(e='</div>')+e+e)


7

ZX स्पेक्ट्रम Z80 विधानसभा, 51 बाइट्स

https://github.com/ralphbecket/Z80/blob/master/IcelandFlag/IcelandFlag.asm

                zeusemulate "48K", "ULA+"
ZeusEmulate_PC  equ Main
ZeusEmulate_SP  equ $FF40

                org $8000

MinWhite        equ 7
MinRed          equ MinWhite + 1
TopRed          equ MinRed + 2
TopWhite        equ TopRed + 1
Height          equ TopWhite + MinWhite - 2
Width           equ TopWhite + 2 * MinWhite - 1

White           equ %01111000
Red             equ %01010000
Blue            equ %01001000

Main            ld hl, $5800 + ((Height - 1) * 32) + (Width - 1)
                ld c, Height

YLoop           ld b, Width

XLoop           ld (hl), Red
                ld de, MinRed * $100 + TopRed
                call Test
                jr c, Next

                ld (hl), White
                ld de, MinWhite * $100 + TopWhite
                call Test
                jr c, Next

                ld (hl), Blue

Next            dec hl
                djnz XLoop
                ld de, -(32 - Width)
                add hl, de
                dec c
                jr nz, YLoop
                ret

Test            equ *
TestX           ld a, b
                cp d
                jr c, TestY
                cp e
                ret c
TestY           ld a, c
                cp d
                ccf
                ret nc
                cp e
                ret

यहाँ छवि विवरण दर्ज करें


7

जे, 86 84 83 बाइट्स

   load'viewmat'
   (255,0 72 224,:215,2#40)viewmat _9 _9|.2(b=.[,~[,.~[,[,.])0 b 14 21$1

दृष्टिकोण पाइथन के साथ @ गैबोर फेकेट के समान है।

वाम तर्क colorsके लिए viewmatआरजीबी मूल्यों की एक सरणी, हमारे मामले में है:

255 255 255
  0  72 224
215  40  40

और सही तर्क सूचकांकों का एक मैट्रिक्स है colors। प्रत्येक आयाम में 9 वस्तुओं
(_9 _9 |. matrix)को स्थानांतरित करने का निर्देश देता है matrix। संख्या के साथ
डरावना निर्माण (border ([,~[,.~[,[,.]) matrix)लपेटता है । और 14 × 21 मैट्रिक्स बनाता है।matrixborder
(14 21 $ 1)

आउटपुट को अलग-अलग आकार बदलने योग्य विंडो में प्रदर्शित किया जाता है, डिफ़ॉल्ट रूप से बहुत बड़ा। यहाँ छवि विवरण दर्ज करें

धन्यवाद

मील - रंगों को फिर से व्यवस्थित करने के साथ 2 बाइट्स बचाए गए, ,आकार की सहमति के लिए संख्या (255) को डुप्लिकेट करता है।


1
ऐसा लगता है कि झंडे की ऊंचाई 25 के बजाय 26 इकाइयाँ है।
गैबोर फेकेते

@ GáborFekete hm, आपका मतलब 18 की बजाय 19 है? उल्लेख नहीं किया है कि, सिर्फ अपनी टिप्पणी के बाद देखा
दान ओक

ओह ठीक है मैंने ऊंचाई लिखी लेकिन चौड़ाई मूल्यों का इस्तेमाल किया ...
गेबोर फेकेट

हाँ, वास्तव में। मैंने मूल्यों में गलती की। प्रारंभिक मैट्रिक्स का आकार 14 21( 18 25 - 4 4) होना चाहिए । सही है ... धन्यवाद!
डैन ओक

1
आप 2 बाइट्स बचा सकते हैं आरजीबी मानों को पुन: व्यवस्थित करना(255,0 72 224,:215 40 40)viewmat _9 _9|.2(b=.[,~[,.~[,[,.])0 b 14 21$1
मील

6

TI-BASIC (गैर-प्रतिस्पर्धात्मक), 323 बाइट्स

कोड TI-84, 83 और वेरिएंट के लिए लिखा गया है। मुझे यकीन है कि उम्मीद है कि यह एक मुद्दा नहीं है कि आयाम डिवाइस द्वारा भिन्न हो सकते हैं, और यह कि कोड रंगीन नहीं है।

सेट अप:

:18→Xmax:¯18→Xmin
:10→Ymin:¯10→Ymin
:AxesOff

चित्रकारी:

:Line(¯15,9,¯8,9)
:Line(¯8,9,¯8,2)
:Line(¯8,2,¯15,2)
:Line(¯15,2,¯15,9)

:Line(¯15,¯9,¯8,¯9)
:Line(¯8,¯9,¯8,¯2)
:Line(¯8,¯2,¯15,¯2)
:Line(¯15,¯2,¯15,¯9)

:Line(¯4,9,10,9)
:Line(¯4,2,10,2)
:Line(¯4,9,¯4,2)
:Line(10,9,19,2)

:Line(¯4,¯9,10,¯9)
:Line(¯4,¯2,10,¯2)
:Line(¯4,¯9,¯4,¯2)
:Line(10,¯9,19,¯2)

:Line(¯15,1,¯7,1)
:Line(¯15,¯1,¯7,¯1)
:Line(¯5,1,20,1)
:Line(¯5,¯1,¯20,¯1)
:Line(¯7,¯1,¯7,¯9)
:Line(¯5,¯1,¯5,¯9)
:Line(¯7,1,¯7,9)
:Line(¯5,1,¯5,9)

golfed:

:18→Xmax:¯18→Xmin:10→Ymin:¯10→Ymin:AxesOff:Line(¯15,9,¯8,9:Line(¯8,9,¯8,2:Line(¯8,2,¯15,2:Line(¯15,2,¯15,9:Line(¯15,¯9,¯8,¯9:Line(¯8,¯9,¯8,¯2:Line(¯8,¯2,¯15,¯2:Line(¯15,¯2,¯15,¯9:Line(¯4,9,10,9:Line(¯4,2,10,2:Line(¯4,9,¯4,2:Line(10,9,19,2:Line(¯4,¯9,10,¯9:Line(¯4,¯2,10,¯2:Line(¯4,¯9,¯4,¯2:Line(10,¯9,19,¯2:Line(¯15,1,¯7,1:Line(¯15,¯1,¯7,¯1:Line(¯5,1,20,1:Line(¯5,¯1,¯20,¯1:Line(¯7,¯1,¯7,¯9:Line(¯5,¯1,¯5,¯9:Line(¯7,1,¯7,9:Line(¯5,1,¯5,9

हां, कमी )जानबूझकर है।

आकार:

Line(और सभी आदेश जैसे कि 1 बाइट लेते हैं, प्रत्येक संख्या एक बाइट लेती है। वह 323 बाइट्स है।

वह बिल्कुल थकाऊ था। मैं इसे एक एमुलेटर पर उम्मीद से प्राप्त करूंगा (मुझे मैन्युअल रूप से सब कुछ दर्ज करना होगा) लेकिन यह शाब्दिक रूप से ध्वज के आकार की रेखाएं हैं।


1
@ Random832 ताज्जुब है, हाँ! यहां टोकन साइज की जांच करें: tibasicdev.wikidot.com/line मुझे यकीन नहीं है कि बाइट वास्तव में क्या है। हालांकि मुझे पता है कि कैलकुलेटर पर, इसे अनिवार्य रूप से एक चार के रूप में माना जाता है।
१३:

1
@ Random832 के लिए बाइट Line(0x9C है। आप यहाँ एक-बाइट टोकन की एक तालिका देख सकते हैं: tibasicdev.wikidot.com/one-byte-tokens
f ''

1
आप क्षेत्रों का उपयोग कर (का उपयोग कर का ग्राफ़ बनाने नहीं कर सका <और >लाइनों के बजाय) ग्रेस्केल छायांकन पाने के लिए?
mbomb007

7
यह गैर-प्रतिस्पर्धा क्यों है?
मेगो

1
ध्यान दें कि अब एक रंग TI-84 है, इसलिए आप इसे केवल मामूली संशोधनों के साथ वहां पर चला सकते हैं।
मोशे काट्ज़

6

सी#, 384 346 317 292 291 289 बाइट्स

विंडोज फॉर्म और जीडीआई के साथ सरल समाधान

Func<int,int,Point>p=(x,y)=>new Point(x*10,y*10);var b=new Bitmap(250,180);var g=Graphics.FromImage(b);g.Clear(Color.Blue);g.DrawLines(new Pen(Color.White,40),new[]{p(0,9),p(50,9),p(9,-20),p(9,18)});g.DrawLines(new Pen(Color.Red,20),new[]{p(0,9),p(50,9),p(9,-20),p(9,18)});b.Save("b.png");

प्रयोग

एक नया कंसोल-प्रोजेक्ट शुरू करें और कोड को मुख्य-विधि में डालें, System.Drawing-Namespace जोड़ें।

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

कोड एक नई छवि बनाता है और उस पर कुछ लाइनें खींचता है। यह छवि को डिस्क पर सहेजता है। लाइनों के कुछ समाप्ति बिंदु दृश्य क्षेत्र के बाहर हैं।

यहाँ छवि विवरण दर्ज करें


PPCG में आपका स्वागत है! महान पहला कोडगोल्फ, लेकिन ऐसा लगता है कि आप इसे सुधार सकते हैं। सबसे पहले, मुझे लगता है कि तुम यहाँ कुछ रिक्त स्थान को हटा सकते हैं और वहाँ ( b = new=> b=new, using ()=> using(), के बाद रिक्त स्थान का प्रयोग नहीं करते ;रों यदि आप चाहते हैं, आप हमारी पढ़ सकते हैं। सी # में गोल्फ के लिए सुझाव कुछ सलाह खोजने के लिए।
Katenkyo

धन्यवाद, रिक्त स्थान हटा दिए गए हैं और मैं उपयोग कथन भी हटा देता हूं। मैं भी अब गुमनाम चर का उपयोग करता हूं।
soema

ज़रुरत है आपको Process.Start(f);? जैसा कि मैं समझता हूं, यह समान है cmd start। जैसा कि आप छवि को सहेजने या प्रदर्शित करने का विकल्प चुन सकते हैं और आपने पहले ही इसे सहेज लिया है, तो यह कदम व्यर्थ लगता है। जिस स्थिति में हो सकता है कि आप चर च को भी घोषित करने से बच सकें।
मैनेटवर्क

हाँ! बस अब बचाओ और अधिक नहीं खुल रहा है ...
सोमा

आपको नाम स्थान के usingसाथ-साथ विधि घोषणा या प्रोग्राम बॉयलरप्लेट के लिए बाइट्स की गणना करनी चाहिए । यह वह सब है जो आवश्यक है (कार्य आपको किसी फ़ंक्शन या प्रोग्राम का विकल्प देता है, लेकिन सिर्फ बयानों का एक गुच्छा नहीं)।
जॉय

6

पायथन आइडल, 191 172 156 बाइट्स

IDLE पायथन का मानक IDE है। जब तक यह एक कस्टम विषय नहीं है, तब तक STDOUTनीला है, STDERRलाल है, और पृष्ठभूमि सफेद है। तो, निम्न कोड:

from sys import*
x=[1]*7;y=[0]*7;z=[0,2,2,0]
f=[x+z+x*2]*4+[y+z+y*2,[2]*25]
for s in f+f[::-1]:[[stderr,stdout][-x].write(' █'[x>0]*2)for x in s];print()

इस उत्पादन का उत्पादन:

यहाँ छवि विवरण दर्ज करें

वर्ग के रूप में मुद्रित वर्णों के रूप में, यह थोड़ा बंद है, लेकिन अगर हम 1 इकाई को 2 वर्णों के पार ले जाते हैं और 1 वर्ण लंबा है, तो अनुपात सटीक हैं।

यह चौड़ाई आयाम को आधा करके, और ब्लॉकों के लिए एक ASCII वर्ण का उपयोग करके '#', जैसे कि हो सकता है , लेकिन इसका बिल्कुल समान प्रभाव नहीं है।


व्याख्या

इस समय कोड अपने आप में काफी टेढ़ा लगता है, और निश्चित रूप से गोल्फ हो सकता है, लेकिन मूल विचार यह है:

  • एक मैट्रिक्स का निर्माण करें जहां 0व्हाट्सएप का 1प्रतिनिधित्व करता है , एक नीले ब्लॉक का 2प्रतिनिधित्व करता है , और एक लाल ब्लॉक का प्रतिनिधित्व करता है।
    • पहली छमाही का निर्माण (मुख्य रूप से सूची स्लाइसिंग / गुणा के माध्यम से) किया जाता है, और पूर्ण ध्वज को उत्पन्न करने के लिए खुद को रिवर्स में जोड़ा जाता है।
  • मैट्रिक्स के माध्यम से लूप करें, प्रत्येक मूल्य को व्हाट्सएप या एक ब्लॉक को STDERR/ STDOUTतदनुसार प्रिंट करें । प्रत्येक पंक्ति के बाद एक नई लाइन प्रिंट करें।

6

पायथन टर्टल, 176 बाइट्स

एक और पायथन कछुआ कार्यान्वयन लेकिन इस बार ड्राइंग के बजाय मुद्रांकन पर आधारित :

from turtle import*
shape("square")
c=color
c("navy")
z=shapesize
z(18,25)
s=stamp
s()
c("white")
z(4,25)
s()
bk(70)
seth(90)
s()
c("#d72828")
z(2,18)
s()
home()
z(2,25)
done()

मुद्रांकन का उपयोग करना, और इसे आसानी से मापनीय नहीं बनाना, लगभग 60 बाइट्स कोड को बचाता है।

यहाँ छवि विवरण दर्ज करें

मजेदार हिस्सा यह है कि आप कॉल में बहुभुज विकल्प को "square"बहुभुज विकल्प के साथ बदल सकते हैं और एक इकोग्रोवी लोगो प्राप्त कर सकते हैं:"turtle"shape()

यहाँ छवि विवरण दर्ज करें


5

पर्ल, 134 बाइट्स

नोट: \x1bवास्तव में ASCII एस्केप कैरेक्टर है और 1 बाइट के रूप में गिना जाता है

($b,$w,$r)=map"\x1b[48;5;${_}m",18,15,1;print@l=("$b "x7,"$w $r  $w $b",$"x14,$/)x7,@m=("$w "x8,"$r  ","$w "x15,$/),("$r "x25,$/)x2,@m,@l

प्रयोग

के रूप में सहेजें iceland-flag.plऔर के माध्यम से चलाएं:

perl iceland-flag.pl

कटा हुआ झंडा

एएनएसआई से बचने के क्रम का उपयोग करता है और ध्वज को प्रदर्शित करने के लिए एक लिनक्स टर्मिनल मानता है। प्रदान किए गए मापों का उपयोग करके थोड़ा अजीब लगता है।

पर्ल, 141 बाइट्स

यह संस्करण वास्तविक आयामों के थोड़ा करीब है ...

($b,$w,$r)=map"\x1b[48;5;${_}m",18,15,1;print@l=("$b "x14,"$w  $r    $w  $b",$"x28,$/)x7,@m=("$w "x16,"$r "x4,"$w "x30,$/),("$r "x50,$/)x2,@m,@l

कम धार वाला झंडा


1
विचित्रता इस तथ्य से आती है कि पात्र अपनी चौड़ाई से अधिक लम्बे होते हैं।
एर्ग आउटफोलर

@ E @G square वास्तव में, मुझे आश्चर्य है कि अगर वहाँ वर्ग निश्चित-चौड़ाई वाले फोंट थे, लेकिन मुझे नहीं लगता कि वे विशेष रूप से अच्छे दिखेंगे! मैं उस दूसरे संस्करण को और भी करीब से देखने के लिए अपडेट कर सकता हूं (यह वर्तमान में, लेकिन समय ... इससे ज्यादा बाइट्स नहीं लेना चाहिए ...
डोम हेस्टिंग्स

एक TTY पर, आप इस तरह की कोई बात नहीं कर सकते , फॉन्ट द फॉन्ट! आप इसे सिर्फ इसलिए नहीं बदल सकते क्योंकि आपको यह पसंद नहीं है।
आउटगॉल्फ जूल

5

SpecaBAS - 150 बाइट्स

1 a=15,b=250,c=180: FOR i=1 TO 5: READ k,x,y,w,h: RECTANGLE INK k;x,y,w,h FILL: NEXT i
2 DATA 1,0,0,b,c,a,71,0,40,c,a,0,71,b,40,2,81,0,20,c,2,0,81,b,20

स्याही रंग, x, y, चौड़ाई और ऊंचाई को पढ़ता है और उन निर्देशांक / आयामों के साथ एक आयत खींचता है।

यहाँ छवि विवरण दर्ज करें


क्या आपको प्रत्येक के बाद रिक्त स्थान की आवश्यकता है :? ओह, और यह 151 बाइट्स है।
आउटगोल्फ जूल का एरिक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.