একটি এএসসিআইআই দাবা বোর্ড আঁকুন!


42

আপনার জন্য এখানে একটি সহজ চ্যালেঞ্জ: আপনাকে অবশ্যই দাবা বোর্ডের এই ASCII প্রতিনিধিত্ব করতে হবে। সাদা বড় হাতের অক্ষর দ্বারা প্রতিনিধিত্ব করা হয়, এবং কালো ছোট হাতের দ্বারা প্রতিনিধিত্ব করা হয়। খালি টাইলগুলি একটি দ্বারা প্রতিনিধিত্ব করা হয় .। এখানে সম্পূর্ণ বোর্ড:

rnbqkbnr
pppppppp
........
........
........
........
PPPPPPPP
RNBQKBNR

যেহেতু এটি প্রশ্ন, আপনি কোনও ইনপুট নাও নিতে পারেন এবং আপনাকে অবশ্যই কোনও বোর্ডের এই বোর্ডটি আউটপুট করতে হবে, উদাহরণস্বরূপ, কোনও ফাইল সংরক্ষণ করা, STDOUT এ মুদ্রণ করা বা কোনও ফাংশন থেকে ফিরে আসা। আপনি allyচ্ছিকভাবে একটি ট্রেলিং নিউলাইন তৈরি করতে পারেন । স্ট্যান্ডার্ড লুফোলগুলি প্রয়োগ হয় এবং বাইটের মধ্যে সংক্ষিপ্ততম প্রোগ্রাম!

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

লিডারবোর্ড

আপনার উত্তরটি প্রদর্শিত হয়েছে তা নিশ্চিত করার জন্য, দয়া করে নীচের মার্কডাউন টেমপ্লেটটি ব্যবহার করে আপনার উত্তরটি শিরোনাম দিয়ে শুরু করুন:

# Language Name, N bytes

Nআপনার জমা দেওয়ার আকারটি কোথায় ? আপনি যদি নিজের স্কোরটি উন্নত করেন তবে আপনি পুরানো স্কোরগুলি শিরোনামে রেখে দিতে পারেন । এই ক্ষেত্রে:

# Ruby, <s>104</s> <s>101</s> 96 bytes

যদি আপনি নিজের শিরোনামে একাধিক সংখ্যা অন্তর্ভুক্ত করতে চান (যেমন আপনার স্কোর দুটি ফাইলের সমষ্টি বা আপনি পৃথকভাবে দোভাষী পতাকা দণ্ডের তালিকা করতে চান), নিশ্চিত করুন যে আসল স্কোরটি শিরোনামের শেষ সংখ্যা:

# Perl, 43 + 2 (-p flag) = 45 bytes

আপনি ভাষাটির নামটিকে একটি লিঙ্কও বানাতে পারেন যা লিডারবোর্ড স্নিপেটে প্রদর্শিত হবে:

# [><>](http://esolangs.org/wiki/Fish), 121 bytes


1
অবশ্যই একটি ASCII artদাবা বোর্ডের প্রতিটি অন্যান্য স্কোয়ারে পুরো স্টপেজ থাকবে?
শন বেবারস

উত্তর:


16

জেলি , 25 24 বাইট

“.“.“p“rnbqkbn”ṁ€8µṚ;ŒuY

এটি অনলাইন চেষ্টা করুন!

1 লাইট বন্ধ করে দেওয়ার জন্য লিনকে ধন্যবাদ!

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

“.“.“p“rnbqkbn”ṁ€8µṚ;ŒuY  Main link. No arguments.

“.“.“p“rnbqkbn”           Yield [".", ".", "p", "rnbqkbnr"].
               ṁ€8        Mold-each 8; reshape each string like the array
                          [1, 2, 3, 4, 5, 6, 7, 8], i.e., cyclically repeat its
                          contents to create strings of length 8.
                          This yields the upper half of the board in reversed
                          order, i.e., the string array
                          A := "........", "........", "pppppppp", "rnbqkbnr"].
                  µ       Begin a new, monadic chain. Argument: A
                   Ṛ      Reverse A.
                     Œu   Convert all characters in A to uppercase.
                    ;     Concatenate the results to both sides.
                       Y  Join the strings, separating by linefeeds.

15

ভিম, 26 বাইট

irnbqkbnr<Esc>Y6p5Vr.VrpYGPgUj

