সাফ আপ এবং ডিল!


14

এটি শুক্রবার এবং আমি ক্লান্ত, তাই আসুন দ্রুত একটি করা যাক! কোনও ইনপুট নিবেন না, তবে আপনার কার্ডের একটি স্ট্যান্ডার্ড ডেকে সমস্ত তেরটি পৃথক নম্বরযুক্ত কার্ড আউটপুট করা উচিত। আপনার Ace (স্যুট অজোনস্টিক) এর মাধ্যমে 2 আউটপুট করা উচিত।

প্রতিটি কার্ডের একটি শীর্ষ থাকে যা একটি স্থান এবং দশ _এবং অন্য একটি স্পেস দিয়ে বোঝানো হয়

উপরে থেকে দ্বিতীয় সারিটি একটি /এবং দশটি স্পেস এবং এ দ্বারা চিহ্নিত করা হয়\

তৃতীয় সারিটি সমস্ত মাঝারি-ইশ সারিগুলির মতোই কার্ডের মানটিকে চিহ্নিত করে এমন অক্ষর (গুলি) ব্যতীত দুটি স্পেস ডান থেকে ডানদিকে (উপরে থাকলে) অথবা প্রান্তের বামে (নীচে থাকলে) দুটি স্থান প্রদর্শিত হয়।

প্রতিটি মাঝারি-ইশ সারিটি একটি সহজ |এবং দশটি স্পেস এবং আরও একটি|

অবশেষে শেষ লাইনটি একটি \এবং দশ _এবং শেষ অবধি একটি/

মানটি যদি একাধিক হয় তবে কার্ডের উচ্চতা অনুসারে সামগ্রিক প্রস্থটি পরিবর্তন করা উচিত নয়। (যেমন 10 টি কার্ডের দিকগুলি আরও প্রশস্ত করবে না)

রাজার উদাহরণ:

 __________ 
/          \
| K        |
|          |
|          |
|          |
|          |
|          |
|        K |
\__________/

9 উদাহরণ

 __________ 
/          \
| 9        |
|          |
|          |
|          |
|          |
|          |
|        9 |
\__________/

10 উদাহরণ

 __________ 
/          \
| 10       |
|          |
|          |
|          |
|          |
|          |
|       10 |
\__________/

এগুলি সর্বনিম্ন থেকে বৃহত্তর পর্যন্ত আউটপুট করুন (এসেস বেশি!)।

এটি কোড-গল্ফ তাই সংক্ষিপ্ততম কোড জিততে পারে।

মজা করুন এবং একটি মজার সপ্তাহান্তে উপভোগ করুন!


2
নীচের 10 টি ডান প্রান্তটি আঁকছে কিনা তা দেখার জন্য আমাদের একটি 10 ​​উদাহরণ থাকতে পারে?
সানি পুন

@ সানিপুন অবশ্যই কেন
জ্যাকসোনাক

1
কার্ডগুলি উল্লম্বভাবে, আনুভূমিকভাবে সাজানো উচিত, বা এটি কোনও ব্যাপার?
DLosc

বাম থেকে ডান বা উপরে থেকে নীচে প্লেয়ারদের পছন্দ।
জ্যাকসোনাক

উত্তর:


10

পাওয়ারশেল ভি 2 +, 120 116 114 108 বাইট

