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 S52 मानक कार्डों में से एक (क्लब, हीरे, दिल और हुकुम के लिए) के बाद।
  • एक 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 Sअपने उत्पादन में। (इनपुट हमेशा उपयोग करता है C D H S।)

टिप्पणियाँ

  • इनपुट स्ट्रिंग में 54 से अधिक कार्ड हो सकते हैं और किसी भी कार्ड के डुप्लिकेट हो सकते हैं।
  • यदि इनपुट खाली स्ट्रिंग है तो कोई आउटपुट नहीं होना चाहिए।
  • अंतिम कार्ड के दाएं कोनों को बनाने वाले दो (वैकल्पिक रूप से) के अलावा कोई अनुगामी स्थान नहीं होना चाहिए।
  • आप मान सकते हैं कि इनपुट वैध है।
  • अद्यतन: मानक कार्ड पर निचला दायाँ लेबल उलट दिया गया है ताकि मूल्य कोने में हो। निचला दायां जोकर लेबल नहीं बदला है।

1
क्या हम मान सकते हैं कि इनपुट स्ट्रिंग मान्य है?
माइकल एम।

1
@VisualMelon मैंने कोशिश की लेकिन यह मज़ेदार लग रहा है। यह सीधा रहेगा।
केल्विन के शौक

3
@ ओप्टिमाइज़र मैं यह करूँगा कि अगर मुझे जो चाहिए उसके लिए अपडाउनड कैरेक्टर्स दिए गए हैं लेकिन मुझे नहीं लगता कि मैं ऐसा कर रहा हूँ और मैं यह नहीं चाहता कि सभी विनस्की हों।
केल्विन के शौक

2
@VisualMelon मुझे पता है कि वास्तविक रूप से आधे लेबल उलटे होंगे, लेकिन जब से इसके लिए पात्रों को उल्टा नहीं किया गया है, मैं उस तथ्य को अनदेखा कर रहा हूं (इसके अलावा मैं कोने में मूल्यों को चाहता था)।
केल्विन के शौक

1
यदि आप केवल प्रतीकों को ठीक से यूनिकोड करने के लिए 10 बिंदुओं को घटाते जा रहे हैं, तो यह कभी भी इसके लायक नहीं होगा क्योंकि आपको उनसे अधिक लिखने की आवश्यकता है (प्रति प्रतीक 6 वर्ण, कुल मिलाकर 24)। यहां तक ​​कि अगर आपको यूनिकोड-कंप्लायंट भाषा मिली है, तो यूनिकोड प्रतीक वर्णमाला के समय आपके इनपुट से रिवर्स ऑर्डर में हैं। मुझे लगता है कि सीजेएएम, एपीएल या गोल्फस्क्रिप्ट जैसी कोई चीज ही ऐसा कर पाएगी।
नजला

जवाबों:


9

जावास्क्रिप्ट (E6) 542 (572 - बोनस 30) 553 564 576

3 प्रकार के आकार:

  1. बैक और जोकर: कमोबेश शाब्दिक
  2. JQK: टॉपलेट और राइटबॉटम, इनर फ्रेम और 3 तरह की पंक्तियों के अंदर निशान, हमेशा एक ही संरचना
  3. ए ... 10: टॉपलेट और राइटबॉटम पर निशान, अंदर 3 पंक्तियों के साथ आंतरिक फ्रेम, संख्यात्मक मान के साथ चर। सरणी और q चर का उपयोग करके देखने के साथ देखभाल की गई

zस्ट्रिंग (संपीड़ित) के बुनियादी निर्माण घटक शामिल

  • संख्यात्मक कार्ड - 3 ब्लॉक, 7 चार्ट प्रत्येक
  • जोकर - 11 ब्लॉक, 13 चार प्रत्येक, केवल क्रम में उपयोग किया जाता है

बोनस नोट 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

@FryAmTheEggman धन्यवाद, गोल्फ कोड और उदाहरणों में तय
edc65

महान कोड! आप इस टूल के साथ अपने चार्ट की संख्या को कम कर सकते हैं: xem.github.io/obfuscatweet (यह केवल ASCII को स्वीकार करता है, इसलिए आपको पैकिंग से पहले यूनिकोड चार्ट से बचना होगा)
xem

(आपका अंतिम परिणाम तब लगभग 328 होगा!)
xem

@ xem चार गिनती कम (337) है, लेकिन बाइट की गिनती अधिक है (1213) mothereff.in/byte-counter । जब तक निर्दिष्ट न हो, आपको कोड गोल्फ में बाइट्स गिनना होगा।
1965 में 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गुमनाम विधि पिछले एक काम है, जो आयत के बहुत सारे renders के लिए इस्तेमाल एक मैं का एक संशोधित संस्करण है। यह, हालांकि, बल्कि भारी है, और केवल मुझे कम बाइट्स में सीमाओं और पृष्ठभूमि को प्रस्तुत करने की अनुमति देगा, जो शायद इसके लायक नहीं है। इसका एक धारीदार संस्करण है T, Wजो आयतों के बजाय कोशिकाओं को प्रस्तुत करता है, और इसका उपयोग भी नहीं किया जाता है, लेकिन इसका एक अंतर्निहित संस्करण 10 के माध्यम से मान 2 के कार्ड को प्रस्तुत करने के लिए उपयोग किया जाता है। ध्यान दें कि अनुपयोगी कोड था बाइट गिनती के लिए हटा दिया गया है, मैं इसे छोड़ रहा हूं क्योंकि मैं इसका उपयोग करना समाप्त कर सकता हूं, और मैं उन्हें परीक्षण के लिए उपयोग करता हूं।

कार्यक्रम केवल आउटपुट की प्रत्येक पंक्ति (उनमें से 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

PowerShell , स्कोर 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(TIO देखें):

(
' ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ',
'|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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.