একটি এএসসিআইআই ডেকে ডিল করুন


13

এএফআইকে-র সত্যই কোনও চূড়ান্ত ASCII- কার্ড চ্যালেঞ্জ ছিল না। সুতরাং, ASCII কার্ডগুলির নিম্নলিখিত ডেক ব্যবহার করুন:

.------..------..------..------..------..------..------..------..------..------..------..------..------.
|2.--. ||3.--. ||4.--. ||5.--. ||6.--. ||7.--. ||8.--. ||9.--. ||T.--. ||J.--. ||Q.--. ||K.--. ||A.--. |
| (\/) || (\/) || (\/) || (\/) || (\/) || (\/) || (\/) || (\/) || (\/) || (\/) || (\/) || (\/) || (\/) |
| :\/: || :\/: || :\/: || :\/: || :\/: || :\/: || :\/: || :\/: || :\/: || :\/: || :\/: || :\/: || :\/: |
| '--'2|| '--'3|| '--'4|| '--'5|| '--'6|| '--'7|| '--'8|| '--'9|| '--'T|| '--'J|| '--'Q|| '--'K|| '--'A|
'------''------''------''------''------''------''------''------''------''------''------''------''------'
.------..------..------..------..------..------..------..------..------..------..------..------..------.
|2.--. ||3.--. ||4.--. ||5.--. ||6.--. ||7.--. ||8.--. ||9.--. ||T.--. ||J.--. ||Q.--. ||K.--. ||A.--. |
| :/\: || :/\: || :/\: || :/\: || :/\: || :/\: || :/\: || :/\: || :/\: || :/\: || :/\: || :/\: || :/\: |
| :\/: || :\/: || :\/: || :\/: || :\/: || :\/: || :\/: || :\/: || :\/: || :\/: || :\/: || :\/: || :\/: |
| '--'2|| '--'3|| '--'4|| '--'5|| '--'6|| '--'7|| '--'8|| '--'9|| '--'T|| '--'J|| '--'Q|| '--'K|| '--'A|
'------''------''------''------''------''------''------''------''------''------''------''------'
.------..------..------..------..------..------..------..------..------..------..------..------..------.
|2.--. ||3.--. ||4.--. ||5.--. ||6.--. ||7.--. ||8.--. ||9.--. ||T.--. ||J.--. ||Q.--. ||K.--. ||A.--. |
| :/\: || :/\: || :/\: || :/\: || :/\: || :/\: || :/\: || :/\: || :/\: || :/\: || :/\: || :/\: || :/\: |
| (__) || (__) || (__) || (__) || (__) || (__) || (__) || (__) || (__) || (__) || (__) || (__) || (__) |
| '--'2|| '--'3|| '--'4|| '--'5|| '--'6|| '--'7|| '--'8|| '--'9|| '--'T|| '--'J|| '--'Q|| '--'K|| '--'A|
'------''------''------''------''------''------''------''------''------''------''------''------''------'
.------..------..------..------..------..------..------..------..------..------..------..------..------.
|2.--. ||3.--. ||4.--. ||5.--. ||6.--. ||7.--. ||8.--. ||9.--. ||T.--. ||J.--. ||Q.--. ||K.--. ||A.--. |
| :(): || :(): || :(): || :(): || :(): || :(): || :(): || :(): || :(): || :(): || :(): || :(): || :(): |
| ()() || ()() || ()() || ()() || ()() || ()() || ()() || ()() || ()() || ()() || ()() || ()() || ()() |
| '--'2|| '--'3|| '--'4|| '--'5|| '--'6|| '--'7|| '--'8|| '--'9|| '--'T|| '--'J|| '--'Q|| '--'K|| '--'A|
'------''------''------''------''------''------''------''------''------''------''------''------''------'

