দাবাবোর্ড তৈরি করুন


23

পিএইচপি চ্যালেঞ্জ এ দেখেছি। উদ্দেশ্যটি হ'ল ন্যূনতম পরিমাণের কোড সহ 64 স্কোয়ার (8 * 8) দিয়ে দাবাবোর্ড তৈরি করা। যথেষ্ট সহজ, আমি পিএইচপি-তে আমার 356 বাইটে তৈরি করেছি (চিত্তাকর্ষক নয়, আমি জানি) এবং আমি আরও কিছু অ্যাপ্রোচ দেখতে চাই। এটি আপনার পছন্দের একটি ভাষায় তৈরি করা যেতে পারে, যতক্ষণ আপনি এটি ভ্যানিলা রাখেন, তাই কোনও আমদানি করা হবে না। সবচেয়ে ছোট বাইট গণনা জিতেছে।

আউটপুটটি দেখতে এইরকম হওয়া উচিত:

পর্দা টুপি

এবং আমার কোড:

<table><?php
$c='black';function p($c,$n){echo'<td style="width:50px;height:50px;background:'.$c.'"></td>';if($n==1){echo"<tr>";}}for($i=1;$i<=64;$i++){if($i%8==0&&$c=="black"){$c="white";$n=1;}elseif($i%8==0&&$c=="white"){$c="black";$n=1;}elseif(isset($n)&&$n==1){$n=0;}elseif($c=="black"){$n=0;$c="white";}elseif($c=="white"){$n=0;$c="black";}p($c,$n);}

বা পাঠযোগ্য:

<table><tr>
<?php
$color = 'black';
function printcolor($color, $nl) {

    echo '<td style="width:50px; height:50px; background:' . $color . '"></td>';
    if ($nl == true) {
        echo "</tr><tr>";
    }
}
for ($i=1; $i<=64;$i++) {
    if ($i % 8 == 0 && $color == "black") {
        $color = "white";
        $nl = true;
    } elseif ($i % 8 == 0 && $color == "white") {
        $color = "black";
        $nl = true;
    } elseif (isset($nl) && $nl == true) {      
        $nl = false;
    } elseif ($color == "black") {
        $nl = false;
        $color = "white";           
        } 
    elseif ($color == "white")  {
        $nl = false;
        $color = "black";
    }       
    printcolor($color, $nl);
}

সম্পাদনা:

দুঃখিত আমি প্রথমে খুব নির্দিষ্ট ছিল না:

  • স্কোয়ারগুলিতে ভেক্টোরিয়াল চিত্রগুলি বাদ দিয়ে 50px * 50px থাকা উচিত।
  • আউটপুট ফর্ম্যাট বা আকার প্রাসঙ্গিক নয় বা এটি কোনও চিত্র হওয়া দরকার।
  • মূল্যায়নের উদ্দেশ্যে আউটপুট অবশ্যই দৃশ্যমান হতে হবে যেমন কোনও চিত্র ফাইল বা স্ক্রিনশটের মধ্যে
  • চ্যালেঞ্জ পোস্ট হওয়ার পরে কোনও গ্রন্থাগার লেখা হয়নি

3
পিপিসিজিতে আপনাকে স্বাগতম, যেমন এটি দাঁড়িয়েছে, এই চ্যালেঞ্জটির পিএইচপি-র সাথে আসলেই কিছু করার নেই, তাই আমি আপনার ট্যাগগুলি পরিবর্তন করেছি। এছাড়াও, আমি বিশ্বাস করি যে আপনার রেফারেন্স বাস্তবায়ন আপনার প্রশ্নের ক্ষেত্রে নয়, উত্তর হিসাবে সম্পর্কিত। স্টিভির উত্থাপিত হিসাবে, আপনার চিত্রের আউটপুটটির প্রয়োজনীয় আকার এবং রঙ নির্দিষ্টকরণ এবং কোনও ক্ষতিকারক চিত্র অনুমোদিত কিনা তা নির্দিষ্ট করা উচিত।
FryAmTheEggman

2
কিছু ASCII- যাদু অনুমতি দেওয়া হয় না? :(
ডেনকার

4
মৌলিক কিভাবে মৌলিক? "আমদানি" এর সংজ্ঞা কী?
Doorknob

6
এটি কোনও চিত্র হওয়ার দরকার নেই তবে প্রতিটি বর্গটি কমপক্ষে 50px হওয়া উচিত? এটাই আমার কাছে স্ববিরোধী বলে মনে হচ্ছে।
পিটার টেলর

4
এখানে প্রোগ্রামিং ল্যাঙ্গুয়েজগুলি খুব বৈচিত্র্যময় কিছু রয়েছে যা বিশেষত গল্ফিংয়ের জন্য তৈরি এবং এর অনেকগুলি বিল্টিন ফাংশন রয়েছে। অতএব, আমি প্রস্তাব দিচ্ছি যে গ্রন্থাগারহীন ফাংশনগুলির সীমাবদ্ধতা অপসারণ করা উচিত এবং এই প্রশ্নটি পরিবর্তে ডিফল্ট অনুসরণ করে (সমস্ত আমদানি বাইট গণনায় গণনা করা; চ্যালেঞ্জ পোস্ট হওয়ার পরে কোনও লাইব্রেরি লেখা হয়নি)।
lirtosiast

উত্তর:


13

অক্টাভা, 20 18 বাইট

2 ব্রাইট ছাঁটাই করার জন্য @ ব্রুনোকে ধন্যবাদ

imshow(invhilb(8))

ফলাফল:

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

এই উত্তরটি এখানে পাওয়া একটি কৌশল ব্যবহার করে । এটি চিত্র উইন্ডোর আকারের উপর নির্ভর করে অক্টোবায় চিত্রগুলির স্বয়ংক্রিয় স্কেলিংয়ের উপরও নির্ভর করে।


1
@AlexA। আমি সম্পূর্ণরূপে নিশ্চিত নই যে স্কোয়ারগুলি অবশ্যই 50x50 পিক্সেল হতে হবে, কারণ পরের নিয়মে বলা হয়েছে "আউটপুট ফর্ম্যাট বা আকার প্রাসঙ্গিক নয় ..."। লোকেরা মন্তব্যগুলিতে স্পষ্টতা চেয়েছে, তবে প্রশ্নটি আপডেট হয়নি।
বেকার

প্রশ্ন সম্পাদনা। আপনার কোড পরীক্ষা করেছে এবং এটি কাজ করছে, সুতরাং বর্তমানে আপনার কাছে সর্বনিম্ন বাইট গণনা রয়েছে :)
ব্রুনো

এছাড়াও> 0 টি সরিয়েছে এবং এটি এখনও কাজ করে যাতে আপনি সেখানে 2 বাইট শেভ করতে পারেন
ব্রুনো

@ ব্রুনো কি? তা বুনো। সুতরাং এটি স্পষ্টতই ম্যাট্রিক্সের মানগুলি (যা সমস্ত << 0 বা >> 1) থেকে 0 এবং 1 পর্যন্ত ক্ল্যাম্প করছে the টিপটির জন্য ধন্যবাদ, আমি আপডেট করব! : ডি
বেকার

2 কে অভিনন্দন!
NoOneIsHere

26

vim, 47 46 44 43

অতিক্রম করা 44 এখনও নিয়মিত 44 ...

