আইসল্যান্ডের জাতীয় পতাকা আঁকুন


107

এই বছরের উয়েফা ইউরো 2016 শেষ হয়েছে এবং বেশ কয়েকটি নেতিবাচক শিরোনাম ছাড়াও খুব ইতিবাচক চমক হয়েছে - আইসল্যান্ড জাতীয় ফুটবল দল । আসুন তাদের জাতীয় পতাকা আঁকুন।

ইনপুট

ঠিক আছে, স্পষ্টতই এই চ্যালেঞ্জটির কোনও ইনপুট নেই।

আউটপুট

  • কমপক্ষে 100 x 72 পিক্সেল বা 25 x 18 অক্ষরের যেকোন প্রযোজ্য চাক্ষুষ বিন্যাসে আইসল্যান্ডের পতাকা আঁকুন ।
  • আউটপুটটি কোনও ফাইলে সংরক্ষণ করুন বা তাত্ক্ষণিকভাবে উপস্থাপন করুন - উদাহরণস্বরূপ ফর্ম্যাটগুলি হ'ল পিএনজি, জেপিজি ইত্যাদির মতো চিত্র, ভেক্টর গ্রাফিক্স, এইচটিএমএল ক্যানভাসে আঁকুন বা ভিজ্যুয়ালাইজেশনের জন্য অ-হোয়াইটস্পেস অক্ষর ব্যবহার করুন।
  • এই রং ব্যবহার করুন : নীল : #0048e0, সাদা : #ffffffএবং লাল : #d72828
  • যদি আপনার ভাষা নির্দিষ্ট রঙের মানগুলিকে সমর্থন করে না , তবে এএনএসআই রঙ কোডগুলি থেকে লাল , নীল এবং সাদা জন্য মানক মান ব্যবহার করুন ।
  • নীচের চিত্রে প্রদর্শিত হিসাবে সঠিক অনুপাত সহ পতাকা আঁকুন:

boilerplate

  • আপনি একটি প্রোগ্রাম বা একটি ফাংশন লিখতে পারেন। এটি যদি কোনও বেনামে কাজ করে থাকে তবে দয়া করে কীভাবে এটি চালাবেন তার একটি উদাহরণ অন্তর্ভুক্ত করুন।
  • এটি তাই বাইট জিতে সংক্ষিপ্ত উত্তর।
  • স্ট্যান্ডার্ড লুফোলগুলি অনুমোদিত নয়।

লিডারবোর্ড

আপনি যদি নিজের উত্তর খুঁজে না পান তবে লিডারবোর্ডের " তথ্য বিভাগ " তে বর্ণিত হিসাবে আপনার ভাষা এবং বাইট গণনা ফর্ম্যাট করুন ।


এই চ্যালেঞ্জটি ফ্রান্সের জাতীয় পতাকা আঁকিয়ে অনুপ্রাণিত ।


20
এর চেয়েও চ্যালেঞ্জিং আমার দেশের পতাকা হবে, যিনিও এই বছর ইউরোতে প্রত্যাশার চেয়ে অনেক ভাল করেছিলেন - ওয়েলস। :-)
গ্যারেথ

24
@ গ্যারেথ আমি ড্রাগনের জলরোধী স্পেসিফিকেশনটির অপেক্ষায় রয়েছি। ;)
মার্টিন ইন্ডার

4
দেখে মনে হচ্ছে উপরের চিত্রের নীলটি বাস্তবের চেয়ে #0048e0
লুইস মেন্ডো

10
@ মার্টিনএেন্ডার এটি পাথরের ট্যাবলেট গণনায় খোদাই করে? এটা জলরোধী।
ইমিবিস

5
@ মার্টিনএন্ডার ম্যাথেমেটিকায় একটি থাকবে।
gcampbell

উত্তর:


259

পাইথন 3, 190 172 171 169 167 160 159 147 143 বাইট

পিআইএল সংস্করণ ১.১..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 এ পুনরায় আকার দেওয়া হয়েছে)

আউটপুট:

এখানে চিত্র বর্ণনা লিখুন

অ্যানিমেটেড:

এখানে চিত্র বর্ণনা লিখুন

সম্পাদনা 1: প্রাথমিকভাবে 25 * 18 চিত্র তৈরি করে ক্রপিং সরিয়ে 18 বাইট গল্ফ করা হয়েছে।