দুটি পূর্ণসংখ্যা pএবং qইনপুট হিসাবে নিন ; pখেলোয়াড়ের সংখ্যা কোথায় এবং qপ্রতিটি খেলোয়াড়ের কার্ডের সংখ্যা।

  • এলোমেলোভাবে কার্ডগুলির ডেকটি বদল করুন (এটি অস্পষ্ট, তবে এর অর্থ এই যে সমস্ত কার্ড একবারে কোথাও একবার উপস্থিত হওয়ার সমান সম্ভাবনা রয়েছে)।
  • প্রতি খেলোয়াড় প্রতি কার্ড 1 রাউন্ড কার্ড, প্রতিটি সারি কার্ডের qসারি আউটপুট p

নিয়মাবলী:

  • ফলাফলগুলি সমানভাবে এলোমেলো হওয়া উচিত, প্রতিটি কার্ডের কোথাও উপস্থিত হওয়ার সমান সম্ভাবনা হওয়া উচিত।
  • এটি গ্যারান্টিযুক্ত যে 0 < p*q <= 52 and p < 10, যেখানে পরিস্থিতিগুলি পূরণ করা হয়নি সেখানে আপনার অপরিজ্ঞাত আচরণ থাকতে পারে।
  • প্রতি সারি qকার্ডের সাথে আপনার pকার্ডগুলির সারি আউটপুট করা উচিত ।
  • প্রতিটি কলাম পৃথক করা উচিত | (স্পেস দ্বারা বেষ্টিত একটি পাইপ চর); আপনি যদি এর থেকে আলাদা চর বেছে নেন তবে কেন তা ব্যাখ্যা করুন। এখানে চারপাশের স্থানগুলি alচ্ছিক নয়।
  • প্রতিটি সারিতে তাদের মধ্যে 1 বা একাধিক নিউলাইন থাকতে হবে, একাধিক গ্রহণযোগ্য, 0 টি নয় (1 টি নতুন লাইনটি সেখানে ডিফল্টরূপে নতুন লাইনের অর্থ)।
  • প্রতিটি সারিতে খেলোয়াড়ের সাথে লেবেল করা উচিত যারা "প্লেয়ার এন" ফর্ম্যাটে এটির মালিক (0 বা 1-সূচকটি ভাল) is
  • কোনও কার্ড একের বেশি উপস্থিত হতে পারে না।
  • T দশের জন্য।

উদাহরণ:

ফাংশন ( p=1,q=1):

Player 1 # Can also be 0.
.------.
|2.--. |
| (\/) |
| :\/: |
| '--'2|
'------'

ফাংশন ( p=2,q=1):

Player 1 | Player 2 # Can also be "Player 0 | Player 1"
.------. | .------.
|2.--. | | |T.--. |
| (\/) | | | (\/) |
| :\/: | | | :\/: |
| '--'2| | | '--'T|
'------' | '------'

ফাংশন ( p=2,q=2):

Player 1 | Player 2 # Can also be "Player 0 | Player 1"
.------. | .------.
|J.--. | | |3.--. |
| (\/) | | | :/\: |
| :\/: | | | :\/: |
| '--'J| | | '--'3|
'------' | '------'
.------. | .------.
|8.--. | | |6.--. |
| :(): | | | :/\: |
| ()() | | | (__) |
| '--'8| | | '--'6|
'------' | '------'

শৈল্পিক ক্রেডিট উপর একটি ফন্ট: http://patorjk.com/software/taag


5
আপনি patorjk.com/software/taag এ পাওয়া কার্ডগুলি থেকে অনেকগুলি কার্ড-চ্যালেঞ্জ পোস্ট করছেন ?

1
Soooo ... ফলাফল আউটপুট করার জন্য আমরা কি এই সাইটটি "ব্যবহার" করতে পারি ???
J42161217

1
আমি বলতে চাইছি: আমি কি এমন একটি প্রোগ্রাম তৈরি করতে পারি যা আপনার শেষ পরীক্ষার ক্ষেত্রে patorjk.com/software/taag/… কে আউটপুট করে ?
J42161217

