ASCII বাজানো কার্ড অঙ্কন করুন


19

এই 15 টি ASCII প্লে কার্ডের নিদর্শনগুলি বিবেচনা করুন (জোকারের মাধ্যমে এস এবং পিছনের দিকে), যেখানে স্যুট চিহ্নের Xজন্য স্থানধারক রয়েছে : (তারা কম লাইনের ব্যবধানের সাথে আরও ভাল দেখায়)

 -------------   -------------   -------------   -------------   -------------   -------------   -------------   -------------   -------------   -------------   -------------   -------------   -------------   -------------   ------------- 
|AX           | |2X           | |3X           | |4X           | |5X           | |6X           | |7X           | |8X           | |9X           | |10X          | |JX           | |QX           | |KX           | |J            | |* * * * * * *|
|   -------   | |   -------   | |   -------   | |   -------   | |   -------   | |   -------   | |   -------   | |   -------   | |   -------   | |   -------   | |   -------   | |   -------   | |   -------   | |O  -------   | | * * * * * * |
|  |       |  | |  |       |  | |  |       |  | |  |X     X|  | |  |X     X|  | |  |X     X|  | |  |X     X|  | |  |X     X|  | |  |X     X|  | |  |X     X|  | |  |X      |  | |  |X      |  | |  |X      |  | |K |       |  | |* * * * * * *|
|  |       |  | |  |   X   |  | |  |   X   |  | |  |       |  | |  |       |  | |  |       |  | |  |   X   |  | |  |   X   |  | |  |       |  | |  |   X   |  | |  |       |  | |  |       |  | |  |       |  | |E | J     |  | | * * * * * * |
|  |       |  | |  |       |  | |  |       |  | |  |       |  | |  |       |  | |  |       |  | |  |       |  | |  |       |  | |  |X     X|  | |  |X     X|  | |  |       |  | |  |       |  | |  |       |  | |R |  O    |  | |* * * * * * *|
|  |   X   |  | |  |       |  | |  |   X   |  | |  |       |  | |  |   X   |  | |  |X     X|  | |  |X     X|  | |  |X     X|  | |  |   X   |  | |  |       |  | |  |   J   |  | |  |   Q   |  | |  |   K   |  | |  |   K   |  | | * * * * * * |
|  |       |  | |  |       |  | |  |       |  | |  |       |  | |  |       |  | |  |       |  | |  |       |  | |  |       |  | |  |X     X|  | |  |X     X|  | |  |       |  | |  |       |  | |  |       |  | |  |    E  | J| |* * * * * * *|
|  |       |  | |  |   X   |  | |  |   X   |  | |  |       |  | |  |       |  | |  |       |  | |  |       |  | |  |   X   |  | |  |       |  | |  |   X   |  | |  |       |  | |  |       |  | |  |       |  | |  |     R | O| | * * * * * * |
|  |       |  | |  |       |  | |  |       |  | |  |X     X|  | |  |X     X|  | |  |X     X|  | |  |X     X|  | |  |X     X|  | |  |X     X|  | |  |X     X|  | |  |      X|  | |  |      X|  | |  |      X|  | |  |       | K| |* * * * * * *|
|   -------   | |   -------   | |   -------   | |   -------   | |   -------   | |   -------   | |   -------   | |   -------   | |   -------   | |   -------   | |   -------   | |   -------   | |   -------   | |   -------  E| | * * * * * * |
|           XA| |           X2| |           X3| |           X4| |           X5| |           X6| |           X7| |           X8| |           X9| |          X10| |           XJ| |           XQ| |           XK| |            R| |* * * * * * *|
 -------------   -------------   -------------   -------------   -------------   -------------   -------------   -------------   -------------   -------------   -------------   -------------   -------------   -------------   ------------- 