Edit2: ব্যবহার করে Golfed 1 বাইট #fffপরিবর্তে white

সম্পাদনা 3: গল্ফযুক্ত 2 বাইট আমদানি বাদ দিয়ে

সম্পাদনা 4: অফসেট পদ্ধতির দ্বিতীয় যুক্তি সরিয়ে গল্ফড 2 বাইট

সম্পাদনা 5: গল্ফড 7 বাইট চিত্র সংরক্ষণ করে না দেখিয়ে (ইউনিক্সে চিত্রগ্রাহক ইনস্টল করা দরকার)

সম্পাদনা 6: আমদানি পুনর্লিখনের মাধ্যমে গল্ফযুক্ত 1 বাইট।

সম্পাদনা 7: আবার আমদানি পুনর্লিখন করে 12 টি বাইট গল্ফ করা হয়েছে। (ধন্যবাদ @ ডেনিস দ্বারা)

সম্পাদনা 8: যুক্ত অ্যানিমেশন।

সম্পাদনা 9: শেষ ফ্রেমটি অনুপস্থিত থাকায় অ্যানিমেশন আপডেট হয়েছে।

সম্পাদনা 10: গল্ফড 4 বাইট অ্যালবার্ট রেনশোর ধন্যবাদ!


42
সত্যিই দুর্দান্ত উত্তর।
সন্নিবেশকৃত নাম এখানে

17
এই প্রতিভা! (ভাইকিং) টুপি তোমার কাছে
আইওনিস

25
বাহ, এটি খুব বিরল যে আমি এসও-তে কোড-গল্ফ টাইপ প্রশ্নগুলিতে ভোট দিয়েছি, তবে এটি বিরল যে আমি এটি করার জন্য পুরো একটি নতুন সম্প্রদায়ের সাথে যোগ দেব। এই অফসেট হ্যাকটি স্মরণ করিয়ে দেয় যে আপনি তরুণ হুইপারস্প্যানাররা আপনার মেমরির ওডলবাইটগুলি মেমরির সাথে কাজ করার আগে আমাদের করণীয় ছিল। চমৎকার কাজ.

5
প্রতিভা, সত্যিই! 💡
InuYaksa

3
যদি আপনি না from PIL.ImageDraw import*, Iহয়ে ওঠে Imageএবং D.Drawহয়ে Draw, 11 বাইট সংরক্ষণ।
ডেনিস

117

ডস সিওএমের জন্য x86 রিয়েল-মোড মেশিন কোড, 69 65 63 62 বাইট

আইসল্যান্ড পতাকা উত্পাদিত

কোডটি ডস সিওএম এক্সিকিউটেবল হিসাবে সম্পাদিত হতে বোঝানো হয়।

বিশেষ ধন্যবাদ

মেশিন কোড (হেক্স বাইটে)

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

সমাবেশ উত্স

সূত্রটি এনএএসএমের জন্য।

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
এটি সত্যিই একটি দুর্দান্ত উত্তর! স্বাগত!
অ্যাডমবর্কবার্ক

5
আপনি 10 ম & 13 এ 'xchg' এর সাথে 'মুভি' প্রতিস্থাপন করে 2 বাইট এবং 16 টায় 'টেস্ট সিএক্স, সিএক্স / জেজেড' 'জেসিএক্সজেড' প্রতিস্থাপনের মাধ্যমে 2 বাইট সংরক্ষণ করতে পারবেন
মেডেন

3
আরও কিছু চিন্তা। যেহেতু প্রোগ্রাম অসীম লুপ চালায়, আপনি লুপের খাটো করে মাত্র ঝিকিমিকি এড়াতে পারেন: _loop: jcxz _loop। আপনি যদি লোডিং ক্রম cxএবংdi
মেডেন

আবার ধন্যবাদ @ মিডন। ঝিকিমিকি প্রভাব সম্পূর্ণভাবে অপ্রয়োজনীয় ছিল :) আমিও মুছে mov bx, 320এবং সরানো 320 মধ্যে add di, 320(আগের add di, bx)।
মার্গারেট ব্লুম