iP1 400 <C-p><cr><esc>50i1<esc>YpVr0yk3PyG49PyG:m$<cr>p2GyG3P
i          enter insert mode
P1         signal to NetPPM that we're using black&white (PBM) format
400        width
<C-p>      fancy trick that inserts the other 400 for height
<cr><esc>  exit insert mode on the next line
50i1<esc>  insert 50 '1's (black)
YpVr0      insert 50 '0's (white) by duplicating the line and replacing all chars
yk         copy both lines (yank-up)
3P         paste three times; this leaves us on line two
yG         copy from line 2 to end of file (this is a full row of pixels now)
49P        we need 50 rows of pixels to make a complete "row"; paste 49 times
yG         copy the entire row of the checkerboard
:m$<cr>    move line 2 (the line we're currently on) to the end of the file
           this gives us the "alternating rows" effect
p          we're now on the last line: paste the entire row we copied earlier
2G         hop back to line 2 (beginning of image data)
yG3P       copy the entire image data, paste 3 times

নেটপিপিএম ফর্ম্যাটে আউটপুট (পিবিএম):

output


2
আমি ভালবাসি যে আপনি কোনও পাঠ্য সম্পাদক দিয়ে একটি গ্রাফিকাল আউটপুট চ্যালেঞ্জ সম্পূর্ণ করতে পারেন। গল্ফড ভিম থেকে পিবিএমের অন্য কোনও উদাহরণ রয়েছে কি?
ankh-morpork

1
@ দোহাকাতার 7 আমি জানি না, তবে আমি ভিখের সাথে টিকজেড আগে করেছি, তাই ভিমে গ্রাফিক্স অবশ্যই একটি বিষয়।
ডোরকনবব

2
বাহ, আমি কোনও <C-p>শব্দ টাইপ না করে ভিমে চেষ্টা করার চিন্তাও করি নি ... এটি সত্যিই সহজ!
5'16

16

সিএসএস, 244 বাইট

html{background:#fff}body{width:400px;height:400px;background:linear-gradient(45deg,#000 25%,transparent 25%,transparent 75%,#000 75%)0 0/100px 100px,linear-gradient(45deg,#000 25%,transparent 25%,transparent 75%,#000 75%)50px 50px/100px 100px}

ব্যাখ্যা: একটি 100x100px তির্যক রৈখিক গ্রেডিয়েন্ট চারটি স্টপ দিয়ে তৈরি করা হয়েছে যাতে দুটি গ্রেডিয়েন্টের প্রায় 50px ত্রিভুজাকার কোণ বাদে বেশিরভাগ গ্রেডিয়েন্ট স্বচ্ছ হয়। (নীচে স্নিপেট দেখুন) 50x50px অফসেট সহ একটি দ্বিতীয় গ্রেডিয়েন্ট যুক্ত করা স্কোয়ারগুলির অনুপস্থিত অর্ধেকগুলি পূরণ করে। তারপরে শরীরের আকার বাড়ানো ফলস্বরূপ প্যাটার্নটিকে পুরো দাবাবোর্ড পূরণ করার পুনরাবৃত্তি করতে দেয়।


ঝরঝরে সমাধান। আপনি সর্বশেষটি বাদ দিলে এটিও কাজ করা উচিত }
সন্নিবেশকারী নাম এখানে

এখানে কী চলছে তা আপনি ব্যাখ্যা করতে পারেন?
flawr

@ ফ্লোয়ার আমি আংশিক প্রভাব দেখিয়ে একটি দ্বিতীয় স্নিপেট যুক্ত করেছি, আমি আশা করি এটি সাহায্য করবে।
নিল

এটি নিখুঁত।
যে চার্লস না

আপনার কি সত্যিই দরকার html{background:#fff}? ডিফল্টরূপে 99% ব্রাউজারগুলি পটভূমিটিকে হোয়াইট এ সেট করে
ডাউনগোট

15

গণিত, 34 বাইট

ArrayPlot@Array[Mod[+##,2]&,{8,8}]

আউটপুটটি একটি ভেক্টর চিত্র এবং এটি একটি ফ্রেমে ঘিরে রয়েছে।

32 টি আয়তক্ষেত্র সঠিকভাবে অবস্থানের পরিবর্তে আমরা কেবল একটি বাইনারি ম্যাট্রিক্স উত্পন্ন করতে ArrayPlotএবং আমাদের জন্য কাজ করতে পারি:

enter image description here


নিস! এটি পোস্ট করার জন্য ধন্যবাদ।
এ সিমন্স

ভালো দেখাচ্ছে. আপনি দয়া করে আমাকে ব্যাখ্যা করতে পারবেন যেখানে আপনি প্রতিটি বর্গকে 50px হিসাবে সংজ্ঞায়িত করেন? এছাড়াও, এমন কোনও অনলাইন এমুলেটর রয়েছে যেখানে আমি এটি পরীক্ষা করতে পারি?
ব্রুনো

@ ব্রুনো আউটপুটটি একটি ভেক্টর গ্রাফিক, সুতরাং পিক্সেল আকারের মতো কোনও জিনিস নেই (চিত্রটির কোনও অভ্যন্তরীণ আকার নেই - এটি আকারে এবং কোনও আকারে প্রদর্শিত হতে পারে)। ঐ জন্যই আমি জিজ্ঞাসা করেছিলাম.
মার্টিন ইন্ডার

4
দাঁড়াও, GenerateChessBoardWithColorsAsParameters[ColorBlack, ColorWhite, 8, 8, 50, 50]কাজ হয় না? ;)
কনর ও'ব্রায়েন

3
@ CᴏɴᴏʀO'Bʀɪᴇɴ এটি করে তবে এটি 73৩ বাইট।
মার্টিন এন্ডার

10

গণিত, 81 72 55 বাইট

Graphics[Rectangle/@Select[Range@8~Tuples~2,2∣Tr@#&]]

Input/Output

চিত্রটি পূর্ববর্তী সংস্করণের মূল্যায়নের, তবে এখনও একইরকম দেখাচ্ছে।


8

অক্টাভা, 48 বাইট

​​​​​​​​​​​​​​​imwrite(kron(mod((t=0:7)+t',2),ones(50)),'.png')

এটি আমার মতলব উত্তরের মতো ঠিক একই রকম কাজ করে , তবে নেইspiral অষ্টাভে । পরিবর্তে আমরা এমন একটি বৈশিষ্ট্য ব্যবহার করি যা মাতালাবের নেই: আমরা tইতিমধ্যে একটি এক্সপ্রেশন হিসাবে অ্যাসাইনমেন্ট ব্যবহার করতে পারি এবং পরে tআবার একই অভিব্যক্তিতে ব্যবহার করতে পারি।

(এটি পুনরুদ্ধার করা সংস্করণ, আমি উত্তরগুলি এখানে বিশৃঙ্খলা করতে চাই না =)


1
উপরের বাম কোণটি সাদা হওয়া উচিত, কালো নয়।
ডুরকনব

2
আউটপুটটি একটি চেকবোর্ড হওয়া উচিত, ওরিয়েন্টেশন নির্দিষ্ট করা হয়নি।
flawr

2
দুঃখিত, ত্রুটিপূর্ণ, আউটপুট একটি দাবাবোর্ড হওয়া উচিত। একটি দাবা বোর্ড সর্বদা "তার রঙের রানী, ডানদিকে সাদা" (প্রতিটি খেলোয়াড়ের ডান হাতের একটি সাদা কোণার স্কোয়ার থাকে)।
corsiKa

5
তারপরে কল্পনা করুন যে একজন খেলোয়াড় ডানদিকে, একজন বামে বসে আছেন। আবার: এটি চ্যালেঞ্জ দ্বারা নির্দিষ্ট করা হয়নি, এটি কেবল আপনার ব্যাখ্যা।
flawr

8

খাঁটি বাশ (কোনও বাহ্যিক উপযোগ নেই), 133

আমি @ ডুরকনব এর মন্তব্যকে কিছুটা চ্যালেঞ্জ হিসাবে দেখেছি । এটি কিছুটা দীর্ঘ, তবে এখানে যায়:

echo \# ImageMagick pixel enumeration:400,400,1,rgb
for((;x=p%400,y=p/400,c=1-(x/50^y/50)&1,p++<160000;));{
echo "$x,$y:($c,$c,$c)"
}

আউটপুট হয় ImageMagick এর .txt ফরমেট । নোট করুন এটি খাঁটি বাশ। এই আউটপুটটি তৈরি করতে ইমেজম্যাগিক বা অন্য কোনও বাহ্যিক উপযোগিতা নেই sp তবে আউটপুটটি একটি টেক্সট ফাইলে পুনর্নির্দেশ করা যেতে পারে এবং চিত্রম্যাগিক displayইউটিলিটি দিয়ে দেখা যেতে পারে :

enter image description here

এই চিত্রের ফর্ম্যাটটি দুর্দান্ত কারণ এটি কেবল খাঁটি পাঠ্য নয়, এটি সমস্ত পিক্সেলের (x, y এবং রঙের মান) তালিকার চেয়ে একটু বেশি, প্রতি লাইনে একটি। একটি বড় লুপের মধ্যে সমস্ত পিক্সেল মানগুলি গাণিতিকভাবে প্রাপ্ত করা মোটামুটি সহজ বিষয়।


পূর্ববর্তী উত্তর, 167

echo "\"400 400 2 1\"
\"  c white\"
\"b c black\""
printf -vf %50s
a="$f${f// /b}"
o=("\"$a$a$a$a\"" "\"${f// /b}$a$a$a$f\"")
for i in {0..399};{
echo "${o[i/50%2]}"
}

আউটপুট হয় X_PixMap টেক্সট ইমেজ ফাইল ফরম্যাট , যা করে ImageMagick সঙ্গে দেখা যেতে পারে displayইউটিলিটি।

দ্রষ্টব্য আমি এক্সপিএম ফর্ম্যাটটি যতটা করতে পেরেছি ততই displayগ্রহণ করেছি যে এখনও তা গ্রহণ করতে পারে। আমি প্রতিটি লাইনের চারদিকে ডাবল উদ্ধৃতি ব্যতীত সমস্ত বয়লারপ্লেট বের করতে সক্ষম হয়েছি "। অন্যান্য কোন - যদি কোনও - ইউটিলিটিগুলি এটি গ্রহণ করবে সে সম্পর্কে ধারণা নেই।


6

পাওয়ারশেল + আপনার পছন্দের ব্রাউজার, 149 143 বাইট

আমদানি ব্যবহারে অক্ষমতা সত্যিই শক্ত, কারণ সমস্ত জিডিআই কল (যেমন, পাওয়ারশেল আঁকতে ব্যবহৃত জিনিসগুলি) নেটগুলিতে আমদানির পিছনে সমাধিস্থ করা হয় ...

"<table><tr>"+((1..8|%{$a=$_;-join(1..8|%{'<td style="width:50px;height:50px'+("",";background:#000")[($a+$_)%2]+'"></td>'})})-join'</tr><tr>')

সম্পাদনা করুন - নটট্যাচার্লসকে ধন্যবাদ ছয়টি বাইট

এটি 1..8সরবরাহ করা পিএইচপি উদাহরণের অনুরূপ একটি বড়-ওল 'এইচটিএমএল স্ট্রিং তৈরি করতে এবং দুটি পাইপলাইনে আউটপুট আনার জন্য দুটি লুপ ব্যবহার করে । প্রতিবারের মাধ্যমে আমরা ;background:#000বোর্ড মডিউল ২ তে আমাদের বর্তমান অবস্থান গ্রহণ করে কালো পটভূমির জন্য যুক্ত করতে হবে কিনা তা গণনা করি ।

ব্যবহার করতে, আউটপুটটিকে আপনার পছন্দের ফাইলটিতে পুনঃনির্দেশ করুন (উদাহরণস্বরূপ, এমন > chessboard.htmকোনও কিছু দিয়ে ) এবং তারপরে এটি আপনার পছন্দের ব্রাউজারে লঞ্চ করুন। নীচের স্ক্রিনশটের জন্য, আমি "c.htm" এবং ফায়ারফক্স ব্যবহার করেছি।

firefox


এইটি অনিরাপদ ছিল তবে আমি এটি একরকমভাবে বেশ পছন্দ করি :)
ব্রুনো

whiteএবং blackহতে পারে #fffএবং #000... তবে কেন সাদা নির্দিষ্ট করে বিরক্ত করবেন?
চার্লস

(";background:#000","")[($a+$_)%2]পরিবর্তে চেষ্টা করুন।
চার্লস

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

5

পিএইচপি + সিএসএস + এইচটিএমএল, 136 বাইট

টেবিলটিকে উচ্চ স্তরে নিয়ে যাওয়া:

<table><?for(;++$i<9;)echo'<tr>',str_repeat(["<td b><td>","<td><td b>"][$i&1],4);?><style>td{width:50px;height:50px}[b]{background:#000}

এটি নিম্নলিখিত কোড উত্পন্ন করে:

<table><tr><td><td b><td><td b><td><td b><td><td b><tr><td b><td><td b><td><td b><td><td b><td><tr><td><td b><td><td b><td><td b><td><td b><tr><td b><td><td b><td><td b><td><td b><td><tr><td><td b><td><td b><td><td b><td><td b><tr><td b><td><td b><td><td b><td><td b><td><tr><td><td b><td><td b><td><td b><td><td b><tr><td b><td><td b><td><td b><td><td b><td><style>td{width:50px;height:50px}[b]{background:#000}

এটি ব্রাউজারগুলির দয়া এবং সিএসএসের উপর প্রচুর পরিমাণে নির্ভর করে।


ভাল সমাধান। থো আমি <পিএইচপি পরে অন্তর্ভুক্ত ছিল? এবং 144 বাইটের চূড়ান্ত ফলস্বরূপ, সঠিকভাবে কাজ করার জন্য প্যারামিটারের প্রথম হিসাবে $ i = 0 অন্তর্ভুক্ত করুন।
ব্রুনো

1
@ ব্রুনো আপনি যদি এই সতর্কবার্তাটি উল্লেখ করেন তবে সতর্কতা এখানে অগ্রাহ্য করা হবে। তবে এগুলি অক্ষম করার ট্রিলিয়ন উপায় রয়েছে। তাদের মধ্যে একটি সঙ্গে প্রতিস্থাপন করা ++$i<9হয় @++$i<9। এছাড়াও, এটি ছাড়া কাজ করার জন্য <?php, অবশ্যই একটি নির্দেশিকা থাকা আবশ্যক short_open_tags=On, যা কিছু পরিবেশে ডিফল্ট। স্ট্যাকওভারফ্লো
ইসমাইল মিগুয়েল

5

জেলি, 26 বাইট

400R%2ẋ€50FU;$ẋ4;;;1j⁶;”PU

যেহেতু জেলির অন্তর্নির্মিত চিত্রগুলির কোনও সমর্থন নেই, তাই আমরা একটি পিপিএম চিত্র মুদ্রণ করি।

এটি অনলাইন চেষ্টা করুন!(গতির জন্য আরও ছোট বোর্ড, কাঁচা পিপিএম)

ফলাফল

screenshot

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

400R%2ẋ€50FU;$ẋ4;;;1j⁶;”PU  Main link. No arguments.

400                         Set the left argument to 400.
   R                        Yield [1, ..., 400].
    %2                      Compute the parity of each integer.
      ẋ€50                  Replace each parity by an array of 50 copies of itself.
          F                 Flatten the resulting, nested list.
                            This creates the first rank of the board.
             $              Combine the two atoms to the left:
           U                  Reverse the array of parities.
            ;                 Concatenate the reversed array with the original.
                            This creates the first two ranks of the board.
              ẋ4            Repeat the resulting list four times.
                            This creates all eight ranks of the board.
                ;           Append 400, the link's left argument.
                 ;          Append 400, the link's left argument.
                  ;1        Append 1.
                    j⁶      Join, separating by spaces.
                      ;”P   Append the character 'P'.
                         U  Reverse the resulting list.

অ-প্রতিযোগিতামূলক সংস্করণ (24 বাইট)

নতুন জেলি দোভাষী যা এই পোস্টটির পূর্বাভাস দেয় xসঠিকভাবে ভেক্টরাইজ হয় নি। সর্বশেষতম সংস্করণে 2 টি অতিরিক্ত বাইট সংরক্ষণ করা যায়।

400R%2x50U;$ẋ4;;;1j⁶;”PU

পার্থক্যটি হ'ল x50ফ্ল্যাট তালিকা (প্রতিটি মূল উপাদান 50 বার পুনরাবৃত্তি সহ) পাওয়া যায়, তাই Fআর প্রয়োজন হয় না।


1
দেখে মনে হচ্ছে আপনি একটি জাভা উত্তর লিখছেন এবং টাইপ করার সময় কিছুটা ঘুমিয়ে পড়েছেন ;...;)
কনার ও'ব্রায়েন

1
@ CᴏɴᴏʀO'Bʀɪᴇɴ জাভা? আপনার অবশ্যই জাভা 10.0, গল্ফিং সংস্করণে থাকতে হবে, কারণ এটি আমি দেখেছি এমন কোনও জাভা দেখে মনে হচ্ছে না ....
BalinKingOfMoria

5

এমএটিএল , 11 (27) বাইট

8:t!+Q2\TYG

এটি নিম্নলিখিত চিত্র উত্পাদন করে। এটির অভ্যন্তরীণ আকার নেই; চিত্রের উইন্ডোর আকারের উপর নির্ভর করে এটি স্বয়ংক্রিয়ভাবে মাপা হবে। এটি চ্যালেঞ্জের দ্বারা অনুমোদিত বলে মনে হচ্ছে।

enter image description here

ব্যাখ্যা

8:      % row vector [1,2,...8]
t!      % duplicate and transpose into column vector
+       % 8x8 matrix with all pairwise additions
Q       % add 1
2\      % modulo 2. Gives 8x8 matrix of zeros and ones
TYG     % draw image

যদি অটস্কিলিং অনুমোদিত না হয়:

'imshow'8:t!+Q2\50t3$Y"0#X$

50x50-পিক্সেল স্কোয়ার সহ নিম্নলিখিত চিত্রটি উত্পাদন করে

ব্যাখ্যা

enter image description here

'imshow'   % name of Matlab function
8:t!+Q2\   % same as above. Produces 8x8 matrix of zeros and ones
50t3$Y"    % repeat each element 50 times in each dimension
0#X$       % call imshow function with above matrix as input

5

পাইথ, 28 26 বাইট

J*4+*50]255*50]0.wm_mxkdJJ

ব্যাখ্যা

J                          - Autoassign J = V
           *50]0           - 50*[0]
    *50]255                - 50*[255]
   +                       - ^^+^
 *4                        - 4*^
                .w         - write_greyscale(V)
                  m      J - [V for d in J]
                   _       - reversed(V) 
                    m   J  - [V for k in J]
                     xkd   - k^d

পাইথন সমতুল্য

J = 4*(50*[255]+50*[0])
write_greyscale([[k^d for k in J][::-1] for d in J])

এটি এখানে চেষ্টা করুন (কেবল রঙের মানগুলি)

আউটপুট:

Output


বাইট গণনায় চমৎকার কাজ তবে আমার দৃশ্যমান স্কোয়ার সহ একটি বৈধ আউটপুট দরকার :)
ব্রুনো

@ ব্রুনো আউটপুট যুক্ত! আমি কেবল আপনার জন্য পিআইএল ইনস্টল করেছি: ও (আমি এটির আগে আসলে পরীক্ষা করিনি)
ব্লু

@ মুডিফিশ এই ঝামেলার জন্য দুঃখিত এবং ধন্যবাদ বোর্ডটি অবশ্যই শুরু করতে হবে এবং একটি সাদা বর্গক্ষেত্রের সাথে শেষ করতে হবে :)
ব্রুনো

4

মতলব, 47 (24) বাইট

imwrite(kron(mod(spiral(8),2),ones(50)),'.png')

এটি আমার অক্টাভা উত্তরের মতো ঠিক একইরকম কাজ করে তবে আমি ব্যবহার করতে সক্ষম হয়েছিল spiralযা কোন একটি বাইট সংরক্ষণ করেছিল। spiral(n)একটি nxnম্যাট্রিক্স তৈরি করে এবং এটি প্রথম n^2পূর্ণসংখ্যার সাথে স্পন্দিত হয় ।

যদি ভেক্টরোগ্রাফিক্সের অনুমতি দেওয়া হয় তবে আমরা এটি 24 বাইটে করতে পারি:

imshow(mod(spiral(8),2))

(এটি পুনরুদ্ধার করা সংস্করণ, আমি উত্তরগুলি এখানে বিশৃঙ্খলা করতে চাই না =)


4

FFmpeg, 78 82 100 বাইট

অবশেষে বোর্ড পরিষ্কার করার আশেপাশে।

ffplay -f lavfi color=s=400x400,geq='255*mod(trunc(X/50)+trunc(Y/50)+1,2):128'

enter image description here


পুরাতন :

ffmpeg -f lavfi -i "color=tan@0:256x256,format=ya8" -vf "scale=400:-1:alphablend=checkerboard" .jpg

ত্রুটি সহ প্রস্থান করবে, কিন্তু নীচের চিত্র উত্পাদন করার পরে।

enter image description here

(বোর্ডের কিছু ধূলিকণা সংগ্রহ করা)


3

সিজেম, 27 বাইট

"P1"400__,2f%50e*_W%+4*~]S*

এটি অনলাইন চেষ্টা করুন! (গতির জন্য আরও ছোট বোর্ড, কাঁচা পিপিএম)

ফলাফল

screenshot

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

"P1"                        e# Push that string.
    400__                   e# Push three copies of 400.
         ,                  e# Turn the last one into [0 ... 399].
          2f%               e# Compute the parity of each integer.
             50e*           e# Repeat each parity 50 times.
                            e# This creates the first rank of the board.
                 _W%        e# Create a reversed copy of the resulting array.
                    +       e# Concatenate the original with the reversed array.
                            e# This creates the first two ranks of the board.
                     4*     e# Repeat the resulting array four times.
                            e# This creates all eight ranks of the board.
                       ~    e# Dump all of its items (the pixels) on the stack.
                        ]   e# Wrap the entire stack in an array.
                         S* e# Join that array, separating them by spaces.