এমন একটি প্রোগ্রাম লিখুন যা কোনও স্ট্রিংয়ের সাথে সাথে কার্ডের পৃথক পৃথক ক্রমকে চিহ্নিত করে ...

  • A 2 3 4 5 6 7 8 9 10 J Q KC D H S৫২ টি স্ট্যান্ডার্ড কার্ডের জন্য (ক্লাব, হীরা, হৃদয় এবং কোদালগুলির জন্য) একটির পরে ।
  • Rজোকারের জন্য একক
  • Bপিছনের দিকের জন্য একটি একক (একটি মুখ ডাউন কার্ড)।

সুতরাং স্ট্রিংটি B AS KH 10C R JDফেস ডাউন কার্ডকে বোঝায়, তারপরে কোদালগুলি টেক্কা দেয়, তার পরে হৃদয়ের এক রাজা, দশটি ক্লাব পরে, জোকারের পরে, হীরার জ্যাক পরে।

আপনার প্রোগ্রামটিকে Xউপযুক্ত স্যুট প্রতীকের পরিবর্তে স্ট্যান্ডআউটে সংশ্লিষ্ট ASCII প্লে কার্ডগুলি মুদ্রণ করা দরকার ।

উদাহরণস্বরূপ, আউটপুট B AS KH 10C R JDহবে

 -------------   -------------   -------------   -------------   -------------   ------------- 
|* * * * * * *| |AS           | |KH           | |10C          | |J            | |JD           |
| * * * * * * | |   -------   | |   -------   | |   -------   | |O  -------   | |   -------   |
|* * * * * * *| |  |       |  | |  |H      |  | |  |C     C|  | |K |       |  | |  |D      |  |
| * * * * * * | |  |       |  | |  |       |  | |  |   C   |  | |E | J     |  | |  |       |  |
|* * * * * * *| |  |       |  | |  |       |  | |  |C     C|  | |R |  O    |  | |  |       |  |
| * * * * * * | |  |   S   |  | |  |   K   |  | |  |       |  | |  |   K   |  | |  |   J   |  |
|* * * * * * *| |  |       |  | |  |       |  | |  |C     C|  | |  |    E  | J| |  |       |  |
| * * * * * * | |  |       |  | |  |       |  | |  |   C   |  | |  |     R | O| |  |       |  |
|* * * * * * *| |  |       |  | |  |      H|  | |  |C     C|  | |  |       | K| |  |      D|  |
| * * * * * * | |   -------   | |   -------   | |   -------   | |   -------  E| |   -------   |
|* * * * * * *| |           SA| |           HK| |          C10| |            R| |           DJ|
 -------------   -------------   -------------   -------------   -------------   ------------- 

আপনি স্টিডিনের কাছ থেকে ইনপুট নিতে পারেন বা কোনও স্ট্রিং লাগে এমন একটি ফাংশন লিখতে পারেন।

সংক্ষিপ্ত সংখ্যক অক্ষরের সাথে জমা দেওয়া জেতা।

বোনাস: আপনি যদি নিজের আউটপুটের পরিবর্তে কালো ইউনিকোড স্যুট চিহ্ন ব্যবহার করেন তবে আপনার অক্ষর গণনা থেকে 30 বিয়োগ করুন । (ইনপুট সর্বদা ব্যবহার করে ))♣ ♦ ♥ ♠C D H SC D H S

মন্তব্য

  • ইনপুট স্ট্রিংয়ে 54 টিরও বেশি কার্ড থাকতে পারে এবং কোনও কার্ডের নকলও থাকতে পারে।
  • ইনপুটটি খালি স্ট্রিং হলে কোনও আউটপুট থাকা উচিত নয়।
  • শেষ কার্ডটির ডান কোণগুলি তৈরি করে এমন দুটি (optionচ্ছিকভাবে) ছাড়া আর কোনও পিছনের স্থান থাকা উচিত নয়।
  • আপনি ইনপুটটি বৈধ বলে ধরে নিতে পারেন।
  • আপডেট: মান কার্ডের নীচে ডান লেবেলটি বিপরীত হয়েছে তাই মানটি কোণে। নীচের ডান জোকার লেবেল পরিবর্তন হয়নি।