গ্রেট। এই চ্যালেঞ্জের সমস্ত মেশিন কোডের উত্তরগুলির চেয়ে এখন আপনার দৃ firm় প্রান্ত রয়েছে। কেবলমাত্র নির্ভুলতার জন্য: jcxz _cycleডানদিকে যাওয়ার পরে ভাল লাগবে xchg ax,cxযাতে ডেটা শেষ হওয়ার পরে এটি বাইট লোড না করে। সেখানে উৎস মধ্যে কিছু বিভ্রান্তিকর মন্তব্য করে: ;dx = rowdxকোড কোথাও ব্যবহার করা হয় না।
মেডেন

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 প্রতিনিধি
পৌঁছেছি

1
ফলাফলটি কি "কমপক্ষে 100 x 72 ইউনিট হতে হবে না, যেখানে একটি ইউনিট পিক্সেল বা একটি অক্ষর"? এটি এই প্রয়োজনীয়তাটি পূরণ করে না, তবে আমি সন্দেহ করি যে সংজ্ঞাটি তৈরি করার সময় ওপি একটি ভুল করেছিল।
Kritzefitz

4
@ ক্রিজেফিটজ ওয়েল, একটি চরিত্র অনেক পিক্সেল নেয়, তাই এটি একটি চরিত্রের পরিবর্তে পিক্সেল হতে পারে। একটি গর্ত পাওয়া গেছে।
এরিক আউটগল্ফার

@ গিয়াকোমো গ্যারাবেলো পিকের প্রথম সাইটটি যেখানে আপনি +150 পেয়েছেন? আমি আইকনটি চিনতে পারি না।

@ লেগোস্টোরমাট্রোপ্র এটি পিপিসিজি !! এই গিটহাব প্রকল্পটি একবার দেখুন!
গিয়াকোমো গারাবেলো

31

এক্সেল ভিবিএ, 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
এছাড়াও পিক্সেলগুলিতে রূপান্তর করার কোডটিকে দেখে মনে হচ্ছে এটির জন্য আপনার হার্ড কোডের দরকার হয় রেজোলিউশনের কিছু অংশ বা পিপিআই (আমি প্রকৃতপক্ষে সূত্রটি বুঝতে পারি না) সুতরাং মনে হয় এটি সমস্ত ডিভাইস জুড়ে কাজ করবে না।
tjb1

2
এবং, কেবলমাত্র সম্পূর্ণতার জন্য (সমাধানের চেয়ে স্কোয়ার সেল স্থাপনের ক্ষেত্রে) আপনি যদি পৃষ্ঠার বিন্যাস ভিউতে স্যুইচ করেন তবে আপনি নির্দিষ্ট মানগুলির মতো সেল উচ্চতা এবং প্রস্থ সেট করতে পারেন 0.2cm। আপনি একবার ফিরে যান এবং এটি পুনরুদ্ধার করা হবে, এবং উদ্ভট এক্সেল দিক অনুপাত :-) চেষ্টা করার চেষ্টা করার দরকার নেই, যাইহোক, আপনি যদি আরও কিছু দুর্দান্ত এক্সেল কৌশল চান তবে জোয়েল স্পলস্কির "আপনি চুষে এক্সেল করুন" ভিডিওটি দেখুন।

3
আমি মনে করি এটি পরে স্বয়ংক্রিয়ভাবে যোগ করা সত্ত্বেও অতিরিক্ত শ্বেত স্থান অপসারণ করা যেতে পারে।
এরিক আউটগল্ফার

29

এমএটিএল , 57 56 52 49 48 বাইট

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

এটি নিম্নলিখিত চিত্রটি তৈরি করে (মতলব এবং অক্টাভেতে চলমান সংকলকটির সাথে পরীক্ষিত)।

এখানে চিত্র বর্ণনা লিখুন

সম্পাদনা: আপনি পরীক্ষামূলকভাবে এমএটিএল অনলাইনে চেষ্টা করতে পারেন ! (যদি পৃষ্ঠাটি এটি প্রাথমিকভাবে কাজ না করে তবে আপনার পুনরায় লোড করার প্রয়োজন হতে পারে)।

কিভাবে এটা কাজ করে

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

সিএসএস, 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 বাইট সংরক্ষণ করা হয়েছে।