3

ইউটিএফ -8 - 66 বি সহ এইচটিএমএল

<div style="font:100 50px/48px serif">▚▚▚▚<br>▚▚▚▚<br>▚▚▚▚<br>▚▚▚▚

Entity সত্তাটির জন্য স্বল্প-প্রত্যক্ষ utf হয় & # 9626;

ইউনিকোড অক্ষর 'চতুর্মুখী বাম এবং নীচে অধিকার' (U + 259A)

বোকা আমাকে, 1 টি utf-8 চারিদিক সমাধান সন্ধান করছিল -তখন ... 1 বি!


2
মনে হচ্ছে ফন্টসাইজটি ভুল।
কিওয়ারটি

1
পরিবর্তে আপনার ব্যবহার করা উচিত যাতে উপরের বাম স্কোয়ারটি একটি স্ট্যান্ডার্ড দাবাবোর্ডের মতো সাদা। এছাড়াও, <pre>পরিবর্তে <div>এমনভাবে ব্যবহার করুন যাতে আপনি পরিবর্তে নতুন লাইন ব্যবহার করতে পারেন <br>
নিল

আপনার বাইটোকন্টটি ভুল বলে মনে হচ্ছে, এটি ইউটিএফ -8 এনকোডিং ব্যবহার করে 3 বাইটের জন্য গণনা হিসাবে 98 বাইট হওয়া উচিত । ভবিষ্যতে, আপনি ব্যবহার করতে পারেন এই আপনার হল UTF-8 বাইট কাউন্ট চেক করতে
টেলর স্কট