1
আমরা কি ইনপুট স্ট্রিংটি বৈধ বলে ধরে নিতে পারি?
মাইকেল এম

1
@ ভিজুয়ালমেলন আমি চেষ্টা করেছিলাম তবে এটি মজাদার দেখাচ্ছে। এটা সোজা থাকবে।
ক্যালভিনের

3
@ অপ্টিমাইজার আমি এটি করব যে যদি আমার প্রয়োজনের জন্য নির্ধারিত উর্ধ্বতন চরিত্রগুলি উপস্থিত থাকে তবে আমি মনে করি না যে সেখানে আছে এবং আমি এটি সবই অবিচ্ছিন্নভাবে চাই না।
ক্যালভিনের

2
@ ভিজুয়ালমেলন আমি জানি যে বাস্তবিক দিক থেকে অর্ধেক লেবেল উল্টো হবে, তবে যেহেতু উল্টোপালিত অক্ষর নেই কারণ আমি সেই সত্যটিকে উপেক্ষা করছি (এ ছাড়া আমি কোণার মানগুলি চেয়েছিলাম)।
ক্যালভিনের

1
আপনি যদি চিহ্নগুলি সঠিকভাবে ইউনিকোড করার জন্য কেবলমাত্র 10 টি পয়েন্ট বিয়োগ করতে যাচ্ছেন তবে এটি কখনই মূল্যবান হবে না কারণ এগুলি লেখার জন্য আপনার চেয়ে আরও বেশি প্রয়োজন (প্রতীক প্রতি 6 টি অক্ষর, সামগ্রিকভাবে 24)। এমনকি যদি আপনি একটি ইউনিকোড-অনুবর্তী ভাষা পেয়ে থাকেন তবে বর্ণানুক্রমিক অনুসারে ইউনিকোড চিহ্নগুলি আপনার ইনপুট থেকে বিপরীত ক্রমে থাকে। আমি মনে করি কেবল সিজেএএম, এপিএল বা গল্ফস্ক্রিপ্টের মতো কিছু এটি করতে সক্ষম হবে।
Nzall

উত্তর:


9

জাভাস্ক্রিপ্ট (E6) 542 (572 - বোনাস 30) 553 564 576

আকার 3 ধরণের:

  1. পিছনে এবং জোকার: কমবেশি আক্ষরিক
  2. জেউকিউ: শীর্ষে এবং ডানদিকের নীচে চিহ্ন, অভ্যন্তরীণ ফ্রেম এবং ভিতরে 3 ধরণের সারি, সর্বদা একই কাঠামো
  3. এ ... 10: শীর্ষে এবং ডানদিকের নীচে চিহ্নিত করুন, ভিতরে 3 ধরণের সারি সহ অভ্যন্তরীণ ফ্রেম, সংখ্যার মান সহ ভেরিয়েবল। অ্যারে এবং কি ভেরিয়েবল ব্যবহার করে লুকিংয়ের সাথে যত্ন নেওয়া

zস্ট্রিং (সংকুচিত) জন্য মৌলিক বিল্ডিং ব্লক ধারণ করে

  • সংখ্যাযুক্ত কার্ড - 3 টি ব্লক, 7 টি অক্ষর rs
  • জোকার - ১১ টি ব্লক, প্রতিটি ১৩ টি চর, ক্রমে কেবল ক্রম হিসাবে ব্যবহৃত হয়

বোনাস নোট 30 পয়েন্ট বোনাস জয়ের কোড 29 অক্ষর