সংরক্ষিত @ user2428118 20 বাইট ধন্যবাদ, সব সরিয়ে pxসে। নোট করুন যে এর জন্য পৃষ্ঠাটি কুইর্কস মোডে রেন্ডার করা দরকার, সুতরাং এটি স্ট্যাক স্নিপেটে কাজ করে না।

আমি কোনও অফসেটে কোনও চিত্র মোড়ানো করার পাইথন পদ্ধতির অনুলিপি করতে পারি, তবে এটি আকর্ষণীয় হবে না।

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 }

এটি ছদ্ম-উপাদানগুলি (যে উপাদানগুলিতে এইচটিএমএল লিখিত হয় না) ::beforeএবং ::afterপতাকাটিতে লাইন তৈরি করতে ব্যবহার করে। এটি কোনও এইচটিএমএল নিয়ে কাজ করার কারণটি হ'ল এইচটিএমএল 5 এ <html>এবং <body>উপাদানগুলি areচ্ছিক, সুতরাং ব্রাউজারগুলি উপস্থিত না থাকলে সেগুলি স্বয়ংক্রিয়ভাবে সেগুলি তৈরি করে।

আরও মজা:


2
আপনি এখনও সঞ্চয় করতে পারেন 1 বাইট প্রতিস্থাপন whiteসঙ্গে #fff
সন্নিবেশকারী নাম 21

হ্যাঁ, ধন্যবাদ
gcampbell

1
আপনি যদি কুইর্কস মোডে সিএসএস প্রয়োগ করেন (ডক্টাইপ ছাড়াই পৃষ্ঠা) আপনি এটিকে pxসর্বত্র বাদ দিয়ে 264 বাইটে নামিয়ে আনতে পারেন ।
ব্যবহারকারী 2428118

@ user2428118 আরও কার্যকর যে এইচটিএমএল নেই বলে বিবেচনা করে আরও কার্যকর <!doctype html>!
wizzwizz4

@ user2428118 কোনও কারণে এটি মোবাইল সাফারিতে আমার পক্ষে কাজ করে না। আমি যখন কম্পিউটারে পাশে আছি তখন আমি দেখতে পাব।
gcampbell

26

বাশ + ইমেজম্যাগিক 7, 94 90 86 85 বাইট

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

8 বাইট সংরক্ষণ করা হয়েছে, @ মান্যাটওয়ার্ককে এবং 1 বাইটকে ধন্যবাদ, @ গ্লেনর্যান্ডার্স-পেহারসনকে ধন্যবাদ


5
যদি আপনি x:আউটপুট ফাইলের নামের পরিবর্তে নির্দিষ্ট করে থাকেন convertতবে ফলাফলটি একটি উইন্ডোতে প্রদর্শিত হবে যা গ্রহণযোগ্য is এবং শুধু ধারালো, কোন উদ্ধৃত করা প্রয়োজন অব্যাহতি যথেষ্ট: \#d72828
manatwork

2
সাধারণত আমরা ব্যাশ + ইমেজম্যাগিকের মতো উত্তরগুলি লেবেল করি । উপর bashদিকে আপনি অন্য 4 অক্ষর সংরক্ষণ করতে পারেন: convert -size 84x56 xc:#0048e0 ${s=-splice 8x8}+28+28 -background \#d72828 $s+32+32 x:
manatwork

শুধু একটি বোকা প্রশ্ন: আপনি কি করতে পারেন ${s=-splice 8x8}+56?
এরিক আউটগল্ফার

@ EʀɪᴋᴛʜᴇGᴏʟғᴇʀ এর সাথে +56তেমন আচরণ করা হয় +56+0, না +28+28
বোদখরোহরো

2
আপনি ইমেজম্যাগিকের সাম্প্রতিক সংস্করণটি ব্যবহার করে অন্য একটি বাইট সংরক্ষণ করতে পারেন; তাহলে কমান্ডটি "রূপান্তর" এর পরিবর্তে "ম্যাজিক" হতে পারে।
গ্লেন রেন্ডার্স-পেহারসন

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

এখানে চিত্র বর্ণনা লিখুন

টেপের মাধ্যমে বেসিক প্রোগ্রামটির আকার হিসাবে আকার নির্ধারিত SAVEফেসবুকের জেডএক্স স্পেকট্রাম গ্রুপের কিছু সদস্যকে বিশেষত @ আইপোমেটিক এবং জোহান কোয়েলম্যানের কাছে প্রচুর গল্ফিং ক্রেডিট ।