2

পিএইচপি, 166 158 155 বাইট

পিএইচপি 7.0.2 (শর্ট ট্যাগগুলি সক্ষম করা) এবং Chrome 48.0.2564.97 মি তে কাজ করে

<table><tr><? while(++$i<=8){while(++$j<=8){echo"<td style=background-color:".($i%2==0?($j%2==1?0:""):($j%2==0?0:"")).";padding:9></td>";}echo"<tr>";$j=0;}

bgcolor=0কালো পটভূমি উত্পন্ন করতে আপনি সম্পত্তিটি ব্যবহার করতে পারেন । এটি একটি টন বাইট শেভ করা উচিত! এবং পরিবর্তে $v%2==0, ব্যবহার করুন $v&1, যা কয়েক বাইট শেভ করা উচিত।
ইসমাইল মিগুয়েল

2

পিএইচপি> = 5.4, 175 159 149 116 বাইট

<table><tr><? for(;@++$i<65;)echo'<td width=50 height=50 ',$i+@$m&1?:'bgcolor=0','>',$i%8<1?'<tr '.($m=@!$m).'>':'';

<table><tr><td width=50 height=50 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><td width=50 height=50 bgcolor=0><tr 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><tr ><td width=50 height=50 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><td width=50 height=50 bgcolor=0><tr 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><tr ><td width=50 height=50 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><td width=50 height=50 bgcolor=0><tr 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><tr ><td width=50 height=50 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><td width=50 height=50 bgcolor=0><tr 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><td width=50 height=50 bgcolor=0><td width=50 height=50 1><tr >