F=c=>(
  p='|',b=' ',d=b+b,t=d+b,
  S='substr',
  z="9J2J4J55O102K |6|1E | J4|1R |1O3|3|2K2|3|3E1| J1|4R | O1|6| K201E55R".replace(/\d/g,n=>n++?b.repeat(n):l='-------'),
  i=7,
  console.log([c.split(b).map(c=>
    m<d
      ?b+l+l[S](1)+b 
      :p+(c=='B'
        ?'* '.repeat(i)[S](i,13)
        :c=='R'
          ?z[S](i,13)
          :(
             [,h,k]=c.match(/(.+)(.)/),
             k='♣♦♥♠'['CDHS'.search(k)], //comment to avoid the unicode symbols 
             n=h-1|0,
             s=t+t+t+(n>8?b:d),
             m-7
              ?m-8
                ?m-9
                  ?d+p+(h>'A'
                     ?-m?m-6?m-3?t+b+t:t+h+t:t+t+k:k+t+t
                     :z[S](([64,1028,1092,8194,8258,8322,8326,9350,8802,9766][n]>>m*2&3)*7,7).replace(/J/g,k)
                   )+p+d
                  :t+l+t
                :s+k+h
              :h+k+s
            )
       )+p
    ).join(b,i+=13)
  for(m of ' 79012345698 ')].join('\n'))
)

টেস্ট ফায়ারফক্স / ফায়ারবাগ কনসোলটি

F('10C JD QH KS AC B R')

F('2C 3D 4H 5S 6C 7D 8H 9S')

আউটপুট

 -------------   -------------   -------------   -------------   -------------   -------------   ------------- 
|10♣          | |J♦           | |Q♥           | |K♠           | |A♣           | |* * * * * * *| |J            |
|   -------   | |   -------   | |   -------   | |   -------   | |   -------   | | * * * * * * | |O  -------   |
|  |♣     ♣|  | |  |♦      |  | |  |♥      |  | |  |♠      |  | |  |       |  | |* * * * * * *| |K |       |  |
|  |   ♣   |  | |  |       |  | |  |       |  | |  |       |  | |  |       |  | | * * * * * * | |E | J     |  |
|  |♣     ♣|  | |  |       |  | |  |       |  | |  |       |  | |  |       |  | |* * * * * * *| |R |  O    |  |
|  |       |  | |  |   J   |  | |  |   Q   |  | |  |   K   |  | |  |   ♣   |  | | * * * * * * | |  |   K   |  |
|  |♣     ♣|  | |  |       |  | |  |       |  | |  |       |  | |  |       |  | |* * * * * * *| |  |    E  | J|
|  |   ♣   |  | |  |       |  | |  |       |  | |  |       |  | |  |       |  | | * * * * * * | |  |     R | O|
|  |♣     ♣|  | |  |      ♦|  | |  |      ♥|  | |  |      ♠|  | |  |       |  | |* * * * * * *| |  |       | K|
|   -------   | |   -------   | |   -------   | |   -------   | |   -------   | | * * * * * * | |   -------  E|
|          ♣10| |           ♦J| |           ♥Q| |           ♠K| |           ♣A| |* * * * * * *| |            R|
 -------------   -------------   -------------   -------------   -------------   -------------   ------------- 

 -------------   -------------   -------------   -------------   -------------   -------------   -------------   ------------- 
|2♣           | |3♦           | |4♥           | |5♠           | |6♣           | |7♦           | |8♥           | |9♠           |
|   -------   | |   -------   | |   -------   | |   -------   | |   -------   | |   -------   | |   -------   | |   -------   |
|  |       |  | |  |       |  | |  |♥     ♥|  | |  |♠     ♠|  | |  |♣     ♣|  | |  |♦     ♦|  | |  |♥     ♥|  | |  |♠     ♠|  |
|  |   ♣   |  | |  |   ♦   |  | |  |       |  | |  |       |  | |  |       |  | |  |   ♦   |  | |  |   ♥   |  | |  |       |  |
|  |       |  | |  |       |  | |  |       |  | |  |       |  | |  |       |  | |  |       |  | |  |       |  | |  |♠     ♠|  |
|  |       |  | |  |   ♦   |  | |  |       |  | |  |   ♠   |  | |  |♣     ♣|  | |  |♦     ♦|  | |  |♥     ♥|  | |  |   ♠   |  |
|  |       |  | |  |       |  | |  |       |  | |  |       |  | |  |       |  | |  |       |  | |  |       |  | |  |♠     ♠|  |
|  |   ♣   |  | |  |   ♦   |  | |  |       |  | |  |       |  | |  |       |  | |  |       |  | |  |   ♥   |  | |  |       |  |
|  |       |  | |  |       |  | |  |♥     ♥|  | |  |♠     ♠|  | |  |♣     ♣|  | |  |♦     ♦|  | |  |♥     ♥|  | |  |♠     ♠|  |
|   -------   | |   -------   | |   -------   | |   -------   | |   -------   | |   -------   | |   -------   | |   -------   |
|           ♣2| |           ♦3| |           ♥4| |           ♠5| |           ♣6| |           ♦7| |           ♥8| |           ♠9|
 -------------   -------------   -------------   -------------   -------------   -------------   -------------   ------------- 