সেগুলি দেখে PAPERএবং BRIGHTএনে দেয় অনেকগুলি ভাল স্মৃতি :-)
লুইস মেন্ডো

একটি জেডএক্স স্পেকট্রাম বেসিক প্রোগ্রাম কত মেমরি নেয় সে সম্পর্কে কোনও তথ্য আছে? আমি ভেবেছিলাম এটি একটি "টোকেনাইজড" ভাষা, অর্থাৎ আমি প্রত্যাশা করলাম FOR, NOTইত্যাদি কেবলমাত্র 1 বা 2 টি বাইট নিতে হবে
লুইস মেন্ডো

1
@ লুইস মেন্ডো হ্যাঁ, এটি টোকানাইজড - FORঅবিকল একটি বাইট। তবে সংখ্যাগুলি "অ্যান্টি-টোকেনাইজড" এতে যে এগুলি তাদের পাঠ্য এবং বাইনারি উভয় ফর্ম হিসাবে সংরক্ষণ করা হয় এবং আপনার প্রত্যাশার চেয়ে আরও 5 টি বাইট নেয়, সুতরাং NOT PIশূন্য এবং এর মতো নয়।
ফিলিপ কেন্ডল

এটিটি সরিয়ে 132 বাইটস সীমানা পরীক্ষাটি সামঞ্জস্য করে twitter.com/john_metcalf/status/752760203007791105
ইমপোম্যাটিক

1
আরও কিছু অপ্টিমাইজেশনের সাথে 122 বাইটস twitter.com/john_metcalf/status/752783690179211264
ইমপোম্যাটিক

15

জেডএক্স স্পেকট্রাম জেড 80 এসেম্বলি, 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

মাইনক্রাফ্ট 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 ব্লক স্থাপন হিসাবে আছে। এটি মোটামুটি বড় ছায়া ফেলে এবং দানবগুলি এর নীচে ছড়িয়ে পড়ে sp আইসল্যান্ডের দেশে এটি সঠিক কিনা তা অবশ্য কারও অনুমান।

সুষ্ঠু সতর্কতা - MinecartCommandBlockচারটি অক্ষর সংরক্ষণের স্বার্থে বিশ্বের সমস্ত লোককে হত্যা করবে / করবে । আপনার অত্যধিক সংযুক্ত এমন দুনিয়ায় এটি চালাবেন না।

পতাকা

মিস্টারগ্রেটোর কমান্ড সংযুক্তকারী ব্যবহৃত হয়েছে এবং আউটপুটটিকে কিছুটা সামান্য তাত্ক্ষণিক করেছে (808 -> 734)


1
"এটি আইসল্যান্ডের দেশের পক্ষে সঠিক কিনা ..." 😂
জর্দান

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
একেবারে। আমি মনে করি 30 বছর আগে আমি এটি প্রথম অ্যাপল IIe এ দেখেছি। এটি আমার টিআরএস -80 রঙিন কম্পিউটারেও ছিল। স্কুলে সরকারীভাবে এটি শিখার কয়েক বছর আগে জ্যামিতিতে কোণ ব্যবহার করা আমার প্রথম স্বাদ ছিল।
গিটারপিকার

চারপাশে সাদা সীমানা কেন?
সলোমন উকো

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 টি আয়তক্ষেত্র দ্বারা তৈরি করা হয়েছে। 7 পিক্সেল ব্যবহার করে: 1 ইউনিটের অনুপাত। অন্য কথায়, প্রতিটি ইউনিটের জন্য, 7 পিক্সেল ব্যবহৃত হয়। ওএস এক্স 10.11 সহ ম্যাকিনটোস-এ আউটপুটটির চিত্র এখানে রয়েছে:

উদাহরণ আউটপুট

এটি আরও কিছুটা নিচে গল্ফ করার উপায় খুঁজতে ...


এর paintপরিবর্তে ওভাররাইড করার চেষ্টা করুন paintComponent। JPanel এর জন্য একটি বেনাম শ্রেণি ব্যবহার বিবেচনা করুন। কেবল একটি বাফারডেমেজ ব্যবহার এবং কোনও ফাইলে আউটপুট দেওয়ার বিষয়টি বিবেচনা করুন।
জাস্টিন 14