2..10+[char[]]'JQKA'|%{$z=' '*(8-!($_-10));$x='_'*10;$y=' '*10;" $x 
/$y\
| $_$z|";,"|$y|"*5;"|$z$_ |
\$x/"}

একটি সীমার নির্মান 2..10এবং অ্যারে সংযুক্তকরণের করে char-array JQKA। এটিকে একটি লুপে ফিড দেয় |%{...}। প্রতিটি পুনরাবৃত্তির, আমরা সেট $zএকটি যথাযথ স্পেস নম্বর (আমরা কার্ড করুন না কেন উপর ভিত্তি করে সমান 10বা না হোক), সেট $xকরার 10আন্ডারস্কোর সেট, এবং $yথেকে 10স্পেস।

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

প্রথমটি কেবল $xদুটি স্পেস দিয়ে, তারপরে $yদুটি স্ল্যাশ দিয়ে, তারপরে | $_$z|"পাইপ, একটি স্পেস, যথাযথ নম্বর ফাঁকা স্থান এবং অন্য পাইপ। এটি মান রেখাটি সহ কার্ডের শীর্ষস্থান তৈরি করে।

আমাদের এখানে সেমিকোলন করতে হবে, যেহেতু পরের একটি অ্যারে ব্যবহার করে। ,"|$y|"*5একটি স্ট্রিং-বিন্যস্ত নির্মান, কমা-অপারেটর সঙ্গে, স্পেস দিয়ে পাইপের - আউটপুট, এই অ্যারের প্রতিটি উপাদান বিনামূল্যে জন্য একটি newline পায়।

তারপরে, "|$z$_ |নীচের মানটি চিহ্নিত করার জন্য এবং শেষ পর্যন্ত $xকার্ডের নীচে স্ল্যাশ সহ।

আউটপুট স্নিপেট

PS C:\Tools\Scripts\golfing> 2..10+[char[]]'JQKA'|%{$z=' '*(8,7)[$_-eq10];" $(($x='_'*10)) ";"/$(($y=' '*10))\";"| $_$z|";,"|$y|"*5;"|$z$_ |";"\$x/"}
 __________ 
/          \
| 2        |
|          |
|          |
|          |
|          |
|          |
|        2 |
\__________/
 __________ 
/          \
| 3        |
|          |
|          |
|          |
|          |
|          |
|        3 |
\__________/
 __________ 
/          \
| 4        |
...

1
পাওয়ারশেল যখন জিতছে তখন এক আজব দিন! চমৎকার কাজ :)
কেড

@ শেবাং ধন্যবাদ! সাব -100টি এত ডাং কাছে, তবে নিশ্চিত না যে আমি এটি তৈরি করতে পারি কিনা।
অ্যাডমবর্কবার্ক

[মুঠির কাঁপুন] আপনি আমাকে 3 বাইট মারছেন তিনটি বাইট !!
গ্যাব্রিয়েল বেনামি

6

পাইথন, 161 160 156 149 বাইট

একটি বাইট শেবাং দ্বারা সংরক্ষণ করা

এটি কিছু কাজ ব্যবহার করতে পারে তবে এটি এখানে:

o=" ";v="_"*10
for x in map(str,range(2,11)+list("JKQA")):print o+v+"\n/",o*9+"\\\n|",x.ljust(8),"|"+("\n|"+o*10+"|")*5+"\n|",o*6+x.ljust(3)+"|\n\\"+v+"/"

ব্যাখ্যা

আমরা ব্যবহার করে ক্রম অনুসারে সমস্ত র‌্যাঙ্কের একটি তালিকা তৈরি করি map(str,range(2,11)। তারপরে আমরা প্রতিটি পদক্ষেপের মধ্য দিয়ে লুপ করে একটি কার্ড তৈরি করি।

print o+"_"*10+"\n/",o*9+"\\\n|",x.ljust(8),"|"+("\n|"+o*10+"|")*5+"\n|",o*6+x.ljust(3)+"|\n\\"+"_"*10+"/"

আমরা কার্ডের শীর্ষটি তৈরি করি:

o+v+"\n"

তারপরে র‌্যাঙ্কটি বাম দিকে যায়:

"/",o*9+"\\\n|",x.ljust(8),"|"

আমরা ব্যবহার করি .ljustকারণ 10দুটি দীর্ঘ এবং অন্য সমস্তগুলি এক প্রশস্ত।

তারপরে আমরা মাঝখানে 5 টি সারি মুদ্রণ করব:

"|"+("\n|"+o*10+"|")*5+"\n|"

এবং নীচে অবস্থান:

"\n|",o*6+x.ljust(3)+"|\n"

শেষ পর্যন্ত আমরা কার্ডের নীচে মুদ্রণ করব:

"\\"+v+"/"

2
পবিত্র মলি যা দ্রুত ছিল
জ্যাকসোনাক

আপনার বাইট গণনা বন্ধ বলে মনে হচ্ছে (আমি গণনা 155)। তবে, আপনি যদি কোনও পরিবর্তনশীল করেন v="_"*10এবং সেই দৃষ্টান্তগুলি প্রতিস্থাপন করেন তবে আপনি অন্য একটি বাইট সংরক্ষণ করতে পারবেন!
কেড

5

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

f=
_=>`2345678910JQKA`.replace(/.0?/g,s=>` __________
/          \\
| `+(s+=`   `+s).slice(0,4)+`     |
|     `.repeat(6)+s.slice(-4)+` |
\\__________/
`)
;
document.write('<pre>'+f());


@ এমিগনা ধন্যবাদ, আমি আমার অন্য উত্তরে এটি ভুলে গেছি।
নিল

4

পার্ল, 128 117 111 বাইট

map{printf$"."_"x10 ."
/".$"x10 .'\
| %-9s|
'.("|".$"x10 ."|
")x5 ."|%9s |
\\"."_"x10 ."/
",$_,$_}2..10,J,Q,K,A

6 টি আক্ষরিক নিউলাইনগুলি প্রতি 1 টি বাইট সংরক্ষণ করে। ব্যাকস্ল্যাশ থেকে বাঁচতে না পেরে 1 বাইট সংরক্ষণ করার জন্য 2 এবং 4 লাইনের একক উদ্ধৃতিগুলির কারণে এটি সরাসরি কমান্ড লাইন থেকে চালানো যায় না।

সম্পাদনা: আমি শুরুতে এসকে রেখেছিলাম, তবে এটি শেষের দিকে থাকার কথা। এটি বাইট গণনা পরিবর্তন করে না।

সম্পাদনা 2: -11 বাইট: কিছু অপ্রয়োজনীয় বিবৃতি থেকে মুক্তি পেয়ে আরেকটি আক্ষরিক নতুন লাইন যুক্ত করেছেন। সবকিছুই এখন একক প্রিন্টফের মাধ্যমে আউটপুট হয়।

@ টন হসপেলকে 3: -5 বাইট সম্পাদনা করুন। তবে কোনও কারণে, কর্মক্ষেত্রে তুলনা করার সময় আমি বাড়িতে 112 এর পরিবর্তে 111 বাইট পাচ্ছি, তাই আমি আমার বাড়ির কম্পিউটারটি আমাকে দিচ্ছে বাইট গণনাটি নিয়ে চলেছি।


আপনাকে এমন আক্ষরিক উদ্ধৃতি দিতে হবে না যা বৈধ প্রতীক নাম, তাই _ x10পরিবর্তে "_"x10। এছাড়াও qwপ্রায় দরকারী না। গল্ফ মধ্যে J,Q,K,Aপরিবর্তে অচিহ্নিত ব্যবহার করুন (এমনকি বাইরে ()
রেখেও

আমি যখন আন্ডারস্কোরের আশেপাশের উদ্ধৃতিগুলি সরিয়ে ফেলব তখন আমি একজন দোভাষীকে ত্রুটি পেয়েছি: Can't locate object method "_" via package "x10" (perhaps you forgot to load "x10"?) at shuffle.pl line 1. কেন তা নিশ্চিত নয় তবে আমি দোভাষীর সাথে লড়াই করব না :(
গ্যাব্রিয়েল বেনামি

1
আরও কিছুটা গল্ফ হয়েছে ( \nরিয়েল নিউলাইন দ্বারা প্রতিস্থাপন ):printf' %2$s\n/%3$10s\\n| %-9s|\n'.'|%3$10s|\n'x5 .'|%1$9s |\n\%s/\n',$_,"_"x10for 2..10,J,Q,K,A
টন হসপেল

4

পিএইচপি, 233 বাইট

foreach([2,3,4,5,6,7,8,9,10,J,Q,K,A]as$k){for($c="",$i=0;$i<10;$i++)$c.=str_pad($i?$i>1&$i<9?"|":($i<2?"/":"\\"):" ",11,$i%9?" ":_).($i?$i>1&$i<9?"|":($i<2?"\\":"/"):" ")."\n";$c[113]=$c[28]=$k;$k>9&&$c[29]=$c[113]=0&$c[112]=1;echo$c;}

1
কয়েকটা বাইট সংরক্ষণ ifকরতে আপনার শেষটি প্রতিস্থাপন করা যেতে পারে $k>9&&$c[29]=$c[113]=0&$c[112]=1;। এছাড়াও, নোটপ্যাড ++ বলছে আপনার কোডটি আসলে 241 বাইট দীর্ঘ। আমি জানি এই বাইটগুলির মধ্যে 1 টি নিউলাইন থেকে। তবে অন্যটি আমার কাছে একটি মিস্ট্রি।
মিগুয়েল

3

///, 182 180 বাইট

/+/_____//*/# |
&//&/@@@@@|# //%/ |
\\\\++\\\/
//$/ ++
\\\/!\\\\
| //#/       //!/#   //@/|!|
/$2*2%$3*3%$4*4%$5*5%$6*6%$7*7%$8*8%$9*9%$10#|
@@@@@|#10 |
\\++\/
$J*J%$K*K%$Q*Q%$A*A%

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

-২ বাইটস এম-ক্রজান ধন্যবাদ


আপনি +কেবলমাত্র 5 _এস এর বিকল্প রেখে দুটি বাইট সংরক্ষণ করতে পারেন , এবং এখন +যেখানে আপনার সিঙ্গল রয়েছে সেখানে দুটি রয়েছে +
এম-ক্রিজান

3

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

u='_'*10
for c in[*range(2,11),*'JQKA']:print(' %s\n/%%11s\n'%u%'\\'+'| %-6s%2s |\n'*7%(c,*' '*12,c)+'\%s/'%u)

ছাপে

  • শীর্ষ দুটি লাইন ' %s\n/%%11s\n'%u%'\\'যেখানে uআছে'_'*10
  • মাঝের 7 টি লাইন '| %-2s %2s |\n', যার প্রত্যেকটিতে দুটি স্ট্রিং বিন্যাস স্লট রয়েছে। প্রথম এবং শেষটি কার্ডের মান দিয়ে ভরাট হবে এবং বাকী অংশগুলি কোনও প্রভাব ছাড়াই s
  • নীচের লাইনটি '\% s /'% u

পাইথন 3.5 এর নতুন আনপ্যাকিং বৈশিষ্ট্য দুটি জায়গায় ব্যবহৃত হয়। লেবেলগুলির [*range(2,11),*'JQKA']তালিকা একটি তালিকাতে নম্বর এবং অক্ষরগুলি প্যাক করে। এবং, টিপল (c,*' '*12,c)বারোটি এন্ট্রিগুলিকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফেলে।


2

স্কালা, 161 বাইট

val a=" "*7
val u="_"*10
((2 to 10)++"JQKA")map(_+"")map{x=>val p=" "*(2-x.size)
s" $u \n/$a   \\\n| $x$p$a|\n" + s"|$a   |\n" * 5 + s"|$a$p$x |\n\\$u/\n"}

2

ব্যাচ, 236 বাইট

@echo off
for %%v in (2 3 4 5 6 7 8 9 10 J Q K A)do call:v %%v
exit/b
:v
set s=%1       %1
echo  __________
echo /          \
echo ^| %s:~0,8% ^|
for /l %%l in (1,1,5)do echo ^|          ^|
echo ^| %s:~-8% ^|
echo \__________/

আমি এটি তিনটি ভিন্ন উপায়ে গল্ফ করার চেষ্টা করেছি তবে প্রতিবার একই বাইট গণনা দিয়ে শেষ করেছি ...


2

05AB1E , 71 70 68 66 65 64 বাইট

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

TL¦"JQKA"S«vð'_TשððT×…/ÿ\9yg-ð×y"| ÿÿ|"ÂðT×…|ÿ|5×sT‡®…\ÿ/JTä»,

সামান্য পরিবর্তিত লিঙ্ক হিসাবে ÿটিআইও এটিএম এ কাজ করে না বলে ।

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

ব্যাখ্যা

TL¦"JQKA"S« তালিকা ঠেলাঠেলি করে [2,3,4,5,6,7,8,9,10,J,Q,K,A]

তারপরে আমরা প্রতিটি কার্ডের মান দিয়ে লুপ করব v

ð'_Tשðকনস্ট্রাক্টস " __________ "
ðT×…/ÿ\কনস্ট্রাক্টস "/ \"
9yg-ð×y"| ÿÿ|"Âকার্ডের মান সহ 2 টি সারি তৈরি করে (দ্বিতীয় সারিটি প্রথম বিপরীত হয়)
ðT×…|ÿ|5× ফর্মের 5 টি সারি তৈরি করে"| |"

তারপর আমরা

s     # move the 2nd card value row after the 5 "middle rows"
 T‡  # and replace 1 with 0 and vice versa

®…\ÿ/ নীচের সারিটি তৈরি করে

J       # join everything into 1 string
 Tä     # split into 10 parts
   »,   # merge by newline and print with newline

2

ভি , 87 বাইট

i ±_ 
/± \Ypr|$.Y6P3|r2Lhhr2o\±_/
H8ñy}GP2j6j? _ñ2j$X6jxG"04p/9
rJn.nrQn,nrKn.nrAn.

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

যেহেতু এটিতে কিছু অপ্রিন্টেবল রয়েছে, তাই এখানে একটি হ্যাক্সডাম্প রয়েছে:

0000000: 6920 b15f 200a 2fb1 205c 1b59 7072 7c24  i ._ ./. \.Ypr|$
0000010: 2e59 3650 337c 7232 4c68 6872 326f 5cb1  .Y6P3|r2Lhhr2o\.
0000020: 5f2f 0a1b 4838 f179 7d47 5032 6a01 366a  _/..H8.y}GP2j.6j
0000030: 013f 205f f132 6a24 5836 6a78 4722 3034  .? _.2j$X6jxG"04
0000040: 702f 390a 724a 6e2e 6e72 516e 2c6e 724b  p/9.rJn.nrQn,nrK
0000050: 6e2e 6e72 416e 2e                        n.nrAn.

2

পিএইচপি, 135 131 158 134 বাইট

আশা করি, আমি এটিকে আরও কিছুটা ছোট করার একটি উপায় খুঁজে পাব।

foreach([2,3,4,5,6,7,8,9,10,J,Q,K,A]as$C)printf(" %'_9s
/%12s| %-8s|%s
|%8s |
\\%'_9s/
",_,'\
',$C,str_repeat('
|         |',5),$C,_);

এটি printfএকাধিক অক্ষর পুনরাবৃত্তি এবং সুন্দরভাবে সবকিছু বিন্যাস করার সুবিধা গ্রহণ করে ।


পুরাতন রুপ:

হুবহু সৌন্দর্যের টুকরো নয়, কাজ করে!

$L=__________;$S='        ';foreach([2,3,4,5,6,7,8,9,10,J,Q,K,A]as$C)echo" $L
/  $S\
| $C".($P=substr($S,$C>9))."|
",str_repeat("|  $S|
",5),"|$P$C |
\\$L/
";

একটি বাগ সনাক্ত করার জন্য এবং আমাকে তার কোডের অংশটি ব্যবহার করতে দেওয়ার জন্য জার্গ হ্যালসারম্যানকে ধন্যবাদ , যা এটি 4 বাইট কমিয়েছে ! এবং মারাত্মক ত্রুটি অনুসন্ধানের জন্য।


10 টি দেখতে অদ্ভুত লাগছে। আমি বিশ্বাস করি আপনার অবশ্যই অতিরিক্ত কাজ করা উচিত
Jörg Hülsermann

@ জার্গহালসারম্যান আপনি ঠিক বলেছেন 10Bugged হয়। আমি যদি আপনার অ্যারে ব্যবহার করি তবে ঠিক আছে? [2,3,4,5,6,7,8,9,10,J,Q,K,A]এই বিভাজনের পরিবর্তে ব্যবহার করা আমার 4 বাইট সংরক্ষণ করে। আপনি যদি এটি অনুমোদন না করেন তবে আমি বুঝতে পারি।
ইসমাইল মিগুয়েল

এটি গ্রহণ করা. আপনি পিএইচপি-তে আরও ভাল উপায় তৈরি করেছেন এবং আপনার যা প্রয়োজন তা আমি সমর্থন করি।
জার্গ হালসারম্যান

@ জার্গহেলসারম্যান ধন্যবাদ আমি আপনার উত্তরটি খুঁজছি এবং আমি এমন কিছু জায়গা খুঁজে পাচ্ছি যেখানে কিছু বাইট বন্ধ করে দেওয়া যায়।
ইসমাইল মিগুয়েল

পরিবর্তে $C$S $C".($P=substr($S,$C>9))."10 মান সহ স্পেসগুলি পরিচালনা করার পরিবর্তে $S$Cআপনার প্রয়োজন পরে$P$C
J needrg Hülsermann

1

রুবি, 115 বাইট

মোটামুটি সোজা ব্যবহার printf

([*(?2.."10")]+%w{J Q K A}).map{|e|printf" #{u=?_*10} 
/%11s
| %-9s|
#{(?|+' '*10+"|
")*5}|%9s |
\\#{u}/
",?\\,e,e}

1

র‌্যাকেট 327 বাইট

(let*((ms make-string)(p #\space)(e? equal?)(sa string-append)(f(λ(s)(display(sa" "(ms 10 #\_)" \n""/"(ms 10 p)"\\\n""| "s
(ms(if(e? s"10")7 8)p)"|\n"(apply sa(for/list((i 6))"|          |\n"))"| "(ms(if(e? s"10")6 7)p)s" |\n"
"\\"(ms 10 #\_)"/\n")))))(for((i(range 2 11)))(f(number->string i)))(for((i'("J""Q""K""A")))(f i)))

Ungolfed:

(define (main)
(let* ((ms make-string)
       (e? equal?)
       (sa string-append)
      (f(lambda(s)
  (display
   (sa
    " "
    (ms 10 #\_)
    " \n"
    "/"
    (ms 10 #\space)
    "\\\n"
    "| " s   (ms (if(e? s "10") 7 8) #\space)   "|\n"
    (apply sa (for/list ((i 6)) "|          |\n"))
    "| "  (ms (if(e? s "10") 6 7) #\space)  s " |\n"
    "\\" (ms 10 #\_) "/\n")
   ))))
(for ((i(range 2 11)))
  (f (number->string i)))
(for ((i '("J" "Q" "K" "A")))
  (f i))
))

পরীক্ষামূলক:

(main)

আউটপুট:

 __________ 
/          \
| 2        |
|          |
|          |
|          |
|          |
|          |
|          |
|        2 |
\__________/
 __________ 
/          \
| 3        |
|          |
|          |
|          |
|          |
|          |
|          |
|        3 |
\__________/
 __________ 
/          \
| 4        |
|          |
|          |
|          |
|          |
|          |
|          |
|        4 |
\__________/
 __________ 
/          \
| 5        |
|          |
|          |
|          |
|          |
|          |
|          |
|        5 |
\__________/
 __________ 
/          \
| 6        |
|          |
|          |
|          |
|          |
|          |
|          |
|        6 |
\__________/
 __________ 
/          \
| 7        |
|          |
|          |
|          |
|          |
|          |
|          |
|        7 |
\__________/
 __________ 
/          \
| 8        |
|          |
|          |
|          |
|          |
|          |
|          |
|        8 |
\__________/
 __________ 
/          \
| 9        |
|          |
|          |
|          |
|          |
|          |
|          |
|        9 |
\__________/
 __________ 
/          \
| 10       |
|          |
|          |
|          |
|          |
|          |
|          |
|       10 |
\__________/
 __________ 
/          \
| J        |
|          |
|          |
|          |
|          |
|          |
|          |
|        J |
\__________/
 __________ 
/          \
| Q        |
|          |
|          |
|          |
|          |
|          |
|          |
|        Q |
\__________/
 __________ 
/          \
| K        |
|          |
|          |
|          |
|          |
|          |
|          |
|        K |
\__________/
 __________ 
/          \
| A        |
|          |
|          |
|          |
|          |
|          |
|          |
|        A |
\__________/

1

জাভা 7, 287 বাইট

String c(){String r="",l="__________",c=(" "+l+" \n/s\\\n| z       |\nxxxxxx|       y|\n\\"+l+"/\n").replace("x","|s|\n").replace("s","          ");for(int i=0;i++<13;r+=c.replace("z",i==10?"10":(l=i<2?"A ":i>12?"K ":i>11?"Q ":i>10?"J ":i+" ")).replace("y",i==10?"10 ":" "+l));return r;}

ঠিক আছে, এটি কুরুচিপূর্ণ এবং খুব দক্ষ নয়, তবে এটি কাজ করে .. এটি 10একটি স্পেসের সাথে বিশেষ ক্ষেত্রে যেমন শীর্ষে এবং নীচের অবস্থানে পরে সবার সাথে সত্যই স্ক্রু করে তোলে ..

অবরুদ্ধ এবং পরীক্ষার কোড:

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

class M{
  static String c(){
    String r = "",
           l = "__________",
           c = (" " + l + " \n/s\\\n| z       |\nxxxxxx|       y|\n\\" + l + "/\n")
                 .replace("x", "|s|\n")
                 .replace("s", "          ");
    for(int i = 0; i++ < 13; r += c
        .replace("z", i == 10
                       ? "10"
                       : (l = i < 2
                               ? "A "
                               : i > 12
                                  ? "K "
                                  : i > 11
                                     ? "Q "
                                     : i > 10
                                        ? "J "
                                        : i+" "))
        .replace("y", i == 10
                       ? "10 "
                       : " "+l));
    return r;
  }

  public static void main(String[] a){
    System.out.println(c());
  }
}

আউটপুট:

 __________ 
/          \
| A        |
|          |
|          |
|          |
|          |
|          |
|          |
|        A |
\__________/
 __________ 
/          \
| 2        |
|          |
|          |
|          |
|          |
|          |
|          |
|        2 |
\__________/
 __________ 
/          \
| 3        |
|          |
|          |
|          |
|          |
|          |
|          |
|        3 |
\__________/
 __________ 
/          \
| 4        |
|          |
|          |
|          |
|          |
|          |
|          |
|        4 |
\__________/
 __________ 
/          \
| 5        |
|          |
|          |
|          |
|          |
|          |
|          |
|        5 |
\__________/
 __________ 
/          \
| 6        |
|          |
|          |
|          |
|          |
|          |
|          |
|        6 |
\__________/
 __________ 
/          \
| 7        |
|          |
|          |
|          |
|          |
|          |
|          |
|        7 |
\__________/
 __________ 
/          \
| 8        |
|          |
|          |
|          |
|          |
|          |
|          |
|        8 |
\__________/
 __________ 
/          \
| 9        |
|          |
|          |
|          |
|          |
|          |
|          |
|        9 |
\__________/
 __________ 
/          \
| 10       |
|          |
|          |
|          |
|          |
|          |
|          |
|       10 |
\__________/
 __________ 
/          \
| J        |
|          |
|          |
|          |
|          |
|          |
|          |
|        J |
\__________/
 __________ 
/          \
| Q        |
|          |
|          |
|          |
|          |
|          |
|          |
|        Q |
\__________/
 __________ 
/          \
| K        |
|          |
|          |
|          |
|          |
|          |
|          |
|        K |
\__________/

1

আর, 175 বাইট

for(x in c(2:10,"J","Q","K","A")){r=c("|"," ",x,rep(" ",9-nchar(x)),"|");cat(" __________ \n/          \\\n",r,"\n",rep("|          |\n",5),rev(r),"\n\\__________/\n",sep="")}

অসি-আর্ট চ্যালেঞ্জের জন্য এবার আরে মোটামুটি প্রতিযোগিতামূলক উত্তর এবং অবশ্যই গল্ফযোগ্য।

এটি আর-ফিডেলে চেষ্টা করুন

অবহেলিত এবং ব্যাখ্যা

for(x in c(2:10,"J","Q","K","A")){          # For each card in vector 1,...,10,J,Q,K,A
    r=c("|"," ",x,rep(" ",9-nchar(x)),"|")  # Create variable for 3rd row called "r".
    ;cat(" __________ \n/          \\\n",   # Print: hardcoded top two rows,
    r,"\n",                                 # 3rd row,
    rep("|          |\n",5),                # Repeat middle section 5 times,
    rev(r),                                 # Reversed 3rd row,
    "\n\\__________/\n",                    # Hardcoded bottom row
    sep="")                                 # Set separator to empty string
}

বেশ কয়েকটি আকর্ষণীয় দিক যেখানে কয়েকটি বাইট সংরক্ষণ করা হয় তা হ'ল তৃতীয় সারির অ্যাসাইনমেন্ট:

r=c("|"," ",x,rep(" ",9-nchar(x)),"|")

কারণ 8কার্ডের মান এবং চূড়ান্ত বর্ণনাকারী চরিত্রের মধ্যে মোট ফাঁক আছে |for10 আমরা ) পুনরাবৃত্তি করতে পারি তার9 স্পেসগুলি এবং বর্তমানে মুদ্রিত কার্ডে অক্ষরের সংখ্যা বিয়োগ ।

প্রতিটি অক্ষরকে 3rdস্ট্রিং ভেক্টরে তার নিজস্ব উপাদান হিসাবে সংরক্ষণ করে rআমরা ভেক্টরটিকে বিপরীত করতে পারি এবং 9thসারিটির জন্য এটি পুনরায় ব্যবহার করতে পারি ।


1

সি #, 385 বাইট

আমার প্রথম ASCII আর্ট চ্যালেঞ্জ - এটি মজাদার ছিল!

Golfed:

string D(){var d=new string[15];for(int i=2;i<15;i++){var a=i>10?new Dictionary<int,string>(){{ 11,"J"},{12,"Q"},{13,"K"},{14,"A"},}[i]:i+"";var r="|          |";d[i]=string.Join("\n",new string[]{" __________",@"/          \",a.Length>1?"| "+a+"       |":"| "+a+"        |",r,r,r,r,r,a.Length>1?"|       " + a +" |" : "|        "+a+" |",@"\__________/"});}return string.Join("\n",d);}

Ungolfed:

public string D()
{
  var d = new string[15];

  for (int i = 2; i < 15; i++)
  {
    var a = i > 10 ? new Dictionary<int, string>() {
    { 11, "J" },
    { 12, "Q" },
    { 13, "K" },
    { 14, "A" },
    }[i] 
      : i+"";

    var r = "|          |";

    d[i] = string.Join("\n", new string[] {
      " __________",
      @"/          \",
      a.Length > 1 ? "| " + a + "       |" : "| " + a + "        |",
      r,
      r,
      r,
      r,
      r,
      a.Length > 1 ? "|       " + a +" |" : "|        " + a +" |",
      @"\__________/"});
  }

  return string.Join("\n", d);
}

1

আসলে , 91 বাইট

"JQKA"#9⌐2x+`;k' ;'_9u*@++'\' 9u*'/++"| {:<9}|"5'|;' 9u*@++n"|{:>9} |"'/'_9u*'\++kp@'
jf`Mi

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

ব্যাখ্যা

পর্ব 1: মুখের মানগুলির তালিকা নির্ধারণ:

"JQKA"#9⌐2x+`PART 2 CODE`Mi
       9⌐2x                  range(2,11) ([2, 10])
"JQKA"#    +                 extend with ["J", "Q", "K", "A"]
            `PART 2 CODE`M   do Part 2 for each item in list
                          i  flatten resulting list and implicitly print

পার্ট 2: কার্ডগুলি তৈরি করা ( \nপঠনযোগ্যতার জন্য নতুন লাইনে প্রতিস্থাপন করা হয়েছে):

;k' ;'_9u*@++'\' 9u*'/++"| {:<9}|"5'|;' 9u*@++n"|{:>9} |"'/'_9u*'\++kp@'\njf
;k                                                                            duplicate the face value, push both copies to a list
  ' ;'_9u*@++                                                                 construct the top line
             '\' 9u*'/++                                                      construct the second line
                        "| {:<9}|"                                            create a format string to place the value in a left-aligned 9-width field in the top left of the card, one space away from the edge
                                  5'|;' 9u*@++n                               create 5 copies of the blank middle section
                                               "|{:>9} |"                     like before, but right-align the face value
                                                         '/'_9u*'/++          construct the bottom of the card
                                                                    kp@'\nj   push entire stack to a list, pop the list containing the face values out of that list, and join the rest (the card strings) with newlines
                                                                           f  format the card with the face values
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.