গল্ফ কোড নয়

F=c=>
{
  p='|',b=' ',d=b+b,t=d+b;
  l='------';
  z="9X2X4XJ55O10-2K |6|1E | J4|1R |1O3|3|2K2|3|3E1| J1|4R | O1|6| K20-1E55R".replace(/\d/g,n=>-n?b.repeat(-~n):l);
  c=c.split(b);
  for(o=i=''; c[0]&&i<13; i++)
  {
    o+=c.map(c => {
      if (i==0 || i==12) r=' -'+l+l+b;
      else
      {
        if (c=='B') r=' *'.repeat(7).substr(i&1,13);
        else if (c=='R') r=z.substr(i*13+8,13);
        else {
          [,h,k]=c.match(/(.+)(.)/),n=h-1|0,
          k='♣♦♥♠'[{C:0,D:1,H:2,S:3}[k]],
          r=t+t+t+(n>8?b:d);
          if(i==1)r=h+k+r;
          else if(i==11)r+=k+h;
          else if(i==2||i==10)r=t+'-'+l+t;
          else {
            if (h>'A')
            {
              if(i==3)r=k+t+t;
              else if(i==9)r=t+t+k;
              else if(i==6)r=t+h+t;
              else r=t+b+t
            }
            else 
            { 
              q=[64,1028,1092,8194,8258,8322,8326,9350,8802,9766][n]>>(i+i-6)&3,
              r=z.substr(q*7,7).replace(/X/g,k)
            }
            r=d+p+r+p+d
          }
        }
        r=p+r+p
      }
      return r
    }).join(' ')+'\n'
  }  
  console.log(o);
}

আমি মনে করি আপনি হৃদয় এবং হীরা বদলেছেন (আপনার উদাহরণে যাইহোক চালান, আমি আপনার কোডটিতে ত্রুটিটি খুঁজে পাইনি)।
FryAmTheEggman

@ ফ্রাইআম দ্য এজম্যান ধন্যবাদ, গল্ফড কোড এবং উদাহরণগুলিতে সংশোধন করা হয়েছে
edc65

দুর্দান্ত কোড! আপনি এই সরঞ্জামটির সাহায্যে আপনার চরিত্র গণনা হ্রাস করতে পারবেন: xem.github.io/obfuscatweet (এটি কেবল ASCII স্বীকার করে, তাই আপনাকে প্যাকিংয়ের আগে ইউনিকোড অক্ষরগুলি এড়িয়ে যেতে হবে)
xem

(আপনার চূড়ান্ত ফলাফলটি তখন প্রায় 328 এর কাছাকাছি হবে!)
xem

@ এক্সেম চরের গণনা কম (337) তবে বাইট গণনাটি বেশি (1213) মোটেরেফ.ইন / বাইট- কাউন্টারে । নির্দিষ্ট না হওয়া পর্যন্ত আপনাকে কোড গল্ফের বাইটগুলি গণনা করতে হবে।
edc65

4

সি # - 906

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

গল্ফ কোড:

class P{static void Main(string[]A){int O,i=0,L,n;for(;i<13;i++){var k="";foreach(var a in A){var R=new char[208];System.Action<int,int,string,int>P=(s,l,g,w)=>{for(O=0;O<l;s+=O%w<1?17-w:1)R[s]=g[O++%g.Length];};P(0,208," ",16);P(1,13,"-",13);P(193,13,"-",13);P(16,11,"|",1);P(30,11,"|",1);if(a=="B")P(17,143,"* ",13);else{P(36,7,"-",7);P(164,7,"-",7);P(51,7,"|",1);P(59,7,"|",1);if(a=="R"){P(17,5,"JOKER",1);P(125,5,"JOKER",1);P(69,25,"J     O     K     E     R",5);}else{L=a.Length;var S=a.Substring(L-1);var v=a.Substring(0,L-1);P(17,L,a,L);P(190-L,L,S+v,L);if(int.TryParse(v,out n)){var f=new string[]{S="HEHI",S+"HG",S="EDKDEJKJ",S+"HG",v=S+"EGKG",v+="HE",v+"HI",(S+="EFEHKFKH")+"HG",S+"HEHI",}[n-2];for(O=0;O<f.Length;)R[f[O++]+f[O++]*16-1105]=a[L-1];}else{if(v=="A"){P(103,1,S,1);}else{P(52,1,S,1);P(154,1,S,1);P(103,1,v,1);}}}}for(O=0;O<16;)k+=R[i*16+O++];}System.Console.WriteLine(k.TrimEnd());}}}

উদাহরণস্বরূপ আউটপুট cardGolf.exe 7H QH 3S B R

 -------------   -------------   -------------   -------------   -------------
|7H           | |QH           | |3S           | |* * * * * * *| |J            |
|   -------   | |   -------   | |   -------   | | * * * * * * | |O  -------   |
|  |H     H|  | |  |H      |  | |  |       |  | |* * * * * * *| |K |       |  |
|  |   H   |  | |  |       |  | |  |   S   |  | | * * * * * * | |E | J     |  |
|  |       |  | |  |       |  | |  |       |  | |* * * * * * *| |R |  O    |  |
|  |H     H|  | |  |   Q   |  | |  |   S   |  | | * * * * * * | |  |   K   |  |
|  |       |  | |  |       |  | |  |       |  | |* * * * * * *| |  |    E  | J|
|  |       |  | |  |       |  | |  |   S   |  | | * * * * * * | |  |     R | O|
|  |H     H|  | |  |      H|  | |  |       |  | |* * * * * * *| |  |       | K|
|   -------   | |   -------   | |   -------   | | * * * * * * | |   -------  E|
|           H7| |           HQ| |           S3| |* * * * * * *| |            R|
 -------------   -------------   -------------   -------------   -------------

বেশিরভাগ রেন্ডারিং Pঅনামী পদ্ধতি দ্বারা করা হয় , যা অবস্থান, দৈর্ঘ্য, স্ট্রিং এবং প্রস্থ গ্রহণ করে এবং স্ট্রিং প্রান্তটির শেষে একটি আয়তক্ষেত্র রেন্ডার করে। উদাহরণস্বরূপ, কার্ডের পিছনে কেবল "* "পুনরাবৃত্তি করা হয়েছে। Tবেনামী পদ্ধতি পূর্ববর্তী কাজের, যা আয়তক্ষেত্র প্রচুর উপস্থাপনা জন্য ব্যবহৃত এক আমি একটি পরিবর্তিত সংস্করণ। এটি অবশ্য ভারী, এবং কেবলমাত্র আমাকে কম বাইটে সীমানা এবং পটভূমি রেন্ডার করতে দেয়, যা সম্ভবত এটির পক্ষে উপযুক্ত নয়। এর স্ট্রিপ ডাউন সংস্করণ Tহ'ল Wযা আয়তক্ষেত্রের পরিবর্তে সেলগুলি উপস্থাপন করে এবং ব্যবহার করা হয় না, তবে এটির একটি অন্তর্নিহিত সংস্করণ 2 থেকে 10 পর্যন্ত মানের কার্ডগুলি রেন্ডার করতে ব্যবহৃত হয় নোট করুন যে অব্যবহৃত কোডটি ছিল বাইট কাউন্টের জন্য অপসারণ করা হয়েছে, আমি এটিকে রেখে দিচ্ছি কারণ আমি এটি ব্যবহার করে শেষ করতে পারি এবং আমি সেগুলি পরীক্ষার জন্য ব্যবহার করি।