@ জাস্টিন আসলে, আমি ইতিমধ্যে Blueপটভূমির জন্য 1 বিশাল আয়তক্ষেত্র হিসাবে ব্যবহার করছিলাম । আমি পাইথনে এটি তৈরি করেছিলাম এবং এটির আরেকটি সংস্করণের মধ্যে আমি মিশে গিয়েছি। নির্বিশেষে, অন্যান্য টিপস জন্য ধন্যবাদ! :)
আর কাপ,

আরও কিছু পরামর্শ: একটি ব্যবহার করবেন না JPanel, কেবলমাত্র ওভাররাইড করুন JFrame। আপনি এই কাজ করতে এবং মাত্র ওভাররাইড তাহলে paint, আপনি সুইং শুধু AWT প্রয়োজন নেই, তাই পরিবর্তন JFrameকরার Frameএবং আমদানি মুছে ফেলুন। ফোন করবেন না super.paint। মূল পদ্ধতিটি পুনরায় সাজান; সরানো setSizeমধ্যেpaint আমাদের পদ্ধতি Frameপরিবর্তনশীল অপসারণ J, এবং সংযুক্ত .setVisible(true)বেনামী বর্গ শেষে। অবশেষে, পরিবর্তন .setVisible(true)হতে show(), হ্যাঁ এটা একটি অননুমোদিত পদ্ধতি, কিন্তু এটা খাটো করে। মূল পদ্ধতি থেকে interfaceঅপসারণ করতে একটি ব্যবহার করুন public
জাস্টিন

৩৩৮ টি অক্ষরে চূড়ান্ত ফলাফল (এটি একটি ফ্রেম হওয়ার কারণে উচ্চতাও পরিবর্তন করতে হয়েছিল):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

এসেম্ব্লার সোর্স কোড ( এমএডিএস সহ সংকলিত হতে পারে ):

        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 বিপিপি) ভিত্তিক। একই স্মৃতি অবস্থান থেকে বারবার লাইনগুলি লোড করা হয়। ডিসপ্লে সেট আপ করার পরে, প্রোগ্রামটি একটি অসীম লুপে প্রবেশ করে।

স্ক্রীনশট:

আইসল্যান্ড.এক্সেক্স অ্যাটারি800 এ চলছে


9

এফএফম্পেগ, 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
  • সম্পাদনা 1: printএবং উদ্ধৃতি চিহ্নের মধ্যে একটি বাইট প্রসারিত
  • সম্পাদনা 2: বাইনারি পিপিএম হিসাবে সামান্য খাটো
  • সম্পাদনা 3: চিত্রিত যা \0পরিবর্তে ব্যবহার করা যেতে পারে\x00

যদি কেউ কীভাবে মুদ্রণযোগ্য ASCII- অক্ষরটি সরাসরি ব্যবহার করতে জানেন তবে দয়া করে জানান let

পিএনজিতে রূপান্তরিত


2
অভিনন্দন! আপনি আমাকে অনেক মারলেন: ডি
গ্যাবার ফেকেট

2
@ গ্যাবারফিকেট আপনাকে বাইটে হারিয়েছে, হ্যাঁ। তবে আপনার উত্তর সেই
অফসেটটির

নিজেরাই পালানোর পরিবর্তে পালিয়ে যাওয়ার ফলাফল কেন হবে না?
সলোমন উকো

@ সলোমনউকো আমি b,w,r="\0Hà"*28,"ÿ"*12,"×(("*8পাইথন 3 ব্যবহার করে চেষ্টা করেছি , তবে এটি কার্যকর হয় না।
কার্ল ন্যাপফ

@ কার্লনাপফ, কীভাবে এটি ব্যর্থ হয়েছে? এটি ভুলভাবে আঁকলে, বা কোনও ত্রুটি বার্তা দিয়েছে? এটি কোনও এনকোডিংয়ের সমস্যাও হতে পারে।
সলোমন উকো

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
@ মান্যাটওয়ার্ক ওফস, কোনও কারণে আমি 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.png 100x72 আকারের আকারের সাথে

(দ্রষ্টব্য যে এটি সরাসরি প্রতিযোগী নয় উত্তরের , কারণ এটি একটি ফাইল লিখেছে, এবং স্ক্রিনে চিত্রটি প্রদর্শন করে না)