নোট

  • 16 বাইট শেভ করা হয়েছে - ধন্যবাদ @ অন্তর্ভুক্তকারীর নাম এখানে
  • 10 টি বাইট শেভ করা হয়েছে - ধন্যবাদ @ এমএস 210
  • শেভ 30 বাইট - ধন্যবাদ @ ইসমাইল মিগুয়েল

1
সম্ভবত এটি আরও গল্ফ করা যেতে পারে, তবে আপনি এখানে ( 152 বাইট ) যান:<table><tr><?php for(;++$i<65;){echo'<td style="width:50px;height:50px;background:#'.(($i+$m)%2?'000':'').'"></td>';if($i%8<1){echo"</tr><tr>";$m=!$m;}}
সন্নিবেশকৃত নাম এখানে

যদিও আমি প্রাথমিক কার্যভারগুলি সরিয়ে নেই (ওয়ার্কস, ব্যক্তিগত কৌতুক আমাকে এটি করতে দেয় না), এর জন্য ধন্যবাদ
শান এইচ

1
এমনকি এইচটিএমএল 4 এর কঠোর সংস্করণ অনুসারে , আপনি শেষ ট্যাগটি এড়িয়ে যেতে পারেনTR
msh210

1
প্রতিস্থাপন ++$i<65সঙ্গে @++$i<65, যেহেতু আপনি সতর্কবার্তা সম্বন্ধে চিন্তিত হন। এর অর্থ হ'ল $m=$i=0আপনি মাত্র $m=02 টি বাইট সাশ্রয় করতে পারবেন । পরিবর্তে echo 'a'.'b'.'c';, আপনি করতে পারেন echo 'a','b','c';। এর অর্থ হল আপনার echoযাবে echo'<td style="width:50px;height:50px;background:#',($i+$m)%2?'':'000','">';আপনি আরো 2 বাইট সংরক্ষণ। এছাড়াও, এইচটিএমএল বৈশিষ্ট্যের জন্য উদ্ধৃতিগুলির প্রয়োজন হয় না। তাদের সরান এবং 2 বাইট সাবে। এছাড়াও, একটি আরও সংক্ষিপ্ত bgcolorবৈশিষ্ট্য আছে, এটি আরও বাইট হ্রাস করে! আপনি একটি ব্যবহার করতে পারেন print()মধ্যে forআরও বেশি বাইট সংরক্ষণ করুন!
ইসমাইল মিগুয়েল

1
এমনকি আরো সংরক্ষণ করতে, আমি প্রতিস্থাপিত করে থাকেন ($i+$m)%2সঙ্গে $i+@$m&1, যা আমার যে অপসারণ করার অনুমতি দেওয়া $m=0। এগিয়ে, আমি আপনার অপসারণ করতে সক্ষম হয়েছি ifএবং একটি ট্রেনারি অপারেশন দিয়ে এটি প্রতিস্থাপন করেছি। সংরক্ষণ করতে আরও বেশি , আমি আপনার সরিয়েছি styleএবং বৈশিষ্ট্যাবলী যোগ widthএবং height। হ্যাকির দিক থেকে আরও বেশি পেতে, আমি বুঝতে পেরেছি যে 0সম্পত্তিটি ব্যবহার করে, ব্যাকগ্রাউন্ডের রঙটি যদি Chrome 48.0.2564.103 মিটি কালো ব্যবহার করে bgcolor। এটি আমাকে আরও বেশি কমাতে দেয়! আরও হ্রাস আরও ভাল!
ইসমাইল মিগুয়েল

1

জাভাস্ক্রিপ্ট, 150

এটি অবশ্যই গল্ফ করা যেতে পারে। এটি এইচটিএমএল তৈরি করে।

for(i=0;i<8;)console.log(`<b style=margin-${['lef','righ'][i++%2]}t:50;width:50;height:50;display:inline-block;background:#000></b>`.repeat(4)+'<br>')

1
হু, জাভাস্ক্রিপ্টে টেম্পলেট স্ট্রিং সম্পর্কে আমি কখনই জানতাম না। কুল।
চিজি

1

আইকে , 24 বাইট

,(;cga;t=\:t:2!-20!!160)

board

কৌশলটির মূলটি হ'ল এক্স স্থানাঙ্কের একটি তালিকা তৈরি করা, সেগুলি ভাগ করে নেওয়া এবং তারপরে একটি উপযুক্ত বিটম্যাপ তৈরির জন্য সমতা ক্রস-পণ্য গ্রহণ করা। উদাহরণস্বরূপ উদ্দেশ্যে ছোট উদাহরণ ব্যবহার করে:

  !8
0 1 2 3 4 5 6 7

  -2!!8
0 0 1 1 2 2 3 3

  2!-2!!8
0 0 1 1 0 0 1 1

  t=\:t:2!-2!!8
(1 1 0 0 1 1 0 0
 1 1 0 0 1 1 0 0
 0 0 1 1 0 0 1 1
 0 0 1 1 0 0 1 1
 1 1 0 0 1 1 0 0
 1 1 0 0 1 1 0 0
 0 0 1 1 0 0 1 1
 0 0 1 1 0 0 1 1)

এখানে চেষ্টা করুন । প্রযুক্তিগতভাবে আইকে লজিক্যাল 160x160 পিক্সেল ক্যানভাসে কাজ করে তবে পূর্ণ-স্ক্রিন মোডে (কোনও সংরক্ষিত লিঙ্ক অনুসরণ করার পরে ডিফল্ট) এটি 3x দ্বারা আপসেল করা হয়। আমি মনে করি এটি এখনও প্রশ্নের উদ্দীপনা অনুসরণ করছে, কারণ প্রোগ্রামটি একই চরিত্রের গণনার সাথে অনেক বড় বিটম্যাপটি একত্রিত করতে পারে; এটি কেবল একটি স্বেচ্ছাসেবী প্রদর্শনের সীমাবদ্ধতায় নেমে আসে।

হালনাগাদ:

আইকে প্রাথমিকভাবে গল্ফের জন্য ডিজাইন করা হয়নি তবে লাইভকডিং এখনও ব্রেভিটি এবং বুদ্ধিমান ডিফল্ট থেকে উপকৃত হয়। এই সমস্যার সাথে ঝুঁকির ফলস্বরূপ, আমি সিদ্ধান্ত নিয়েছি যে যদি কোনও সরবরাহ না করা হয় তবে এটি ডিফল্ট প্যালেটটি ব্যবহার করার অনুমতি দেব। এই নির্দিষ্ট সমাধানটির সাথে এখন প্রকাশ করা যেতে পারে:

,(;;t=\:t:2!-20!!160)

সংরক্ষণ করা (অযোগ্য) 3 বাইট


1

জুতো সহ রুবি, 97 টি অক্ষর

Shoes.app(width:400){64.times{|i|stack(width:50,height:50){background [white,black][(i/8+i)%2]}}}

নমুনা আউটপুট:

Chessboard drawn by Ruby with Shoes


শুরু এবং সাদা দিয়ে শেষ করা উচিত। অন্যথায় ভাল কাজ :)
ব্রুনো

উফ। ধন্যবাদ ব্রুনো সংশোধন করা হয়েছে।
manatwork

দুর্দান্ত, উন্নত :)
ব্রুনো

1

লুয়া + LÖVE, 138 113 112 106 টি অক্ষর

function love.draw()for i=0,31 do
love.graphics.rectangle("fill",i%8*50,(i-i%8)/8*100+i%2*50,50,50)end
end

নমুনা আউটপুট:

Chessboard drawn by Lua + LÖVE


Grr! লুয়া 5.3 এর //পূর্ণসংখ্যা বিভাগ অপারেটর রয়েছে, তবে দৃশ্যত কোনও LUJIT বৈশিষ্ট্যযুক্ত এমন কোনও LÖVE এখনও নির্মিত হয়নি। ☹
manatwork

1

জিআইএমপি, 539 বাইট

gimp -i -b '(let* ((i (car (gimp-image-new 400 400 1))) (d (car (gimp-layer-new i 400 400 2 "b" 100 0)))) (gimp-image-insert-layer i d 0 -1) (define (t x y) (gimp-selection-translate i x y)) (define (x) (t 100 0)) (define (X) (t -100 0)) (define (y) (t 50 50)) (define (Y) (t -50 50)) (define (f) (gimp-edit-fill d 1)) (define (r) (f) (x) (f) (x) (f) (x) (f) (y)) (define (R) (f) (X) (f) (X) (f) (X) (f) (Y)) (gimp-image-select-rectangle i 2 0 0 50 50) (r) (R) (r) (R) (r) (R) (r) (R) (gimp-file-save 1 i d "c.png" "c.png") (gimp-quit 0))'

অবহেলিত স্ক্রিপ্ট স্ক্রিপ্ট-ফু:

(let* ((i (car (gimp-image-new 400 400 GRAY)))
       (d (car (gimp-layer-new i 400 400 GRAY-IMAGE "b" 100 NORMAL-MODE))))

  (gimp-image-insert-layer i d 0 -1)
  (define (t x y) (gimp-selection-translate i x y))
  (define (x) (t 100 0))
  (define (X) (t -100 0))
  (define (y) (t 50 50))
  (define (Y) (t -50 50))
  (define (f) (gimp-edit-fill d BACKGROUND-FILL))
  (define (r) (f) (x) (f) (x) (f) (x) (f) (y))
  (define (R) (f) (X) (f) (X) (f) (X) (f) (Y))

  (gimp-image-select-rectangle i CHANNEL-OP-REPLACE 0 0 50 50)
  (r) (R) (r) (R) (r) (R) (r) (R)
  (gimp-file-save RUN-NONINTERACTIVE i d "c.png" "c.png")
  (gimp-quit 0))

ব্যাচ মোডে, একটি ফাঁকা চিত্র তৈরি করুন, একটি 50x50 আয়তক্ষেত্রাকার নির্বাচন তৈরি করুন, এটি পূরণ করুন, এবং তারপরে বারবার স্কোয়ারগুলি পূরণ করে চিত্রের চারপাশে সরান। তারপরে সংরক্ষণ করুনc.png এবং প্রস্থান করুন।

আউটপুট:

chessboard png


1

জে, 33 31 বাইট

আমি বাইনারি সঙ্গে একটি কৌশল ব্যবহার।

   load'viewmat'
   viewmat 8 8$#:43605

... কারণ বাইনারিতে 43605 হ'ল 1010101001010101 ( #:এটি পেতে আমরা আদিম ব্যবহার করি)। আদিম $বাইনারি অঙ্কের এই অ্যারেটিকে মাত্রাগুলির সাথে নির্দিষ্ট ম্যাট্রিক্সে আকার দেয় 8 8। এবং viewmatএটি কেবল একটি সিস্টেম লাইব্রেরি।
enter image description here
উইন্ডোটি পুরোপুরি আকারে পরিবর্তনযোগ্য।

এটি সংক্ষিপ্ত করার জন্য @ ফ্রাউনফ্রোগকে ধন্যবাদ:

   load'viewmat'
   viewmat#:8$170 85

viewmat 8$#:170 851 বাইট সংক্ষিপ্ত
ফ্রাউনফ্রগ

1
viewmat#:8$170 85
ফ্রাউনফ্রাগ

1

এক্সেল ভিবিএ, 82 বাইট

অজ্ঞাতনামা VBE তাত্ক্ষণিক উইন্ডো ফাংশন যা কোনও ইনপুট নেয় না এবং একটি চেকবোর্ডকে A1:H8অ্যাক্টিভশিট অবজেক্টের সীমাতে আউটপুট দেয়

Cells.RowHeight=48:[B1:B8,D1:D8,F1:F8,H1:H8].Interior.Color=0:[A2,A4,A6,A8].Delete

এই ফাংশনটি প্রথমে পরিসরে 4 টি কলাম কলাম তৈরি করে B1:B8,D1:D8,F1:F8,H1:H8এবং তারপরে 2,4,6 and 8একটি ঘরের বামে সারিগুলিতে রঙিন রঙ অফসেট করে কাজ করে।

নমুনা আউটপুট

CheckerBoard


0

পার্ল 5 - 80

একটি .PBM ফাইল উত্পন্ন করে:

print 'P1'.' 400'x2 .$".(((0 x50 .1 x50)x4 .$")x50 .((1 x50 .0 x50)x4 .$")x50)x4

0

পাওয়ারশেল + জিডিআই, 346 বাইট

Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
$f=New-Object Windows.Forms.Form
$f.width=$f.height=450
$g=$f.CreateGraphics()
$f.add_paint({0..7|%{$y=$_;0..7|%{$g.FillRectangle((New-Object Drawing.SolidBrush ("white","black")[($_+$y)%2]),(new-object Drawing.Rectangle ($_*50),($y*50),50,50))}}})
$f.showDialog()

(নিউলাইনগুলি সেমিকোলনের সমান, পাঠযোগ্যতার জন্য নিউলাইনগুলি)

আমার অন্য উত্তরের বিপরীতে , এইটি জিডিআই + ফাংশন কলগুলি কল করতে .NET সমাবেশগুলি ব্যবহার করে । মজার বিষয় হল এটি দৈর্ঘ্যের দ্বিগুণ।

প্রথম দুই লাইন লোড System.Windows.Formsএবং System.Drawingসমাহারগুলি। প্রথমটি আক্ষরিক উইন্ডো এবং এর উপর ক্যানভাসের জন্য ব্যবহৃত হয়, দ্বিতীয়টি অঙ্কন বস্তুর (এই কোডটিতে, একটি ব্রাশে) ব্যবহৃত হয় যা ক্যানভাসে গ্রাফিক তৈরি করে।

আমরা তখন আমাদের ফর্ম তৈরি $fপরবর্তী লাইন দিয়ে, এবং তার সেট widthএবং heightহতে 450। নোট করুন যে এটি না50*8 , যেহেতু এই সংখ্যাগুলি ফর্ম উইন্ডোর সীমানা থেকে সীমান্তের প্রান্তের সাথে শিরোনামবার, ক্লোজ বোতাম ইত্যাদি to

পরের লাইনটি $gখালি কনস্ট্রাক্টরকে কল করে আমাদের ক্যানভাস তৈরি করে । ফর্মের নন-সিস্টেমের ক্ষেত্রের উপরের-বামে এটি পূর্বনির্ধারিত হয় যা 0,0আমাদের প্রয়োজনের জন্য নিখুঁত এবং ডান এবং নীচের দিকে বৃদ্ধি পাচ্ছে।

পরবর্তী লাইনটি প্রকৃত কল যা গ্রাফিকগুলি আঁকায় $f.add_paint({...})। আমরা প্রতিটি বাইরের লুপের সাহায্যে 0..7ভেরিয়েবল থেকে ডাবল-ফর লুপিং এবং বহন করে গ্রাফিক্স কলগুলি তৈরি করি $y। প্রতিটি অভ্যন্তরীণ লুপ, আমরা .FillRectangle(...,...)আমাদের স্কোয়ারগুলি আঁকতে আমাদের ক্যানভাসকে বলি । প্রথম প্যারামিটারটি SolidBrushবোর্ডে আমরা কোথায় আছি তার উপর ভিত্তি করে একটি রঙ দিয়ে একটি নতুন তৈরি করে। এখানে অন্যান্য অপশন হতে পারে একটি ডিম পাড়া, একটি গ্রেডিয়েন্ট, ইত্যাদি দ্বিতীয় প্যারামিটারটি একটি নতুন Rectangleএ নির্দিষ্ট করা x বেসের শুরু বস্তুর $_*50এবং $y*50স্থানাঙ্ক এবং জন্য ব্যাপ্ত 50প্রতিটি দিক। মনে রাখবেন 0,0এটি শীর্ষ-বাম

চূড়ান্ত লাইনটি এর সাথে আউটপুট প্রদর্শন করে .showDialog()PowerShell Forms

নোট করুন যেহেতু আমরা একটি ফর্ম অবজেক্ট তৈরি করছি , এবং পাওয়ারশেলটি পাইপলাইন সম্পর্কে সমস্ত কিছু, তাই পপ-আপ ফর্মটি বন্ধ করে দেওয়া কোনও System.Enum.DialogResultঅবজেক্টের সাথে চলে যাবে Cancel, যেহেতু প্রযুক্তিগতভাবে ব্যবহারকারী এটি করেছিলেন। যেহেতু আমরা ফলাফলটি ক্যাপচার করছি না বা অন্যথায় কিছু করছি না Cancel, প্রোগ্রামটি শেষ হওয়ার সাথে সাথে শব্দটি STDOUT এ প্রদর্শিত হবে, যেমনটি পাইপলাইনে রেখে গেছে।


0

নির্বাচন করুন। , 8844 8278 বাইট

(9,9,50)EXP.SELECT.EXP.RIGHT.SELECT.LEFT.EXP.RIGHT.SELECT.LEFT.EXP.RIGHT.SELECT.LEFT.EXP.RIGHT.SELECT.LEFT.EXP.RIGHT.SELECT.LEFT.EXP.RIGHT.SELECT.LEFT.EXP.RIGHT.SELECT.LEFT.LOG.RIGHT.SELECT.LEFT.LOG.RIGHT.SELECT.EXP.LEFT.SELECT.RIGHT.EXP.LEFT.SELECT.RIGHT.LOG.RIGHT.SELECT.EXP.LEFT.SELECT.RIGHT.LOG.RIGHT.SELECT.EXP.LEFT.LEFT.SELECT.RIGHT.RIGHT.LOG.RIGHT.SELECT.LEFT.LEFT.LEFT.EXP.SELECT.EXP.RIGHT.SELECT.LOG.LEFT.SELECT.EXP.RIGHT.SELECT.RIGHT.EXP.SELECT.EXP.SELECT.EXP.LEFT.SELECT.RIGHT.LOG.LEFT.LEFT.SELECT.RIGHT.RIGHT.LOG.LEFT.LEFT.SELECT.RIGHT.RIGHT.RIGHT.EXP.SELECT.EXP.RIGHT.SELECT.LEFT.LOG.RIGHT.SELECT.LEFT.LOG.RIGHT.SELECT.RIGHT.EXP.SELECT.LEFT.LOG.RIGHT.SELECT.EXP.LEFT.SELECT.LOG.RIGHT.SELECT.RIGHT.EXP.SELECT.EXP.LEFT.SELECT.RIGHT.LOG.LEFT.SELECT.LOG.RIGHT.SELECT.EXP.LEFT.SELECT.RIGHT.RIGHT.EXP.SELECT.LEFT.LOG.RIGHT.SELECT.EXP.LEFT.SELECT.LOG.RIGHT.SELECT.LEFT.EXP.LEFT.SELECT.RIGHT.RIGHT.EXP.LEFT.SELECT.RIGHT.RIGHT.EXP.LEFT.LEFT.LEFT.LEFT.SELECT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.EXP.LEFT.LEFT.SELECT.RIGHT.RIGHT.EXP.LEFT.SELECT.RIGHT.LOG.RIGHT.SELECT.LEFT.LOG.RIGHT.SELECT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.EXP.RIGHT.RIGHT.SELECT.LEFT.LEFT.EXP.RIGHT.SELECT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.EXP.LEFT.SELECT.RIGHT.EXP.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.SELECT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.LOG.RIGHT.SELECT.LEFT.RIGHT.RIGHT.EXP.SELECT.LEFT.LOG.RIGHT.SELECT.EXP.LEFT.SELECT.LOG.RIGHT.SELECT.EXP.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.SELECT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.LOG.RIGHT.SELECT.LEFT.EXP.LEFT.SELECT.RIGHT.RIGHT.RIGHT.EXP.SELECT.EXP.LEFT.SELECT.RIGHT.LOG.LEFT.SELECT.LOG.RIGHT.SELECT.EXP.LEFT.SELECT.RIGHT.RIGHT.EXP.SELECT.LEFT.LOG.RIGHT.SELECT.EXP.LEFT.SELECT.LOG.RIGHT.SELECT.LEFT.EXP.LEFT.SELECT.RIGHT.EXP.LEFT.LEFT.SELECT.RIGHT.RIGHT.RIGHT.RIGHT.EXP.LEFT.LEFT.SELECT.RIGHT.RIGHT.EXP.LEFT.SELECT.RIGHT.LOG.RIGHT.SELECT.LEFT.RIGHT.EXP.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.SELECT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.LOG.RIGHT.SELECT.LEFT.LOOP.RIGHT.RIGHT.EXP.SELECT.EXP.LEFT.SELECT.RIGHT.LOG.LEFT.SELECT.LOG.RIGHT.SELECT.EXP.LEFT.SELECT.RIGHT.EXP.LEFT.LEFT.SELECT.RIGHT.RIGHT.LOG.RIGHT.SELECT.LEFT.CONJ.RIGHT.EXP.LEFT.SELECT.RIGHT.EXP.LEFT.LEFT.LEFT.SELECT.RIGHT.RIGHT.RIGHT.LOG.RIGHT.SELECT.LEFT.EXP.LEFT.LEFT.SELECT.RIGHT.RIGHT.LOG.RIGHT.SELECT.EXP.SELECT.EXP.RIGHT.SELECT.LEFT.EXP.RIGHT.SELECT.LEFT.EXP.RIGHT.SELECT.LEFT.EXP.RIGHT.SELECT.LEFT.EXP.RIGHT.SELECT.LEFT.EXP.RIGHT.SELECT.LEFT.EXP.RIGHT.SELECT.LEFT.LOG.RIGHT.SELECT.LEFT.LOG.RIGHT.SELECT.EXP.LEFT.LEFT.SELECT.RIGHT.RIGHT.LOG.RIGHT.SELECT.EXP.LEFT.LEFT.SELECT.RIGHT.RIGHT.LOG.RIGHT.SELECT.EXP.LEFT.SELECT.RIGHT.LOG.RIGHT.SELECT.LEFT.LEFT.EXP.SELECT.RIGHT.LOG.LEFT.SELECT.EXP.RIGHT.SELECT.RIGHT.EXP.SELECT.EXP.RIGHT.SELECT.LEFT.LOG.RIGHT.SELECT.LEFT.LOG.RIGHT.SELECT.EXP.LEFT.SELECT.RIGHT.EXP.LEFT.LEFT.SELECT.RIGHT.RIGHT.LOG.RIGHT.SELECT.RIGHT.EXP.SELECT.LEFT.LOG.RIGHT.SELECT.EXP.LEFT.SELECT.LOG.RIGHT.SELECT.LEFT.EXP.LEFT.SELECT.RIGHT.RIGHT.EXP.LEFT.SELECT.RIGHT.LOG.RIGHT.SELECT.LEFT.EXP.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.SELECT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.LOG.LEFT.SELECT.RIGHT.RIGHT.RIGHT.EXP.SELECT.LEFT.LOG.RIGHT.SELECT.EXP.LEFT.SELECT.LOG.RIGHT.SELECT.EXP.LEFT.SELECT.RIGHT.EXP.LEFT.LEFT.SELECT.RIGHT.RIGHT.LOG.RIGHT.SELECT.LEFT.LOOP.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.EXP.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.SELECT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.LOG.RIGHT.SELECT.RIGHT.LOG.SELECT.LOG.RIGHT.SELECT.LEFT.LEFT.END.RIGHT.RIGHT.LOG.SELECT.LOG.RIGHT.SELECT.LEFT.EXP.LEFT.SELECT.RIGHT.LOOP.RIGHT.EXP.LEFT.LEFT.LEFT.SELECT.RIGHT.RIGHT.RIGHT.LOG.RIGHT.SELECT.EXP.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.SELECT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.LOG.RIGHT.SELECT.EXP.LEFT.SELECT.RIGHT.RIGHT.EXP.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.SELECT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.EXP.LEFT.LEFT.SELECT.RIGHT.RIGHT.EXP.LEFT.SELECT.RIGHT.LOG.RIGHT.SELECT.LEFT.LOG.RIGHT.SELECT.LEFT.RIGHT.RIGHT.RIGHT.END.RIGHT.EXP.LEFT.LEFT.LEFT.LEFT.SELECT.RIGHT.RIGHT.RIGHT.RIGHT.LOG.RIGHT.SELECT.EXP.LEFT.SELECT.RIGHT.EXP.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.SELECT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.LOG.RIGHT.SELECT.EXP.LEFT.SELECT.RIGHT.RIGHT.EXP.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.SELECT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.EXP.LEFT.LEFT.SELECT.RIGHT.RIGHT.EXP.LEFT.SELECT.RIGHT.LOG.RIGHT.SELECT.LEFT.LOG.RIGHT.SELECT.EXP.LEFT.SELECT.RIGHT.EXP.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.SELECT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.LOG.RIGHT.SELECT.EXP.LEFT.SELECT.RIGHT.RIGHT.EXP.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.SELECT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.EXP.LEFT.LEFT.SELECT.RIGHT.RIGHT.EXP.LEFT.SELECT.RIGHT.LOG.RIGHT.SELECT.LEFT.LOG.RIGHT.SELECT.RIGHT.EXP.SELECT.LEFT.LOG.RIGHT.SELECT.EXP.LEFT.SELECT.LOG.RIGHT.SELECT.LEFT.EXP.LEFT.SELECT.RIGHT.LOOP.RIGHT.EXP.SELECT.EXP.RIGHT.SELECT.LEFT.EXP.RIGHT.SELECT.LEFT.EXP.RIGHT.SELECT.LEFT.LOG.RIGHT.SELECT.LEFT.LOG.RIGHT.SELECT.RIGHT.EXP.SELECT.EXP.LEFT.SELECT.RIGHT.LOG.LEFT.SELECT.LOG.RIGHT.SELECT.EXP.LEFT.SELECT.RIGHT.RIGHT.EXP.SELECT.LEFT.LOG.RIGHT.SELECT.EXP.LEFT.SELECT.LOG.RIGHT.SELECT.LEFT.EXP.LEFT.SELECT.RIGHT.RIGHT.EXP.LEFT.SELECT.RIGHT.EXP.LEFT.LEFT.LEFT.SELECT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.EXP.SELECT.LEFT.LOG.RIGHT.SELECT.EXP.LEFT.SELECT.LOG.RIGHT.SELECT.EXP.SELECT.EXP.RIGHT.SELECT.LEFT.EXP.RIGHT.SELECT.LEFT.EXP.RIGHT.SELECT.LEFT.EXP.LEFT.LEFT.SELECT.RIGHT.RIGHT.LOG.RIGHT.SELECT.LEFT.EXP.LEFT.SELECT.RIGHT.LOG.RIGHT.SELECT.EXP.LEFT.LEFT.LEFT.LEFT.SELECT.RIGHT.RIGHT.RIGHT.RIGHT.EXP.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.SELECT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.LOG.RIGHT.SELECT.EXP.LEFT.SELECT.RIGHT.RIGHT.EXP.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.SELECT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.EXP.LEFT.LEFT.SELECT.RIGHT.RIGHT.EXP.LEFT.SELECT.RIGHT.LOG.RIGHT.SELECT.LEFT.LOG.RIGHT.SELECT.EXP.LEFT.SELECT.RIGHT.RIGHT.EXP.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.SELECT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.EXP.LEFT.LEFT.SELECT.RIGHT.RIGHT.EXP.LEFT.SELECT.RIGHT.LOG.RIGHT.SELECT.LEFT.LOG.RIGHT.SELECT.LEFT.PRINT.RIGHT.RIGHT.LOG.SELECT.LOG.RIGHT.SELECT.LEFT.LEFT.END.RIGHT.RIGHT.LOG.SELECT.LOG.RIGHT.SELECT.LEFT.EXP.LEFT.SELECT.RIGHT.LOOP.RIGHT.EXP.LEFT.LEFT.LEFT.SELECT.RIGHT.RIGHT.RIGHT.LOG.RIGHT.SELECT.LEFT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.END.RIGHT.RIGHT.EXP.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.SELECT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.LOG.RIGHT.SELECT.EXP.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.LEFT.SELECT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.RIGHT.LOG.RIGHT.SELECT.EXP.LEFT.LEFT.SELECT.RIGHT.RIGHT.EXP.LEFT.SELECT.RIGHT.LOG.RIGHT.SELECT.LEFT.END.

অবশ্যই এটি দীর্ঘ, তবে এই কাজের জন্য আমি উত্পন্ন প্রথম দুটি সংস্করণ দ্বিগুণ হয়ে গেছে।

আউটপুট:

screenshot

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

প্রোগ্রামটি এটি তৈরি করতে ব্যবহৃত হয়:

init(9,9,50)
makenum(8)
square()
dec()
loop("main",computei=True)
go(1)
makenum(8)
go(1)
copyfrom(-2)
intdiv(-1)
add(-5)           # n%8 blah blah blah blah n//8 k^(n//8) k^(n%8) (n//8+n%8)
go(1)
makeneg1()
exptarget(-1)
go(1)
ifnonpositive("drawtest")
go(1)
makenum(-4,-4)    # n%8 blah blah blah blah n//8 k^(n//8) k^(n%8) n//8+n%8 (-1)^(n//8+n%8) 4 1/2 I k^(-4I) -1 (-4-4I)
go(1)
multiply(-4,-11)   # n%8 blah blah blah blah n//8 k^(n//8) k^(n%8) n//8+n%8 (-1)^(n//8+n%8) 4 1/2 I k^(-4I) -1 -4-4I (nI//8)
add(-16)          # n%8 blah blah blah blah n//8 k^(n//8) k^(n%8) n//8+n%8 (-1)^(n//8+n%8) 4 1/2 I k^(-4I) -1 -4-4I nI//8 k^(nI//8) k^(n%8) (n%8+nI//8)
add(-4)           # n%8 blah blah blah blah n//8 (-1)^(n%8) 4 1/2 I k^(-4I) -1 -4-4I nI//8 k^(nI//8) k^(n%8) n%8+nI//8 k^(n%8+nI//8) k^(-4-4I) ((n%8-4)+I(n//8-4))
output()
endif("drawtest")
go(1)
endloop("main")
writetofile("chessboard4")

অন্য কথায়, 0 থেকে 63 পর্যন্ত লুপ এন, (n% 8-4) + (এন // 8-4) এ বর্গ অঙ্কন যদি i (-1) ^ (n // 8 + n% 8) না হয় ইতিবাচক।


আসলেই কি এটি গল্ফ নয়: পি?
ব্রুনো

আমি নিশ্চিত হতে পারি না যে এটি কাজটি সবচেয়ে সংক্ষিপ্ততম প্রোগ্রাম, না। যাইহোক, আমি মোটামুটি নিশ্চিত যে প্রোগ্রামের মোট দৈর্ঘ্যের তুলনায় এই এবং এই ভাষাতে সেরা সম্ভাব্য সমাধানের মধ্যে পার্থক্য নগণ্য। আমার মনে আরও একটি ধারণা রয়েছে যা সংক্ষিপ্ত বা নাও হতে পারে। আমি খুব শীঘ্রই এটি চেষ্টা করব।
কুইন্টোপিয়া


0

Python, 57 bytes

c=50*"1"+50*"0"
print"P1 400 400 "+4*(200*c+200*c[::-1])

c is a line of 50 white and 50 black pixels, 200*c is a row with a white in the front, 200*c[::-1] the reverse.

Output as PPM, usage:

python golf_chess.py > chess.ppm
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.