একটি নতুন ভিমে নির্ভর করে, অন্যথায় 5Vভুল অঞ্চল নির্বাচন করতে পারে।

  • irnbqkbnr<Esc>: শীর্ষ সারি লিখুন। যথেষ্ট সহজ
  • Y6p: একটি বাদে বাকী সারিতে তৈরি করুন । অবশ্যই উপরের এবং নীচের সারিগুলি বাদ দিয়ে সমস্ত ভুল অক্ষর ধারণ করে।
  • 5Vr.: আপনি যখন অধিবেশনটিতে এখনও ভিজ্যুয়াল মোড ব্যবহার করেননি, আপনি 5 টি লাইন নির্বাচন করতে এই জাতীয় জিনিসগুলি করতে পারেন। আপনি যদি এখনই একই জিনিসটি টাইপ করেন তবে এটি 25 টি লাইন নির্বাচন করার চেষ্টা করবে। ভিম এর মতো অদ্ভুত।
  • Vrp: আমরা ইতিমধ্যে 2 লাইনে আছি, সুতরাং আসুন একটি প্যাঁচ লাইন করা যাক।
  • YGP: সেই পদ্মার রেখাটি নীচে তার জায়গায় অনুলিপি করুন। এজন্য আমি আগের 6pপরিবর্তে ব্যবহার করেছি 7p
  • gUj: সাদা টুকরা মূলধন।

1
সেরা গল্ফ ভাষা আছে!
পালটে ঘড়ির

10

ব্রেইনফাক , 224 বাইট

+++++[>+++[>++++++<-]+<-]>>.[>>+>+<<<-]>>>[<<<+>>>-]<<<----.<+++[>---<-]>.>>-.------.<<.>>+++.++++.--<++++++++++>>++++++++++.<........>.[>+++++<-]>----<++++[>........<<<.>>-]<........<.>++.----.<<.>>+++.------.<<.>>+++.++++.

এটি পেতে প্রায় এক ঘন্টা সময় নিয়েছে।


8

পাইথন 2, 63 বাইট

print"\n".join(["rnbqkbnr","p"*8]+["."*8]*4+["P"*8,"RNBQKBNR"])

দুর্ভাগ্যক্রমে, আমি প্রথমে "চালাক" স্টাফের চেয়ে মোটামুটি সহজ পদ্ধতির চেয়ে ছোট ছিল ...

বোনাস উত্তর, এছাড়াও 63 বাইট:

print"\n".join(["rnbqkbnr"]+[c*8for c in"p....P"]+["RNBQKBNR"])

8

05 এ বি 1 ই , 24 বাইট

ব্যবহার সিপি-1252 এনকোডিং।

"rnbqkbnr"'p8×'.8×D)Âu«»

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

"rnbqkbnr"                # push the string "rnbqkbnr"
                          # STACK: "rnbqkbnr"
          'p8×            # push the char "p" repeated 8 times
                          # STACK: "rnbqkbnr", "pppppppp"
              '.8×        # push the char "." repeated 8 times
                          # STACK: "rnbqkbnr", "pppppppp", "........"
                  D       # duplicate
                          # STACK: "rnbqkbnr", "pppppppp", "........", "........"
                   )      # wrap in list
                          # STACK: ["rnbqkbnr", "pppppppp", "........", "........"]
                    Â     # push a reversed copy of the list
                          # STACK: ["rnbqkbnr", "pppppppp", "........", "........"], 
                                   ["........", "........", "pppppppp", "rnbqkbnr"]
                     u«   # convert to upper-case and concatenate
                          # STACK: ['rnbqkbnr', 'pppppppp', '........', '........', 
                                    '........', '........', 'PPPPPPPP', 'RNBQKBNR']
                       »  # join list by newline

1
আমি মনে করি এটি প্রথমবারের মতো আমি কখনই উত্তর না গল্ফ করেছি এবং আপনার ব্যবহৃত 100% চরিত্রের সাথে মিল রেখেছি। হাহা হ'ল এটি ঠিক তত ভাল।
ম্যাজিক অক্টোপাস উরন

7

আসলে , 26 বাইট