এখানে অসম্পূর্ণ সংস্করণটি সংকলিত এবং চালানো যেতে পারে:

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);
গিটারপিকার

কি GuitarPicker বলেন যোগ করার পদ্ধতি, 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
অপেক্ষা করুন, ম্যাথামেটিকায় এমন কোনও বিল্টিন নেই? আমি বিস্মিত.
মরগান থ্রাপ

@ মরগানথ্রাপ আমি নিশ্চিত যে একটি বিল্টিন ব্যবহার করে আরও একটি ম্যাথমেটিক উত্তর ছিল।
gcampbell

3
নেইCountryData["Iceland", "Flag"]
dwa

7

জাভাস্ক্রিপ্ট (ES6), 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

জেডএক্স স্পেকট্রাম জেড 80 এসেম্বলি, 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)মোড়ানো । এবংmatrixborder
(14 21 $ 1) 14 × 21 ম্যাট্রিক্স তৈরি করে।

আউটপুট পৃথক আকারে পরিবর্তনযোগ্য উইন্ডোতে প্রদর্শিত হয়, এটি ডিফল্টরূপে বেশ বড়। এখানে চিত্র বর্ণনা লিখুন

ধন্যবাদ

মাইল - রঙগুলি পুনরায় অর্ডার করার সাথে 2 বাইট সংরক্ষণিত, ,আকৃতির চুক্তির জন্য সংখ্যাগুলি (255) সদৃশ করে এর বৈশিষ্ট্যটি ব্যবহার করে ।


1
দেখে মনে হচ্ছে পতাকাটির উচ্চতা 25
টির

@ গ্যাবারফিকেট এইচএম, আপনি বোঝাচ্ছেন 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

টিআইবি-বেসিক (অ-প্রতিযোগী), 323 বাইট

কোড টিআই -৪৮, ৮ 83 এবং রূপগুলির জন্য লেখা for আমি নিশ্চিত আশা করি এটি কোনও সমস্যা নয় যা ডিভাইসের মাধ্যমে মাত্রাগুলি পরিবর্তিত হয় এবং কোডটি রঙিন নয়।

সেটআপ:

: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
@ র্যান্ডম 832 অদ্ভুতভাবে যথেষ্ট, হ্যাঁ! টোকেনের আকারটি এখানে দেখুন: tibasicdev.wikidot.com/line আমি নিশ্চিত নই যে বাইটটি ঠিক কী। তবে আমি জানি যে ক্যালকুলেটারে এটি মূলত চর হিসাবে বিবেচিত হয়।
charredgrass