5
এছাড়াও, Each row must have 1 or more newlines inbetween them, more than one is acceptable, 0 is not.... তবে আপনার পরীক্ষার কেসগুলির মধ্যে কার্ডগুলির মধ্যে নতুন লাইন নেই ..?
সম্পূর্ণরূপে

1
এএসসিআইআই কার্ডগুলিতে প্রায় একটি চ্যালেঞ্জ ছিল: আমার পোস্ট করা প্লে টাইম
সার্জিওল

উত্তর:


6

কাঠকয়লা , 142 133 125 বাইট

NθFN«F¬¬ι«→↑×⁶θ| »Player IιFθ«↙↓.↓⁴←'←⁶↑'↑⁴.P⁶↓≔‽⁵²εW№υε≔‽⁵²ε⊞υε≔§”w↘τ[⁵PkxτG”εδδ.--.¶✂”{➙aETê;s∨Hμ⁼⎚↑Z~SÀd~⌀Tê”﹪ε⁴φ⁴'--'δ↘

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। সম্পাদনা করুন: আমার এলোমেলো নমুনা কোডটি উন্নত করে 9 বাইট সংরক্ষণ করা হয়েছে। আমার স্যুট প্রিন্টিং কোডটি উন্নত করে আরও 8 বাইট সংরক্ষণ করা হয়েছে। ব্যাখ্যা:

Nθ

এতে কার্ডের সংখ্যা পড়ুন q

FN«

প্রতিটি প্লেয়ার উপর লুপ।

F¬¬ι«→↑×⁶θ| »

এটি যদি প্রথম প্লেয়ার না হয় তবে পূর্ববর্তী এবং এই প্লেয়ারের মধ্যে উল্লম্ব রেখাটি মুদ্রণ করুন।

Player Iι

প্লেয়ার নম্বর মুদ্রণ করুন।

Fθ«

প্রতিটি কার্ডের উপর লুপ করুন।

↙↓.↓⁴←'←⁶↑'↑⁴.P⁶↓

কার্ডের প্রান্তটি মুদ্রণ করুন।

≔‽⁵²εW№υε≔‽⁵²ε⊞υε

এমন একটি কার্ড সূচক চয়ন করুন যা ইতিমধ্যে বাছাই করা হয়নি, এবং এটি বাছাই করা কার্ড সূচকগুলির তালিকায় যুক্ত করুন।

≔§”w↘τ[⁵PkxτG”εδδ

বৈধ কার্ড র‌্যাঙ্কগুলির একটি স্ট্রিং-এ চক্রাকারে ইনডেক্স করে কার্ডের র‌্যাঙ্কটি চয়ন করুন এবং মুদ্রণ করুন 2-9, T, J, Q, K, A

.--.¶

স্যুট শীর্ষে মুদ্রণ করুন।

✂”{➙aETê;s∨Hμ⁼⎚↑Z~SÀd~⌀Tê”﹪ε⁴φ⁴

স্ট্রিতে টুকরো টুকরো করে স্যুটটির মাঝখানে মুদ্রণ করুন। স্লাইস কার্ড সূচক মডিউল 4 এ শুরু হয় এবং স্ট্রিংটি শেষ না হওয়া অবধি প্রতিটি চতুর্থ অক্ষর গ্রহণ করে (বা f= 1000 তম অক্ষরটি পৌঁছে যায়)। 4 এবং 13 কপিরাইট হওয়ায় এটি নিশ্চিত করে যে সমস্ত 52 টি কার্ডই সম্ভব।

'--'δ↘

স্যুটটির নীচে এবং র‌্যাঙ্কের একটি অনুলিপি মুদ্রণ করুন এবং তারপরে এমন একটি বিন্দুতে সরান যা সুবিধাজনকভাবে র‌্যাঙ্কের অনুলিপি, পরবর্তী কার্ডের শুরু, বা তার জন্য বিভাজন রেখার সূচনা থেকে খুব বেশি দূরে নয় move পরবর্তী খেলোয়াড়


আমি যখন এটি স্যান্ডবক্সে দেখলাম ডেকটি মুদ্রণ করা কেসি চ্যালেঞ্জ ছিল, যা আমাকে 102 বাইট নিয়েছে: অনলাইনে চেষ্টা করে দেখুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ।
নীল

3

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

from random import*
p,q=input()
A,V=':/\:',':\/:'
c=sample([(""".------.
|%s.--. |
| %s |
| %s |
| '--'%s|
'------'"""%(n,s,t,n)).split('\n')for s,t in('(\/)',V),(A,V),(A,'(__)'),(':():','()()')for n in'123456789TJQKA'],p*q)
print' | '.join('Player '+`i`for i in range(p))
for i in range(0,p*q,p):print'\n'.join(map(' | '.join,zip(c[i:i+p][0],c[i:i+p][1])))

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

আমার কোন ফ্রিগিন ধারণা নেই।



3

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

বাক্য গঠন সিনট্যাক্সে ইনপুট নেয় (p)(q)। খেলোয়াড়েরা 0-ইনডেক্সড।

p=>g=(q,i=p*q*6,d=[...Array(52).keys(a=`:\\/:,(__),()(),(\\/),:/\\:,:():, | ,
,.3.,|0.--. |,| 1 |,| 2 |,| '--'0|,'3',Player 4`.split`,`)].sort(_=>Math.random()-.5))=>i--+p?g(q,i,d)+a[i%p?6:7]+a[i<0?14:i/p%6|8].replace(/\d/,c=>['TJQKA'[j=x>>2]||j-3,a['3454'[x&=3]],a[x%3],'------',p+i][c],x=d[i%p+p*(i/p/6|0)]):''

ডেমো

কিভাবে?

নীচে থেকে উপরে পর্যন্ত আউটপুট তৈরি করা এটি একটি পুনরাবৃত্ত ফাংশন। কার্ডটি আঁকানো মূল অংশটি চলাকালীন iশুরু হয় p*q*6এবং এটি পৌঁছানো অবধি হ্রাস পায় 0। তারপরে iএটি পৌঁছানো পর্যন্ত আমরা আরও হ্রাস করে শিরোনাম আঁকি -p

এএসসিআইআই আর্টটি ছোট ছোট টুকরাগুলিতে অ্যারেতে বিভক্ত a[]। নীচের টেবিলটি এর বিষয়বস্তু বর্ণনা করে a[]যা বাকী কোডটি বুঝতে সহজ করে তোলে।

 Index | Content    | Description
-------+------------+------------------------------------------------
    0  | ":\\/:"    | bottom of 'diamonds' and 'hearts'
    1  | "(__)"     | bottom of 'spades'
    2  | "()()"     | bottom of 'clubs'
    3  | "(\\/)"    | top of 'hearts'
    4  | ":/\\:"    | top of 'diamonds' and 'spades'
    5  | ":():"     | top of 'clubs'
    6  | " | "      | player separator
    7  | "\n"       | line-feed
    8  | ".3."      | card row #1, "3" --> "------"
    9  | "|0.--. |" | card row #2, "0" --> symbol of card value
   10  | "| 1 |"    | card row #3, "1" --> top of color ASCII art
   11  | "| 2 |"    | card row #4, "2" --> bottom of color ASCII art
   12  | "| '--'0|" | card row #5, "0" --> symbol of card value
   13  | "'3'"      | card row #6, "3" --> "------"
   14  | "Player 4" | header, "4" --> player ID

ফর্ম্যাট এবং মন্তব্য

p => g = (                                // p = number of players
  q,                                      // q = number of cards
  i = p * q * 6,                          // i = counter
  d = [...Array(52).keys(                 // d = deck
    a = `:\\/:,(__),...`.split`,`         // a = ASCII art pieces (truncated, see above)
  )].sort(_ => Math.random() - .5)        // shuffle the deck
) =>                                      //
  i-- + p ?                               // if i is greater than -p:
    g(q, i, d) +                          //   do a recursive call and append ...
    a[i % p ? 6 : 7] +                    //   separator or line-feed
    a[i < 0 ? 14 : i / p % 6 | 8]         //   header or card row
    .replace(/\d/, c => [                 //   where digits are replaced with:
        'TJQKA'[j = x >> 2] || j - 3,     //     0: symbol of card value
        a['3454'[x &= 3]],                //     1: top of color ASCII art
        a[x % 3],                         //     2: bottom of color ASCII art
        '------',                         //     3: horizontal border
        p + i                             //     4: player ID
      ][c],                               //
      x = d[i % p + p * (i / p / 6 | 0)]  //   x = current card with: bits 0-1 = color
    )                                     //                          bits 2-5 = value
  :                                       // else:
    ''                                    //   stop recursion


2

এসওজিএল ভি0.12 , 106 বাইট

E⁽⁰⅜║(Ηe─t¦4»\$²‘8n{"1<ω⅛┘‘4n╬¡;4n33žASUjk"TJQKA”+{a;22žF75ž}}'#δ№{ψ⌡≤οc+C}c_.∫:"▓⅛▲ŗ‘Κ⁽e{≤+};H?;lƧ |Γ∙┼;┼

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

কার্ড উত্পাদন:

...‘                     push "(\/):\/::/\::\/::/\:(__):():()()" - the suits
    8n                   split to line lengths of 8 - individual suits
      {                  for each suit
       "...‘               push ".---| .-|   " - a quarter of a suit
            4n             split to line lengths of 4 - [".---", "| .-", "|   "]
              έ           quad palindromize - empty card
                ;          get the suit on top
                 4n        split to line lengths of 4
                   33ž     insert in the card at [3; 3]
                      A    save on variable A - card template
SU                         push "1234567890"
  jk                       remove the first and last digits
    "TJQKA”+               append "TJQKA"
            {         }    for each number - "23456789TJQKA"
             a               load the template
              ;22ž           at [2; 2] insert the current number
                  F75ž       at [7; 5] insert the current number

shuffling:

'#             push 52
  δ            lower range - [0, 1, ..., 50, 51]
   №           reverse - [51, 50, ..., 1, 0]
    {       }  for each, pushing the current item
     ψ           get a random number from 0 to ToS (inclusive)
      ⌡          that many times
       ≤           put the first item of the stack on the top
        οc+C     prepend that to the variable C, predefined with an empty array

লেনদেন:

c_              push Cs contents on the stack - the stack is now a mess of cards
  .∫            repeat input times - each player - pushing the current player number
    :             duplicate the number
     "..‘         push "player "
         Κ        prepend "player " to the number
          ⁽       uppercase the 1st letter
           e{  }  repeat 2nd input times
             ≤      put the first stack item on the top
              +     append it to "Player X" vertically (making an array)
;                 get the other copy of the player number
 H?               if POP-1 (aka if it's not 1)
   ;                swap the top 2 items - the current collumn and all the previous ones (by then they've been joined together)
    l               get its (vertical) length
     Ƨ |            push " |"
        Γ           palindromize - [" | "]
         ∙          multiply " | " vertically that length times
          ┼         append it horizontally (to the previous collumns)
           ;┼       append the current collumn

2

রুবি, 262 বাইট

->p,q{a=[*0..51].shuffle
puts ["Player %d"]*p*(d=" | ")%[*1..p],(1..q*6).map{|i|(["'------'
.------.
|%X.--. |
| %s |
| %s |
| '--'%X|".split($/)[i%6]]*p*d%a[i/6*p,p].map{|j|["(\\/):()::/\\:"[u=j%4*4-4,4],":\\/:()():\\/:(__)"[u,4],j/4][i%3]}).tr("01BC","TJQK")}}

অনুসরণ করা শক্ত, তবে খাটো!

রুবি, 279 বাইট

->p,q{puts [*1..p].map{|k|"Player #{k}"}*" | "
a=[*0..51].shuffle
(q*6).times{|i|puts [".------.
|%s.--. |
| %s |
| %s |
| '--'%s|
'------'".split($/)[i%6]]*p*" | "%a[i/6*p,p].map{|j|[":\\/:()():\\/:(__)"[u=j%4*4-4,4],("%X"%(j/4)).tr("01BC","TJQK"),"(\\/):()::/\\:"[u,4]][i%3]}}}

প্রতিটি সারির জন্য একটি ফর্ম্যাট তৈরি করে, তারপরে %অপারেটরটিকে sprintfএটি পপুলেট করতে পছন্দ করে।

প্রতিটি তৃতীয় সারিতে কার্ডের মানটি উপস্থিত হওয়া সহজ। কার্ডের মানগুলি হেক্সাডেসিমালে উপস্থাপিত অঙ্কগুলির সাথে উপস্থাপিত 01BCহয় TJQK

হীরা এবং কোদালগুলির শীর্ষগুলি একই হিসাবে বিবেচনা করে মামলা সিম্বলগুলি থেকে 4 বাইট সংরক্ষণ করা হয়েছে তবে স্যুট কোডগুলির -4শেষে 2-এ ফিরে যুক্ত করা হয়েছে j%4*4-4-4 0 4 বা 8 যেখানে [-4,4]4 টি শেষ অক্ষরটি 4 টি শেষ অক্ষর শুরু করে স্ট্রিং।

সম্ভবত আরও কিছু বাইট সংরক্ষণ করতে পারে। প্লেয়ার সনাক্তকরণের জন্য কোড পুনরাবৃত্তি করা কুশ্রী is


2

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

<?$hu='(\/}';$hv=$dv=':\/:';$du=$su=':/\:';$sv='(__)';$cu=':():';$cv='()()';$q="------";$t=$argv[1];foreach([h,d,s,c]as$a)foreach([2,3,4,5,6,7,8,9,T,J,Q,K,A]as$b)$c[]=[$b,$a];shuffle($c);$h=$a=0;for(;$a<$t;$a++)$e[]="Player $a";$f[]=join(" | ",$e);for($g=$argv[2];$g--;){$p=$i=$k=$l=$m=$r=[];$j=$h+$t;for(;$h<$j;$h++){$n=$c[$h][0];$o=$c[$h][1];$p[]=".$q.";$i[]="|$n.--. |";$k[]="| ${$o.u} |";$l[]="| ${$o.v} |";$m[]="| '--'$n|";$r[]="'$q'";}foreach([p,i,k,l,m,r]as$b)$f[]=join(" | ",${$b});}echo join('
',$f);

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

কোড গল্ফে এটি আমার প্রথম প্রচেষ্টা, তাই এটি সম্ভবত অনেক উন্নতি হতে পারে। আমি ভেবেছিলাম আমাকে কোথাও থেকে শুরু করতে হবে। :)


1

জাভা (ওপেনজেডিকে 8) , 784 835 843 826 815 781 775 বাইট

String k(String s){return s.replaceAll("...$","\n");}
p->q->{int c=0,l=0,s[]=new int[p*q],i=0,j,t,b;java.util.List e=new java.util.Stack();String v="TJQK",o="",n[]=new String[p*q],x=o;for(;i<p;o+="Player "+i+++" | ",x+=v);o=k(o);for(i=0;i<q;i++){o=k(o+x.replace(v,".------. | "));for(j=0;j<p;j++){do{t=(int)(Math.random()*13)+1;b=(int)(Math.random()*4);}while(e.contains(t+""+v.charAt(b)));e.add(t+""+v.charAt(b));s[c]=b;n[c]=t<2?"A":t<10?""+t:""+v.charAt(t-10);o+="|2.--. | | ".replace("2",n[c++]);}o=k(o);for(j=0;j<p;j++,l++)o+="| "+(s[l]<1?"(\\/)":s[l]<3?":/\\:":":():")+" | | ";o=k(o);for(j=0;j<p;j++)o+="| "+(s[i*p+j]<2?":\\/:":s[i*p+j]<3?"(__)":"()()")+" | | ";o=k(o);for(j=0;j<p;)o+="| '--'2| | ".replace("2",n[i*p+j++]);o=k(k(o)+x.replace(v,"'------' | "));}return o;}

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

ডাউনভোট কেন, এটি অনুমানের সাথে মেনে চলে


এছাড়াও, আপনার তৈরির পরিবর্তে বিকল্প পদ্ধতি তৈরি করা উচিত Function<String,String>: আধুনিকগুলি খুব, খুব ব্যয়বহুল। উভয় সৃষ্টিতে এবং যখন ব্যবহৃত হয়।
অলিভিয়ার

আমি ধরে নিচ্ছি ডাউনগোটটি মূল বাগড উত্তরের জন্য ছিল, তবে বর্তমানটি সঠিক বলে মনে হচ্ছে, তাই আমি এটিকে নিরপেক্ষ করতে উত্সাহ দিয়েছি। গল্ফকে কিছু ছোট ছোট জিনিস: বন্ধনী এখান থেকে সরানো যেতে পারে n[c]=t<2?"A":t<10?""+t:""+"TJQK".charAt(t-10); for(j=0;j<p;j++){o+=...;l++;}হতে পারে for(j=0;j<p;l++,j++)o+=...;; আপনি যা করতে পারেন return o;পরিবর্তে System.out.print(o);একটি দ্বিতীয় ব্যবহারের মাধ্যমে Functionপরিবর্তে Consumer; ,y=p*qসরানো যেতে পারে এবং আপনি p*qসরাসরি পরিবর্তে দুইবার ব্যবহার করতে পারেন y
গল্ফকে নিয়ে

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

আমি কীভাবে জানি যে এটি আরও গল্ফ করা যেতে পারে? এই উত্তরটি দেখার পরে যখন আমি হাল ছেড়ে দিয়েছিলাম তখন আমি প্রায় 400 বাইট ছিলাম এবং এটি শেষ করতে আমি প্রায় 50 টি বাইট অনুমান করেছি। 850 বনাম 850, সেখানে সবেমাত্র কোনও গল্ফ জড়িত।
অলিভিয়ার

s[l]<2?":/\\:":s[l]<3?":/\\:"হতে পারে s[l]<3?":/\\:"এবং s[i*p+j]<1?":\\/:":s[i*p+j]<2?":\\/:"হতে পারে s[i*p+j]<2?":\\/:"। @ অলিভিয়ারগ্রোওয়ের এবং আমি সচেতন যে এটি সম্ভবত প্রায় অর্ধেক হয়ে যেতে পারে, তাই আমি ডাউনটা জানি। তবে এটি বেশিরভাগ অভিজ্ঞতার অভাব এবং প্রকৃতপক্ষে সমস্ত টিপস একাধিকবার না পড়া। উত্তরের কিছু জিনিস আমি অতীতেও করেছি এবং এটি জাভার পক্ষে কোনও বিশেষ সহজ চ্যালেঞ্জ নয়। বিটিডব্লিউ, আপনার যদি 400-450 বাইট উত্তর থাকে তবে কেন আপনি আলাদা আলাদা উত্তর হিসাবে পোস্ট করেন না (যদি উল্লেখযোগ্যভাবে যথেষ্ট আলাদা হয়)? আপনি আমার উপার্জন আছে। ;)
কেভিন ক্রুইজসেন

1

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

from random import*
P=lambda x:print(*x,sep=' | ')
R=range
def f(p,c):
 P(f"Player {i}"for i in R(p))
 d=[f".------.,|{n}.--. |,| {a[:4]} |,| {a[4:]} |,| '--'{n}|,'------'".split(",")for a,n in sample([*zip(r':/\:(__) (\/):\/: :/\::\/: :():()()'.split()*13,'A23456789TJQK'*4)],p*c)]
 for i in R(c):
  for t in zip(*d[i::c]):
   P(t)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.