প্রোগ্রামটি আউটপুট প্রতিটি লাইন মাধ্যমে (13 টি) সহজেই লুপ করে এবং তারপরে প্রতিটি কার্ড রেন্ডার করে এবং তারপরে এটি থেকে 1 টি স্লাইস বের করে, যাতে প্রতিটি কার্ড সম্পূর্ণ 13 বার রেন্ডার হয়। তাদের ব্যবধানের উদ্দেশ্যে, প্রতিটি কার্ডকে 16 বাই 13 ব্লক হিসাবে গণ্য করা হয়, এবং আমি অনুবর্তী স্থানগুলি সরানোর জন্য আউটপুটটির প্রতিটি লাইনটি ছাঁটাই করি (কোণার স্পেসগুলি সরানো হয়)।

ফর্ম্যাট কোড, মন্তব্য এবং ধারণা / পরীক্ষার কোড সহ:

class P
{
    static void Main(string[]A)
    {
        int O,J,i=0,L,n,r,z;

        for(;i<13;i++)
        {
            var k="";
            foreach(var a in A)
            {
                // got card a and line i

                var R=new char[208];

                System.Action<int,int,string,int>P=(s,l,g,w)=>
                {
                    for(O=0;O<l;s+=O%w<1?17-w:1)
                        R[s]=g[O++%g.Length];
                };

                // not used
                System.Action<string>T=f=>
                {
                    f+="AAPM!";
                    for(J=64;J++<77;)
                        for(O=64;O++<80;R[z=O+J*16-1105]=f[r]=='!'?R[z]:f[r])
                            for(r=0;f[r++]>O|f[r++]>J|O>f[r++]|J>f[r++];r++);
                };

                // not used (derivative below)
                System.Action<string>W=f=>
                {
                    for(O=0;O<f.Length;)
                        R[f[O++]+f[O++]*16-1105]=f[O++];
                };

                // render

                // outer

                P(0,208," ",16); // fill 
                P(1,13,"-",13); // top
                P(193,13,"-",13); // bottom
                P(16,11,"|",1); // left
                P(30,11,"|",1); // left

                //T("BBNL BANM-ABOL|AAPM ");

                if(a=="B") // back
                    P(17,143,"* ",13);
                else
                {
                    // inner

                    P(36,7,"-",7); // top
                    P(164,7,"-",7); // bottom
                    P(51,7,"|",1); // left
                    P(59,7,"|",1); // left

                    //T("EDKJ ECKK-DDLJ|");

                    // joker
                    if(a=="R")
                    {
                        P(17,5,"JOKER",1);
                        P(125,5,"JOKER",1);
                        P(69,25,"J     O     K     E     R",5);
                        //T("FEFEJGFGFOHGHGKIHIHEJIJIR");
                    }
                    else
                    {
                        L=a.Length;

                        // card
                        var S=a.Substring(L-1);
                        var v=a.Substring(0,L-1);

                        P(17,L,a,L);
                        P(190-L,L,S+v,L);

                        if(int.TryParse(v,out n))
                        {
                            // number card
                            var f=new string[]
                            {
                                S="HEHI",
                                S+"HG",
                                S="EDKDEJKJ",
                                S+"HG",
                                v=S+"EGKG",
                                v+="HE",
                                v+"HI",
                                (S+="EFEHKFKH")+"HG",
                                S+"HEHI",
                            }[n-2];
                            for(O=0;O<f.Length;)
                                R[f[O++]+f[O++]*16-1105]=a[L-1];
                        }
                        else
                        {
                            if(v=="A")
                            {
                                // ace
                                P(103,1,S,1);
                            }
                            else
                            {
                                // face card
                                P(52,1,S,1);
                                P(154,1,S,1);
                                P(103,1,v,1);
                            }
                        }
                    }
                }

                // write

                for(O=0;O<16;)
                    k+=R[i*16+O++];
            }
            System.Console.WriteLine(k.TrimEnd());
        }
    }
}