1
@ র্যান্ডম 832 এর বাইটটি Line(0x9C। আপনি এখানে এক বাইট টোকেনের একটি টেবিল দেখতে পাবেন: tibasicdev.wikidot.com/one-byte-tokens
f ''

1
গ্রেস্কেল শেডিং পেতে আপনি কি লাইনের পরিবর্তে অঞ্চলগুলি (ব্যবহার <এবং >) ব্যবহার করে গ্রাফ করতে পারবেন না ?
mbomb007

7
কেন এই প্রতিযোগিতা হয়?
ঐ মেগো

1
মনে রাখবেন যে এখানে এখন একটি রঙের টিআই -৪৪ রয়েছে, তাই আপনি সম্ভবত এটি কেবল সামান্য পরিবর্তন দিয়ে চালাতে পারেন।
মোশে কাটজ

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

ব্যবহার

একটি নতুন কনসোল-প্রকল্প শুরু করুন এবং উপরে মেইন-পদ্ধতিতে কোডটি রাখুন, সিস্টেম.ড্রেইং-নেমস্পেস যুক্ত করুন।

কিভাবে এটা কাজ করে

কোডটি একটি নতুন চিত্র তৈরি করে এবং এটিতে কিছু লাইন আঁকবে। এটি চিত্রটি ডিস্কে সংরক্ষণ করে। কিছু লাইন শেষ পয়েন্ট দৃশ্যমান অঞ্চলের বাইরে।

এখানে চিত্র বর্ণনা লিখুন


পিপিসিজিতে আপনাকে স্বাগতম! দুর্দান্ত প্রথম কোডগল্ফ, তবে দেখে মনে হচ্ছে আপনি এটি উন্নতি করতে পারেন। প্রথমত, আমি মনে করি আপনি এখানে কিছু স্থান সরিয়ে ফেলতে পারেন এবং সেখানে ( b = new=> b=new, using ()=>) এর using()পরে স্পেস ব্যবহার করবেন না you ;আপনি যদি চান তবে কিছু পরামর্শ পেতে আপনি সি # তে গল্ফ করার জন্য আমাদের টিপস পড়তে পারেন ।
কাটেনকিও

ধন্যবাদ, স্পেসগুলি সরানো হয়েছে এবং আমি ব্যবহারের বিবৃতিটিও মুছে ফেলছি। আমি এখন বেনামে ভেরিয়েবল ব্যবহার করি।
soema

আপনার অবশ্যই দরকার Process.Start(f);? আমি যেমন বুঝতে পারি, তেমনই মিল রয়েছে cmd start। আপনি যেমন চিত্রটি সংরক্ষণ বা প্রদর্শনের জন্য চয়ন করতে পারেন এবং আপনি ইতিমধ্যে এটি সংরক্ষণ করেছেন, সেই পদক্ষেপটি অর্থহীন বলে মনে হয়। এক্ষেত্রে সম্ভবত আপনি ভেরিয়েবল এফও এড়াতে পারবেন।
মানটওয়ার্ক

হ্যাঁ! কেবল এখনই সংরক্ষণ করুন এবং আর খোলার দরকার নেই ...
সোয়েমা

নেমস্পেসের usingপাশাপাশি কোনও পদ্ধতি ঘোষণার জন্য বা প্রোগ্রামের বয়লারপ্লেটের জন্য আপনার বাইটগুলি গণনা করা উচিত । এটি যা প্রয়োজন তার সবই অংশ (টাস্ক আপনাকে কোনও ফাংশন বা প্রোগ্রামের পছন্দ দেয় তবে কেবল একগুচ্ছ বিবৃতিগুলির পছন্দ নয়)।
জোয়

6

পাইথন আইডিএল, 191 172 156 বাইট

IDLE পাইথনের মানক আইডিই। এটির কাস্টম থিম না থাকলে, 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()কল এবং ecogroovy লোগো পাবেন:

এখানে চিত্র বর্ণনা লিখুন


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

বর্গাকার পতাকা

এএনএসআই এস্কেপ সিকোয়েন্সগুলি ব্যবহার করে এবং পতাকাটি প্রদর্শন করতে একটি লিনাক্স টার্মিনাল ধরে। প্রদত্ত পরিমাপ ব্যবহার করে কিছুটা অদ্ভুত দেখাচ্ছে ooks

পার্ল, 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
অদ্ভুততা এই সত্যটি থেকে আসে যে অক্ষরগুলি তাদের প্রস্থের চেয়ে লম্বা হয়।
এরিক দি আউটগল্ফার

@ ইজিᴏʟғᴇʀ প্রকৃতপক্ষে, আমি অবাক হয়েছি যে সেখানে স্কোয়ার-ফিক্সড-প্রস্থের ফন্টগুলি রয়েছে কিনা, তবে আমি তাদের কল্পনাও করি না যে তারা বিশেষত ভাল লাগবে! আরও কাছাকাছি দেখতে আমি দ্বিতীয় সংস্করণটি আপডেট করতে পারি (এটি এখনকার চেয়ে বেশি বাইট নেওয়া উচিত নয়, তবে সময় ...)
ডম হেস্টিংস

একটি টিটিওয়াইতে আপনি এই জাতীয় জিনিসটি অবাক করতে পারবেন না , হরফটি হ'ল ফন্ট! আপনি এটি পছন্দ করেন না বলে আপনি এটি পরিবর্তন করতে পারবেন না।
এরিক দি আউটগল্ফার

5

স্পেনাবাস - 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, প্রস্থ এবং উচ্চতা পড়ে এবং সেই স্থানাঙ্ক / মাত্রাগুলির সাথে একটি আয়তক্ষেত্র আঁকে ws

এখানে চিত্র বর্ণনা লিখুন


আপনার কি প্রত্যেকের পরে স্পেস দরকার :? ওহ, এবং এটি 151 বাইট।
এরিক আউটগল্ফার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.