'p8*"rnbqkbnr"│û@û4'.8*n((

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা:

'p8*"rnbqkbnr"│û@û4'.8*n((
'p8*                        "p"*8 ["pppppppp"]
    "rnbqkbnr"              that string ["rnbqkbnr", "pppppppp"]
              │             duplicate stack ["rnbqkbnr", "pppppppp", "rnbqkbnr", "pppppppp"]
                û@û         uppercase the dupes ["RNBQKBNR", "PPPPPPPP", "rnbqkbnr", "pppppppp"]
               4   '.8*n    "."*8, 4 times ["RNBQKBNR", "PPPPPPPP", "........", "........", "........", "........", "rnbqkbnr", "pppppppp"]
                        ((  move the uppercase strings to the bottom of the stack, implicitly print

6

চেডার, 56 বাইট

a=['rnbqkbnr','p'*8]+['.'*8]*2->(a+a.rev=>@.upper).vfuse

নতুন =>বৈশিষ্ট্য ব্যবহার করে ।

ব্যাখ্যা

a=                      // set a to the first half
  ['rnbqkbnr','p'*8] +  // First two rows
  ['.'*8]*2             // Next two dots
->(
   a +
   a.rev=>@.upper       // Reverse and map all items to uppercase
).vfuse                 // Join on newlines

5
সুতরাং আপনি 'দাবা' সম্পর্কে 'দাবা' সম্পর্কে একটি প্রশ্নের উত্তর দিয়েছেন?
ডিজেএমসিএমহেম

4
@ ডিজেএমসিএমহেম .................. আপনি কি ..... .....
ডাউনগোট

1
মিমি এটি কিছু সুন্দর পনির। ডিফল্ট প্যারামগুলির দুর্দান্ত অপব্যবহার
কনর ও'ব্রায়ান

6

পাইকে, 28 27 26 বাইট

"rnbqkbnr"i"P..p"1c8m*Xil3

এখানে চেষ্টা করুন!

আমি আজ আমার ভাষা সম্পর্কে নতুন কিছু শিখেছি: 1cএকটি স্ট্রিংকে অক্ষরের তালিকায় বিভক্ত করার 2 চর উপায় হিসাবে ব্যবহার করা যেতে পারে।

"rnbqkbnr"i                - i = "rnbqkbnr"
                             stack = ["rnbqkbnr"])
           "P..p"1c        -  chunk("P..p", 1)
                             stack = ["rnbqkbnr", ["P", ".", ".", "p"]]
                   8m*     - map(8*>, ^)
                             stack = ["rnbqkbnr", ["PPPPPPPP", "........", "........", "pppppppp"]]
                      X    - splat(^)
                             stack = ["rnbqkbnr", "pppppppp", "........", "........", "PPPPPPPP"]
                       il3 - i.changecase()
                             stack = ["rnbqkbnr", "pppppppp", "........", "........", "PPPPPPPP", "RNBQKBNR"]
                           - implicit join with newlines

rnbqkbnr
pppppppp
........
........
PPPPPPPP
RNBQKBNR

5

এমএটিএল , 26 বাইট

'rnbqkbnr' 'p..'!l8X"vtPXk

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

'rnbqkbnr'   % Push this string (1×8 char array)
'p..'!       % Push this string transposed (3×1 char array)
l8X"         % Repeat 1×8 times: gives 3×8 char array
v            % Concatenate the two arrays vertically into a 4×8 char array
tP           % Duplicate and flip vertically
Xk           % Convert to uppercase. Implicitly display the two 4×8 arrays

5

রুবি, 45 44

1 টি বাইট টিউসক্র্যাফটিংয়ের জন্য ধন্যবাদ সংরক্ষণ করা হয়েছে।

puts"rnbqkbnr",?p*8,[?.*8]*4,?P*8,"RNBQKBNR"

এটি 45

puts s="rnbqkbnr",?p*8,[?.*8]*4,?P*8,s.upcase

যেকোন ক্লিভর চেষ্টা করে দেখে মনে হয় এটি আরও দীর্ঘায়িত হবে।


স্থান সরানোর পর স্ট্রিং সামনেputs
TuxCrafting

5

জাভাস্ক্রিপ্ট (ES6), 69 65 বাইট

Edc65 ধন্যবাদ 4 বাইট সংরক্ষণ করা

let f =

_=>`rnbqkbnr
p....PRNBQKBNR`.replace(/p|\./ig,c=>c.repeat(8)+`
`)

console.log(f());


1
খুব চালাক! সম্ভবত খুব চালাক, 4 বাইটের সাহায্যে সংরক্ষণ করতে পারে 'rnbqkbnrnp....PRNBQKBNR'.replace(/p|\./ig,c=>c.repeat(8)+'\n')( \nআক্ষরিক নতুন লাইনে পরিবর্তন )
লাইনে পরিবর্তিত

5

সি #, 94 92 বাইট

সম্পাদনা করুন: রিটার্নের হোয়াইটস্পেস অপসারণের জন্য স্ট্রিং অর্ডার পরিবর্তন করে 1 বাইট সংরক্ষণের জন্য দুধকে ধন্যবাদ ।

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

x=>{string a="RNBQKBNR\n",b="PPPPPPPP\n",c="........\n";return(a+b).ToLower()+c+c+c+c+b+a;};

উপরের ফাংশনটি ব্যবহার করে সম্পূর্ণ প্রোগ্রাম:

using System;

namespace DrawAnASCIIChessBoard
{
    class Program
    {
        static void Main(string[] args)
        {
            Func<object,string>f= x=>{string a="RNBQKBNR\n",b="PPPPPPPP\n",c="........\n";return(a+b).ToLower()+c+c+c+c+b+a;};
            Console.WriteLine(f(1));
        }
    }
}

সি # একটি খুব ভার্জোজ ভাষা ...


সি # সম্পূর্ণ প্রোগ্রাম, 131 বাইট

class P{static void Main(){string a="rnbqkbnr\n",b="pppppppp\n",c="........\n";System.Console.Write(a+b+c+c+c+c+(b+a).ToUpper());}}

Ungolfed:

class P
{
    static void Main()
    {
        string a="rnbqkbnr\n",
            b="pppppppp\n",
            c="........\n";
        System.Console.Write(a+b+c+c+c+c+(b+a).ToUpper());
    }
}

2
"সি # একটি খুব ভার্ভোজ ভাষা ..."। আপনি তখন
ভিবি.এনইটি

2
আপনি একটি বাইটটি সংজ্ঞা দিয়ে aএবং বড়হাতে bহিসাবে সংরক্ষণ করতে পারেন তারপরে আপনি স্থানটি পরিত্রাণ পেতে পারেন return:return(a+b).ToLower()+...
দুধ

@ টাইকব আমি বেশ কিছুক্ষণ আগে ভিবি.এনইটি চেষ্টা করেছিলাম। আমি তখন কোড গল্ফিং সম্পর্কে জানতাম না: পি
অ্যাড্রিয়ান্প

আপনি কি varপরিবর্তে ব্যবহার করতে পারেন string?
নিবল্লিপিগ

@ এসএলসি আমি কিছু সময়ের জন্য সি # তে প্রোগ্রামিং করি নি, তাই আমি ভুল হলে আমাকে সংশোধন করুন, তবে আমি মনে করি না আপনি varএকক লাইনে একাধিক ঘোষণার মাধ্যমে ব্যবহার করতে পারবেন । তাই string a="rnbqkbnr\n",b="pppppppp\n",c="........\n";হয়ে উঠবে var a="rnbqkbnr\n";var b="pppppppp\n";var c="........\n";, যা বাইট-কাউন্ট বাড়ায়। সম্পাদনা: এটি একটি " স্পষ্টভাবে টাইপ করা স্থানীয় ভেরিয়েবল ঘোষণায় একাধিক ডিক্লেয়ারকে অন্তর্ভুক্ত করতে পারে না " ত্রুটি দেয়
কেভিন ক্রুইজসেন

4

পাইথন 2, 68 বাইট

উপরের পাইথন 2 সংস্করণটি সংক্ষিপ্ত হলেও যাইহোক পোস্ট করা। এটি কেবল খেলে বাইটের পরিমাণের জন্য একটি লাইনার হতে হবে না।

x,y,z="rnbqkbnr\n","p"*8+"\n","."*8+"\n";print x,y,4*z,(y+x).upper()

যেহেতু zকেবলমাত্র একবার ব্যবহার করা হয় আপনি এ থেকে পরিত্রাণ পেতে এবং মুদ্রণ বিবৃতিতে বিন্দুগুলি তৈরি করতে পারেন।
কার্ল ন্যাপফ

3

হাস্কেল, 53 বাইট

a="rnbkqbnr" 
unlines$a:map(<$a)"p....P"++["RNBKQBNR"]

aপ্রথম লাইন হিসেবে ব্যবহার করা হয় এবং তৈরি স্ট্রিং দৈর্ঘ্য নির্ধারণ করতে p, .এবং P(-> <$a)। ।


3

জাভাস্ক্রিপ্ট (ES6), 73

.toUpperCase সহজভাবে খুব দীর্ঘ

_=>`rnbqkbnr
${r=c=>c[0].repeat(8)+`
`,r`p`+(b=r`.`)+b+b+b+r`P`}RNBQKBNR`

O.textContent=(
  
_=>`rnbqkbnr
${r=c=>c[0].repeat(8)+`
`,r`p`+(b=r`.`)+b+b+b+r`P`}RNBQKBNR`

)()
<pre id=O></pre>


আমার মনে হয় (r=c=>c[0].repeat(8)+\ n ,b=r)=>আপনাকে একটি বাইট বাঁচায়
নীল

@ নীল আমি সঞ্চয় দেখছি না। আমি কোডটি বর্ধিত পাঠযোগ্যতার (কিছুটা) পুনর্লিখনের চেষ্টা করেছি, তবে বাইট গণনাটি একই থাকে
edc65

আহা, আমি দেখছি সেখানে আমি কী ভুল করেছি, কোনওভাবে আমি পথে একটি নতুন লাইন হারিয়েছি। এর জন্যে দুঃখিত.
নীল

3

পাওয়ারশেল v2 +, 44 বাইট

'rnbqknbr'
'p'*8
,('.'*8)*4
'P'*8
'RNBQKNBR'

পাইপলাইনের উপরের স্ট্রিংগুলি Write-Outputপ্রোগ্রাম প্রয়োগের সাথে স্পষ্টভাবে মুদ্রিত হয় । আমরা দম্পতি যা কমা-অপারেটরের সাথে পিরিয়ডের চার লাইনের উত্পাদন করতে অ্যারের জন্য ডিফল্ট নিউলাইন আচরণ সহ।

PS C:\Tools\Scripts\golfing> .\draw-ascii-chess-board.ps1
rnbqknbr
pppppppp
........
........
........
........
PPPPPPPP
RNBQKNBR

পয়েন্টের লাইনে নতুন লাইনগুলি কোথায়? ", ('।' * 8) * 4" এটিই ',' আমি মনে করি ...
রোজলুপুর

@ রোসলুপ কমা-অপারেটর ,একটি অ্যারে তৈরি করে (এই ক্ষেত্রে স্ট্রিংগুলির একটি অ্যারে)। Write-Outputপ্রোগ্রাম সমাপ্তিতে ডিফল্ট পৃথক অ্যারে উপাদানগুলি সহ পাইপলাইনে বাম উপাদানগুলির মধ্যে একটি নতুন লাইন সন্নিবেশ করে। সুতরাং, আমরা ডিফল্ট আউটপুট আচরণকে গালি দিচ্ছি কোডে সুস্পষ্ট নিউলাইনগুলি লেখার দরকার নেই।
অ্যাডমবর্কবার্ক

3

ভি , 27 , 26 বাইট

i¸P
RNBQKBNRäkgujddppÒ.4Ä

এটি অনলাইন চেষ্টা করুন!

এটিতে কিছু মুদ্রণযোগ্য অক্ষর রয়েছে, সুতরাং এখানে পঠনযোগ্য সংস্করণটি রয়েছে:

i¸P
RNBQKBNR<esc>äkgujddppÒ.4Ä

যেখানে <esc>প্রতিনিধিত্ব করে 0x1B। ব্যাখ্যা:

i                               " Enter insert mode
 ¸P                             " Enter 8 'P' characters
                                " and a newline
RNBQKBNR<esc>                   " Enter the first row and escape to normal mode.
             äk                 " Duplicate this line and the line above
               guj              " Convert this line, and the line below to lowercase
                  dd            " Delete this line
                    pp          " And paste it twice below us
                      Ò.        " Replace this whole line with '.' chars
                        4Ä      " And create four copies of this line

3

ইমোটিনমিকন, 89 বাইট

দুঃখজনকভাবে ইমোটিনোমিকনের সদৃশ স্ট্যাক ফাংশনের মতো কিছুই নেই। দরকারী হবে। তবে জাভা থেকে কমপক্ষে খাটো। :)

😭RNBKQBNR
PPPPPPPP
........
........
........
........
pppppppp
rnbkqbnr😲⏪⏬⏩

ব্যাখ্যা:

😭(...)😲⏪⏬⏩
😭(...)😲            String literal
         ⏪  ⏩      Loop
           ⏬        Pop one char and output

হুম ... এটি একটি কার্যকর ফাংশন হবে, এখন তা হবে না ...
কনর ওব্রায়েন

এমনকি প্রোগ্রামটি দুঃখজনক। 😭 = দুঃখের সাথে
এ _

3

মস্তিষ্ক-ফ্লাক , 366 350 + 3 = 353 বাইট

এটি অনলাইন চেষ্টা করুন!

(((((((((((()()())){}(((({}))){}{}(([((({})){}){}](([({}())](((((({}()){}){}){}()){})<>))<>)<>)<>)))<<>({}<>)<>({}<>)<>({}<>)([]()())>[()]))))))))(()()()()){({}[()]<((((((((((((()()()()()){})()){}()){}))))))))>)}{}(((()()()()()){})<((((((((([][]()()()()))))))))<>)<>>)(((((()()()))){})(({}{})(([{}({})](([{}()](<>({}()())<>)<>)<>)<>)<>))){<>({}<>)}{}

এটি একটি প্লাস 3 পায় কারণ এটি -Aসঠিকভাবে চালানোর জন্য পতাকাটির প্রয়োজন ।

ব্যাখ্যা

First we push the last 5 letters to the active stack.
We also push copies of last 3 numbers to the inactive stack.
This is done with fairly simple methods I won't go into for the sake of brevity.

 (((()()())){}(((({}))){}{}(([((({})){}){}](([({}())](((((({}()){}){}){}()){})<>)<><>)<>)<>)<>)))

We Move Everything from the offstack to the onstack.
The first 3 letters are the same as the last 3 letters in the first line

{<>({}<>)}{}

We push 10 for a new line

((()()()()()){})

Using the value of Q we create a P and push it 8 times

((((((((<...>[()]))))))))

We loop 4 times each time pushing 8 dots and a newline

(()()()())
{({}[()]<
    ((((((((((((()()()()()){})()){}()){}))))))))
>)}{}

We push the last two lines in a very similar way to the first two.

(((()()()()()){})<((((((((([][]()()()()))))))))<>)<>>)(((()()()){})(({}()()())(([{}(()()())](([{}()](<>({}()())<>)<>)<>)<>)<>))){<>({}<>)}{}

আপনি প্রথম দুটি রেখাটি চাপ দিতে পারেন ((((((((((((((((((((()()()()()){}){}){}()){})[()()()()])[([][][]){}])[][][])[]()())[[][][]])[][])()()()())<([]()())>[()()]))))))))যা দিয়ে আমি মনে করি আপনাকে 16 বাইট সংরক্ষণ করবে। এটি বিকল্প স্ট্যাকটি মোটেও ব্যবহার করে না, তাই এটি সম্ভবত আরও খাটো হতে পারে।
ডিজেএমসিএমহেম

3

পাইথন 3.5, 56 বাইট

for r in['rnbqkbn',*'p....P','RNBQKBN']:print((r*8)[:8])

এটি প্রতিটি লাইনের এনকোড করতে জাওয়াতার একটি ধারণা ব্যবহার করে(r*8)[:8] , একটি স্ট্রিং 8 বার পুনরাবৃত্তি করে এবং দৈর্ঘ্যে ছাঁটা হয় 8। দাবার গুটির এবং খালি সারি শুধু হয় 'p'*8, '.'*8এবং 'P'*8, কোন ছাঁটাই সঙ্গে। প্রথম সারিটি ব্যবহার 'rnbqkbn'করে('rnbqkbn'*8)[:8] যখন গুন এবং ছাঁটা ডান দিকে আরেকটি দিয়ে পানি পড়া সহ। শেষ সারিটি একই তবে মূলধনযুক্ত।

পাইথন 3.5 এর সাধারণীকরণযুক্ত আনপ্যাকিং['rnbqkbn','p','.','.','.','.','P','RNBQKBN'] ব্যবহার করে আমরা সারি-অংশগুলির তালিকাটি নিখুঁতভাবে প্রকাশ করি । আমরা প্রথম এবং শেষ-এন্ট্রিগুলি লিখি এবং বাকী একক-অক্ষরগুলি একটি স্ট্রিং থেকে প্যাক করা হয়।

পাইথন 2-তে, আমরা split60 বাইটের পরিবর্তে স্থির করতে পারি :

for i in'rnbqkbn p . . . . P RNBQKBN'.split():print(i*8)[:8]

3

পাইথন 3, 82 80 75 বাইট

পাইথনের সংক্ষিপ্ত উত্তর নয় তবে এটি আমার প্রথম এবং আমি মনে করি এটি প্রথমবারের জন্য বেশ ভাল

print('\n'.join((i*8)[:8]for i in'rnbqkbn p . . . . P RNBQKBN'.split()))

1
সাইটে স্বাগতম! আপনি কিছু অতিরিক্ত জায়গা সরিয়ে ফেললে আপনি দুটি বাইট নিতে পারেন। উদাহরণস্বরূপ[:8]for i in['rnbqkbn'....
ডিজেএমসিএমহেম

1
সমস্ত লাইন একত্রিত করার এবং দুর্বৃত্তদের পুনরায় ব্যবহার করার সাথে দুর্দান্ত ধারণা। আপনি তালিকাটি ছোট হিসাবে লিখতে পারেন 'rnbqkbn p . . . . P RNBQKBN'.split()
xnor

@ ডিজেএমসিমেহেম জানতেন না যে এগুলি প্রয়োজনীয় নয়। ধন্যবাদ!
জাওয়াতা

@ এক্সনর এটি একটি দুর্দান্ত ধারণা!
অসুস্থকে

2

ব্যাচ, 105 বাইট

@set e=@echo ........
@echo rnbqkbnr
@echo pppppppp
%e%
%e%
%e%
%e%
@echo PPPPPPPP
@echo RNBQKBNR

ব্যাচ গুরুতরভাবে ভার্জোজ ...


2

আর, 75 বাইট

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

cat("rnbqkbnr\npppppppp\n",rep("........\n",4),"PPPPPPPP\nRNBQKBNR",sep="")

1
কালো টুকরাগুলি এই স্ট্যান্ড হিসাবে ভুল থেকে বেরিয়ে আসে: প্যাঁচগুলি অন্য টুকরাগুলির সামনে হওয়া উচিত।
জেডিএল

@ জেডিএল আপনি অবশ্যই সঠিক, ধন্যবাদ। শেষ দ্বিতীয় পরিবর্তনগুলি করার সময় বোকা ভুল।
বিলিওব


2

পাওয়ারশেল, 82 73 বাইট

$x=("rnbqkbnr",$("p"*8),$("."*8),$("."*8));$x+$x[3..0].ToUpper()-join"`n"


@ ভেস্কাহ - এটি কীভাবে কাজ করে? আমি *perজিনিসটি আগে দেখিনি , এবং একটি গুগল আমাকে কোনও পয়েন্টার দিচ্ছে না। কোন ব্যাখ্যা আছে?
ক্রিস জে

সম্পূর্ণ লেখার জন্য এখানে দেখুন তবে |% যা দেওয়া হয়েছে তার উপর বৈশিষ্ট্য / পদ্ধতি (নামে ওয়াইল্ডকার্ড সহ) কল করতে পারেন
ভেস্কাহ

2

জে, 55 52 বাইট

'.rnbkqpPQKBNR'{~(+-@|.)8 8$1 2 3 4 5 3 2 1,8 48#6 0

পরীক্ষা এবং মধ্যবর্তী পদক্ষেপ

   '.rnbkqpPQKBNR'{~(+-@|.)8 8$1 2 3 4 5 3 2 1,8 48#6 0
rnbkqbnr
pppppppp
........
........
........
........
PPPPPPPP
RNBKQBNR
   8 48#6 0
6 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
   1 2 3 4 5 3 2 1,8 48#6 0
1 2 3 4 5 3 2 1 6 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
   8 8$1 2 3 4 5 3 2 1,8 48#6 0
1 2 3 4 5 3 2 1
6 6 6 6 6 6 6 6
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
   (+-@|.)8 8$1 2 3 4 5 3 2 1,8 48#6 0
 1  2  3  4  5  3  2  1
 6  6  6  6  6  6  6  6
 0  0  0  0  0  0  0  0
 0  0  0  0  0  0  0  0
 0  0  0  0  0  0  0  0
 0  0  0  0  0  0  0  0
_6 _6 _6 _6 _6 _6 _6 _6
_1 _2 _3 _4 _5 _3 _2 _1
   '.rnbkqpPQKBNR'{~(+-@|.)8 8$1 2 3 4 5 3 2 1,8 48#6 0
rnbkqbnr
pppppppp
........
........
........
........
PPPPPPPP
RNBKQBNR

2

পাইথন 3, 64 বাইট

পাইথন 2-তে DLosc উত্তর ভিত্তিক আমার হিসাবে উন্নত করতে পারিনি।

print(*["rnbqkbnr","p"*8]+["."*8]*4+["P"*8,"RNBQKBNR"],sep="\n")

"\ N" .জাইন ব্যবহার করার সাথে তুলনা করে 1 বাইট কম less

print("\n".join(["rnbqkbnr","p"*8]+["."*8]*4+["P"*8,"RNBQKBNR"]))

2

প্রশ্ন, 51 বাইট

"\n"sv flip{x,"p...P","c"$("i"$x)-32}each"rnbqkbnr"

আপনি উপরের এবং প্রতিটি ডানদিকে কয়েকটি বাইট ছাঁটাই করতে পারেন। এছাড়াও নিম্নলিখিত কপি করে প্রিন্ট নতুন লাইন দিয়ে একটি স্ট্রিং ফিরে বদলে stdout- এ: -1 flip"p...P"{y,x,upper y}/:"rnbqkbnr";। 40 বাইট। ভাল সমাধান যদিও!
স্ট্রিস্টার

2

জিএনইউ সেড, 54 বাইট

s:^:rnbqkbnr:p;h
s:.:p:gp;G
h;s:[^\n]:.:gp;G
s:.:\U&:g

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা:

কালো টুকরাগুলি প্রথমে মুদ্রিত হয়, হোল্ড স্পেসে দুটি সম্পর্কিত বোর্ড র‌্যাঙ্কগুলি বিপরীত ক্রমে সংরক্ষণ করে। হোয়াইট স্পেসকে বড় হাতের অক্ষরে রূপান্তর করে সাদা টুকরো মুদ্রিত করা হয়।

s:^:rnbqkbnr:p;h   # change pattern and hold spaces to 'rnbqkbnr' and print string
s:.:p:gp           # replace each pattern space letter with a 'p', then print
G;h                # append hold space, then copy pattern space to hold space
s:[^\n]:.:gp       # replace each pattern space letter with a '.', then print
G;s:.:\U&:g        # append hold space and convert pattern space to uppercase
                   # (automatic printing of pattern space at the end)

2

জাভা 7, 103 99 89 বাইট

String f(){return"rnbqkbnr\npppppppp\nxxxxPPPPPPPP\nRNBQKBNR".replace("x","........\n");}

হার্ডকডযুক্ত আউটপুটটির তুলনায় 10 বাইট সংরক্ষণ করা হয়েছে তার সি # উত্তরে @ এসএলসি'র পদ্ধতির জন্য ধন্যবাদ ।

এখানে চেষ্টা করুন।

আউটপুট:

rnbqkbnr
pppppppp
........
........
........
........
PPPPPPPP
RNBQKBNR

এই সম্পর্কে কি String f(){return"rnbqkbnr\npppppppp\n........\n........\n........\n........\nPPPPPPPP\nRNBQKBNR";}.এটি 100 বাইট
নোট

@ নাম্বারকনট কতটা বিরক্তিকর .. তবে আপনি ঠিক বলেছেন, এটি খাটো। বিটিডব্লিউ, এটি 99 বাইট, 100 নয়
কেভিন ক্রুইজসেন

2

সি #, 85 84 83 74 বাইট

সম্পাদনা: দুর্ঘটনাক্রমে অনেকগুলি সারি ফাঁকা স্থান ছিল!

সম্পাদনা করুন: একটি অতিরিক্ত চরিত্র মুক্ত এবং অর্ডারিং স্থির করে (দুর্ঘটনাক্রমে এটি সমস্ত বিপরীত হয়েছিল) @ কেভিন ক্রুজসেনকে অনেক ধন্যবাদ

সম্পাদনা: 83 টি কোষে ফিরে গিয়েছিলাম আমার কাছে চিংড়িগুলি ভুল লাইনে ছিল

সম্পাদনা: @ অ্যাড্রিয়ান্পকে ধন্যবাদ যিনি আমাকে ফেরত বাদ দিয়ে আরও সঙ্কুচিত করতে সহায়তা করেছেন

উপরে @ অ্যাড্রিয়ান্প উত্তর হিসাবে একই ফর্ম্যাট ব্যবহার করে:

x=>"rnbqkbnr\npppppppp\nxxxxRNBQKBNR\nPPPPPPPP".Replace("x","........\n");

উপরের ফাংশনটি ব্যবহার করে সম্পূর্ণ প্রোগ্রাম:

using System;

namespace DrawAnASCIIChessBoard
{
    class Program
    {
        static void Main(string[] args)
        {
            Func<object, string> f = 
                x=>"rnbqkbnr\npppppppp\nxxxxRNBQKBNR\nPPPPPPPP".Replace("x","........\n");
                    Console.WriteLine(f(1));
        }
    }
}

হাই, পিপিসিজিতে আপনাকে স্বাগতম! হুম, আপনার টুকরোগুলির ক্রমটি OP এর একটিতে ভুল বলে মনে হচ্ছে। BTW, আপনার মধ্যে স্থান সরিয়ে 1 বাইট সংরক্ষণ করতে পারবেন return ", তাই এটি হয়ে: x=>{return"rnbqkbnr\npppppppp\nxxxxPPPPPPPP\nRNBQKBNR".Replace("x","........\n");};। ভাল উত্তর, তাই আমার কাছ থেকে +1। এবং এখানে আপনার থাকার উপভোগ করুন। :)
কেভিন ক্রুইজসেন

এবং আপনার উত্তরের জন্য ধন্যবাদ। আমি আমার জাভা answer উত্তরের একই পদ্ধতির পোর্ট করেছি (অবশ্যই আপনাকে জমা দিয়ে দিচ্ছি) , বাইট-কাউন্ট 10 দ্বারা কমিয়ে
রেখেছি

আমি এটি আরও উন্নত করেছি
নিবল্লিপিগ

গাহ আমি ঠিক বুঝতে পেরেছি যে এটি ঠিক নয়
নিবল্লিপিগ

1
চমৎকার পন্থা! আপনি এটিকে প্রকৃতপক্ষে 74 বাইটে হ্রাস করতে পারেন:x=>"rnbqkbnr\npppppppp\nxxxxRNBQKBNR\nPPPPPPPP".Replace("x","........\n");
অ্যাড্রিয়ান্প
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.