1

পাওয়ারশেল , স্কোর 442 = ( 509 495 472 বাইট = (156 স্ক্রিপ্ট + 316 সংরক্ষণাগার) - 30 বোনাস)

param($s)tar xOf t|%{$l=$_
($s-split'1| '-ne''|%{($l|% s*g(14*('A234567890JQKRB'|% i*f $_[0]))15)-replace'X','♣♦♥♠'[('CDHS'|% i*f $_[1])]})-join' '}

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

Unrolled:

# # the tar archive t should be in default folder
param($s)
tar xOf t|%{ $line=$_
    ($s-split'1| '-ne''|%{
        $pos = 14*('A234567890JQKRB'|% indexOf $_[0])
        $x=$line|% SubString $pos 15

        $suit = 'CDHS'|% indexOf $_[1]
        $x-replace'X','♣♦♥♠'[$suit]
    })-join' '                                          # implicit output
}

টার আর্কাইভ তৈরি করার জন্য পাওয়ারশেল স্ক্রিপ্ট t(টিআইও দেখুন):

(
' ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ',
'|AX           |2X           |3X           |4X           |5X           |6X           |7X           |8X           |9X           |10X          |JX           |QX           |KX           |J            |* * * * * * *|',
'|   -------   |   -------   |   -------   |   -------   |   -------   |   -------   |   -------   |   -------   |   -------   |   -------   |   -------   |   -------   |   -------   |O  -------   | * * * * * * |',
'|  |       |  |  |       |  |  |       |  |  |X     X|  |  |X     X|  |  |X     X|  |  |X     X|  |  |X     X|  |  |X     X|  |  |X     X|  |  |X      |  |  |X      |  |  |X      |  |K |       |  |* * * * * * *|',
'|  |       |  |  |   X   |  |  |   X   |  |  |       |  |  |       |  |  |       |  |  |   X   |  |  |   X   |  |  |       |  |  |   X   |  |  |       |  |  |       |  |  |       |  |E | J     |  | * * * * * * |',
'|  |       |  |  |       |  |  |       |  |  |       |  |  |       |  |  |       |  |  |       |  |  |       |  |  |X     X|  |  |X     X|  |  |       |  |  |       |  |  |       |  |R |  O    |  |* * * * * * *|',
'|  |   X   |  |  |       |  |  |   X   |  |  |       |  |  |   X   |  |  |X     X|  |  |X     X|  |  |X     X|  |  |   X   |  |  |       |  |  |   J   |  |  |   Q   |  |  |   K   |  |  |   K   |  | * * * * * * |',
'|  |       |  |  |       |  |  |       |  |  |       |  |  |       |  |  |       |  |  |       |  |  |       |  |  |X     X|  |  |X     X|  |  |       |  |  |       |  |  |       |  |  |    E  | J|* * * * * * *|',
'|  |       |  |  |   X   |  |  |   X   |  |  |       |  |  |       |  |  |       |  |  |       |  |  |   X   |  |  |       |  |  |   X   |  |  |       |  |  |       |  |  |       |  |  |     R | O| * * * * * * |',
'|  |       |  |  |       |  |  |       |  |  |X     X|  |  |X     X|  |  |X     X|  |  |X     X|  |  |X     X|  |  |X     X|  |  |X     X|  |  |      X|  |  |      X|  |  |      X|  |  |       | K|* * * * * * *|',
'|   -------   |   -------   |   -------   |   -------   |   -------   |   -------   |   -------   |   -------   |   -------   |   -------   |   -------   |   -------   |   -------   |   -------  E| * * * * * * |',
'|           XA|           X2|           X3|           X4|           X5|           X6|           X7|           X8|           X9|          X10|           XJ|           XQ|           XK|            R|* * * * * * *|',
' ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- '
) | Set-Content f -Force
tar zcf t f -o
Get-ChildItem t # output info about archive size
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.