ডাইস ক্রিকেট খেলুন


12

ডাইস ক্রিকেট এমন একটি খেলা যা আমি ছোটবেলায় পরিচয় করিয়েছিলাম এবং সেই থেকে বছরের পর বছর ধরে সময় কাটানোর উপায় হিসাবে ব্যবহার করি। আমি কোনও উইকিপিডিয়া পৃষ্ঠা খুঁজে পাইনি তাই নীচের বিধিগুলি ব্যাখ্যা করব।

পাশা ক্রিকেট বিধি

প্রতিজ্ঞা

ডাইস ক্রিকেট খেলা দেখার সাথে সাথে ক্রিকেটকে স্কোর করার অনুরূপ তবে ফলাফলটি দেখার এবং রেকর্ড করার পরিবর্তে আপনি ডাই রোল করছেন এবং ফলাফলটি রেকর্ড করছেন।

নীচে প্রদর্শিত হিসাবে ফলাফলগুলি একটি সারণীতে রেকর্ড করা হয়।

প্রদর্শন

ডাইস ক্রিকেট ঘটছে সমস্ত তথ্য প্রদর্শন করতে একটি নির্দিষ্ট প্রদর্শন ব্যবহার করে।

সারণীতে 11 টি সারি রয়েছে। প্রতিটি সারি একটি বাটা প্রতিনিধিত্ব করে। সারিটির বিন্যাস নীচে ব্যাখ্যা করা হয়েছে।

+------+------------------------------+---------+-----+
| Name |    Runs                      | How Out |Score|
+------+------------------------------+---------+-----+
  • নাম: নামটি অবশ্যই সম্পূর্ণরূপে অক্ষর, বড় এবং লোয়ার কেসের তৈরি একটি স্ট্রিং
  • রান: একটি বাটা 30 বলের মুখোমুখি হতে পারে। প্রতিটি বল এক হতে পারে 1 2 4 6 . /। এটি নীচে আরও বিশদে ব্যাখ্যা করা হবে
  • হাউ আউট: ব্যাটারটি যেভাবে আউট হয়েছিল। যে কোনও হতে পারেBowled, LBW (Leg Before Wicket), Caught, Retired or Not Out
  • স্কোর: সমস্ত সংখ্যার যোগফল Runs

গেমটি কীভাবে কাজ করে

একটি খেলায়, পিচে সর্বদা 2 ব্যাটার আউট থাকে। প্রথম খেলোয়াড় ডিফল্টরূপে বর্তমান ব্যাটার এবং দ্বিতীয়টি "অফ" ব্যাটারে থাকে।

একটি খেলা "বল" দিয়ে তৈরি: একটি ক্রিকেট ম্যাচে প্রতিটি বল একটি ডাইস রোল দ্বারা প্রতিনিধিত্ব করে। প্রতিটি রোল আলাদা কমান্ড করে:

  • 1,2,4 এবং 6 ব্যাটার স্কোরকে অনেক বেশি করে তোলে। যদি 1 ঘূর্ণিত হয়, বর্তমান বাটাটি "অফ" ব্যাটারে পরিণত হয় এবং "অফ" ব্যাটারটি বর্তমান হয়
  • 3 একটি "ডট বল", যার অর্থ কিছুই হয় না nothing এটি Runsবিভাগে একটি .এবং স্কোর হিসাবে প্রতিনিধিত্ব করা হয় 0 0এটিকে প্রতিনিধিত্ব করতে ব্যবহৃত হতে পারে না।
  • 5 একটি উইকেট। যদি 5টি ঘূর্ণিত হয়, তবে বর্তমান ব্যাটারটি "আউট" হয়, এর অর্থ এই যে রানগুলিতে একটি /যোগ করা হয় এবং এরপরে ব্যাটারটি আর রান করতে পারে না। তারপরে ব্যাটারটি পরবর্তী ব্যাটারের সাথে অদলবদল করা হয় যারা ব্যাটিং করেনি। How Outঅধ্যায় সম্ভাব্য উপায় সবচেয়ে ভাল ভাবে দিতে একটি র্যান্ডম পছন্দ হল:Bowled, LBW, Caught

উইকেটের উদাহরণ (এটি কেবল স্পষ্টতার জন্য, এটি এর ফলাফল কীভাবে হয় না)

player a is on 4,6,2,6,4
player b is on 6,4,2,6,6
player c hasn't batted
player a is current batter

WICKET!!!

player a is on 4,6,2,6,4,/
player b in on 6,4,2,6,6
player c is on NOTHING
player c is current batter

প্রতি 6 বল, দুটি ব্যাটার সুইচ; বর্তমান বাটারটি "অফ" ব্যাটার হয়ে যায় এবং "অফ" ব্যাটারটি বর্তমান ব্যাটার হয়ে যায়

তাহলে Runsঅধ্যায় ভরা হয় (30 বল), পিটা বাইরে এবং How Outঅধ্যায় সেট করা হয় Retired। একটি বক্সের শেষে রাখা / হয় নাRuns

আসল চ্যালেঞ্জ (হ্যাঁ এটি সমস্ত নিয়মের নিয়ম ছিল)

আপনার চ্যালেঞ্জটি হ'ল একটি তালিকা তৈরি করে একটি শেষ টেবিল (শেষের উদাহরণের মতো) আউটপুট দেওয়া। আউটপুট এর বিষয়বস্তুতে কেবল টেবিল এবং / অথবা নেতৃস্থানীয় বা পিছনের সাদা অংশ থাকতে হবে।

বিধি

  • স্ট্যান্ডার্ড লুফোলগুলি অনুমোদিত নয়
  • সমস্ত 11 খেলোয়াড়ের Runsবিভাগে কিছু থাকা উচিত ।
  • মাত্র ১ জন খেলোয়াড় থাকতে পারবেন Not Out। অন্য সমস্ত অবসরপ্রাপ্ত খেলোয়াড়ের পছন্দের বাইরে থাকা উচিত[Bowled, LBW, Caught]
  • নামগুলি 1 থেকে 6 এর মধ্যে যে কোনও দৈর্ঘ্য হতে পারে যা রেজেক্সের সাথে মেলে A-Za-z
  • সারণির শেষ লাইনটি মোট লাইন হওয়া উচিত (উদাহরণ দেখুন)
  • আপনাকে কোনওভাবে টেবিলের পাঠ্য প্রান্তিককরণ করতে হবে না, তবে সারি এবং কলাম বিভাজকগুলি অবশ্যই সারিবদ্ধ হতে হবে।

উদাহরণ

Input:
['Fred', 'Sonya', 'David', 'Ben', 'Cody', 'Hazel', 'Nina', 'Kim', 'Cath', 'Lena', 'Will']
Output:
+------+------------------------------+---------+-----+
| Name | Runs                         | How Out |Total|
+------+------------------------------+---------+-----+
|Fred  |.662/                         | Caught  | 14  |
+------+------------------------------+---------+-----+
|Sonya |1164/                         | Caught  | 12  |
+------+------------------------------+---------+-----+
|David |/                             |   LBW   |  0  |
+------+------------------------------+---------+-----+
|Ben   |424/                          |   LBW   | 10  |
+------+------------------------------+---------+-----+
|Cody  |62/                           | Bowled  |  8  |
+------+------------------------------+---------+-----+
|Hazel |/                             |   LBW   |  0  |
+------+------------------------------+---------+-----+
|Nina  |161.6226166..44261442/        | Caught  | 64  |
+------+------------------------------+---------+-----+
|Kim   |11/                           | Caught  |  2  |
+------+------------------------------+---------+-----+
|Cath  |6.21/                         |   LBW   |  9  |
+------+------------------------------+---------+-----+
|Lena  |/                             | Bowled  |  0  |
+------+------------------------------+---------+-----+
|Will  |2                             | Not Out |  2  |
+------+------------------------------+---------+-----+
|               Total Runs                      | 121 |
+-----------------------------------------------+-----+


হেই, আমি এটি "হ্যান্ড ক্রিকেট" নামে একটি অনুরূপ বৈকল্পিক খেলতাম।
সম্পূর্ণমানবিক

খেলা শেষ হলে কোনটি নির্ধারণ করে? যখন কোনও বাটা বের হয়ে যায় এবং তাকে প্রতিস্থাপনের জন্য আর কেউ অবশিষ্ট থাকে না?
স্মার্টস

@ কেএসমার্টস সঠিক
কেয়ার্ড কোইনারিংহিং

1
@ জোনাথান অ্যালান হ্যাঁ, এটি কোনও ভাল প্রয়োজন নয়। সরানো হয়েছে
কেয়ার্ড coinheringaahing

উত্তর:


2

পাইথন 3 , 650 621 582 572 588 বাইট

from random import*
h=str
c=h.center
a='+'.join(map('-'.__mul__,[0,6,30,9,5,0]))+'\n'
b=lambda x,r=6:x.ljust(r,' ')
j=''.join
t=lambda a:sum(map(int,a[:-1].replace(*'.0')))
P=print
def s(i=30):
 while i:x=choice('12.4/6');yield x;i=('/'!=x)*~-i
def f(n,T=0):
 n=[*map(b,n)]
 P(a+f'| Name | Runs{" "*25}| How Out |Total|')
 for x in n[:-1]:S=j(s());T+=t(S);P(a,x,b(S,30),c(choice(['Bowled','LBW','Caught']),9),c(h(t(S)),5),sep='|',end='|\n')
 S=j(s());P(a,n[-1],b(S,30),' Not Out ',c(h(t(S)),5),sep='|',end='|\n');P(a+f'|{15*" "}Total Runs{15*" "}       |{c(h(T),5)}|\n+{47*"-"}+{5*"-"}+')

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

ঠিক আছে, ২৪ ঘন্টা পেরিয়ে গেছে এবং আমার প্রায় এক ঘন্টা সময় লেগেছিল, তাই আমি আশা করি আমি কারও সাথে এফজিআইটি করব না, এবং আমি পাইথনে কিছুক্ষণের মধ্যে গল্ফ খেলিনি, তবে এটি মজাদার ছিল (যদিও এটি দ্বিতীয়বার আমি আমার নিজের প্রশ্নের একটি দীর্ঘ পাইথনের উত্তর দিয়ে উত্তর দিয়েছি)

গল্ফ পরামর্শ পোস্ট করুন নির্দ্বিধায়, পাইথন গল্ফিং জন্য আমার সেরা ভাষা নয়।

-68 বাইট ফ্লিপট্যাককে ধন্যবাদ !

-8 বাইটস মিঃ এক্সকোডারকে ধন্যবাদ

ত্রুটির কারণে +16 বাইট


প্রথম নজরে, আমি বেশ কয়েকটি গল্ফ দেখতে পাচ্ছি ... 1) এক উদাহরণে আপনি এর printপরিবর্তে এখনও ব্যবহার করেন P। 2) sumসরাসরি কোনও mapবস্তু নিতে পারে , এটিকে কোনও তালিকায় রূপান্তর করার দরকার নেই। )) yield xদু'বার লেখার বদলে কেন দরকার নেই yield xএবং তারপরে প্রয়োজনে ব্রেক? 4) T=0ফাংশন শিরোনাম ভিতরে স্থাপন করা যেতে পারে। 5) আপনার শেষ ফাংশনে, আপনি বেশ কয়েকটি নিউলাইন ব্যবহার করেছেন যেখানে আপনি কেবলমাত্র সেমিকোলনগুলির সাথে একটি লাইন ব্যবহার করতে পারেন, উদাহরণস্বরূপ প্রথম তিনটি বিবৃতি, শেষ তিনটি বিবৃতি এবং লুপের জন্য বিবৃতি।
ফ্লিপট্যাক

@ ফ্লিপট্যাক সুন্দর গল্ফস, এবং ধন্যবাদ!
কেয়ার্ড কোইনারিংহিংহ

আপনি sযথেষ্ট গল্ফ করতে পারেন ... def s(i=30):এবং তারপর while i:x=choice('12.4/6');yield x;i=('/'!=x)*~-i। এছাড়াও, আপনি কেবল o()একবার কল করেছিলেন , তাই এটি ঘোষণা করারও দরকার নেই, সরাসরি বিবৃতিটি সরাসরি ব্যবহার করুন।
ফ্লিপট্যাক


@ ফ্লিপট্যাক যোগ করুন গল্ফগুলি ধন্যবাদ!
কেয়ার্ড কোইনারিংহিংহ

0

কাঠকয়লা , 277 255 বাইট

≔E¹¹⟦⟦⟧⁰S⟧θ≔⮌θηW⊖Lη«≔⊟ηι≔‽12.4/6ζ⊞υζ⊞§ι⁰ζ≔⎇⁼ζ/⁺²‽³⁼³⁰L§ι⁰ζ¿ζ§≔ι¹ζ⊞ηι¿⊖Lη¿⁼¬﹪Lυ⁶¬εF⟦⊟η⊟η⟧⊞ηκ»”|⁴B\[⎇⁻℅↧T`⁵·5KMK⟲M≦»→´⁶_⭆∨R▷↥l⁹KG…≦”Fθ«◨⊟ι⁷◨Σ§ι⁰¦³²§⪪”(3⪪⪫⧴πZJL:∨XI±URD↗Σ9⟦FZ∕↖l⪪”⁷⊟ι◧IΣE⊟ιΣκ⁶⸿⸿»”|QºWPD⟧zNφ[v?Π'vG”◧IΣEυΣι²⁸J±¹±¹FE¹³⁻²⁷⊗ι«B⁵⁵ιB⁴⁹ι¿‹ι²⁷«B³⁹ιB⁸ι

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। ব্যাখ্যা:

≔E¹¹⟦⟦⟧⁰S⟧θ

১১ টি নাম পড়ুন (ইনপুটটি নমনীয়: জেএসওএন, স্থান পৃথকীকরণ, বা নিউলাইন পৃথক) এবং q11 টি ব্যাটারের একটি অ্যারে তৈরি করুন , তাদের বল দ্বারা উপস্থাপিত (অ্যারে হিসাবে), স্থিতি (পূর্ণসংখ্যা হিসাবে) এবং নাম।

≔⮌θη

ব্যাটারদের বিপরীত অনুলিপি তৈরি করুন h। এটি আউট না হওয়া ব্যাটারদের প্রতিনিধিত্ব করে। শেষ দুটি উপাদান হ'ল অফ এবং বর্তমান ব্যাটার।

W⊖Lη«

কমপক্ষে দুটি ব্যাটার উপলব্ধ থাকলে পুনরাবৃত্তি করুন।

≔⊟ηι

বর্তমানের বাটারটি বের করুন i

≔‽12.4/6ζ

এলোমেলো বল তৈরি করুন z

⊞υζ

পূর্বনির্ধারিত খালি তালিকা ব্যবহার করে বলের সামগ্রিক তালিকায় এটি যুক্ত করুন u

⊞§ι⁰ζ

এটি বর্তমান ব্যাটারের বলগুলিতে যুক্ত করুন।

≔⎇⁼ζ/⁺²‽³⁼³⁰L§ι⁰ζ

যদি বলটি একটি হয় /, তবে একটি এলোমেলো স্থিতি তৈরি করুন 2..4, অন্যথায় যদি এটি ব্যাটারের 30 তম বল হয় তবে 1অন্যথায় স্থিতি নির্ধারণ করুন 0

¿ζ§≔ι¹ζ⊞ηι

যদি ব্যাটারটি আউট হয় তবে ব্যাটারের স্ট্যাটাসটি সংরক্ষণ করুন অন্যথায় ব্যাটারটি ব্যাটে ফিরুন।

¿⊖Lθ¿⁼¬﹪ΣEηLκ⁶¬ζ

যদি কমপক্ষে দুটি ব্যাটার বাকি থাকে, এবং ব্যাটারটি আউট হয়ে গিয়েছিল balls বল খেলেছে, তবে ...

F⟦⊟η⊟η⟧⊞ηκ»

... বন্ধ এবং বর্তমান ব্যাটারগুলি নিন এবং তাদের বিপরীত ক্রমে ফিরিয়ে দিন।

”|⁴B\[⎇⁻℅↧T`⁵·5KMK⟲M≦»→´⁶_⭆∨R▷↥l⁹KG…≦”

শিরোনামটি মুদ্রণ করুন।

Fθ«

ব্যাটারদের উপর লুপ।

◨⊟ι⁷

ব্যাটারের নাম মুদ্রণ করুন।

◨Σ§ι⁰¦³²

ব্যাটারের বলগুলি মুদ্রণ করুন।

§⪪”(3⪪⪫⧴πZJL:∨XI±URD↗Σ9⟦FZ∕↖l⪪”⁷⊟ι

Not OutRetiredBowled Caught LBWLength দৈর্ঘ্যের সাবস্ট্রিংগুলিতে স্ট্রিং বিভক্ত করে সূচককে বাটারের অবস্থা মুদ্রণ করুন ।

◧IΣE⊟ιΣκ⁶

ব্যাটারের স্কোর মুদ্রণ করুন।

⸿⸿»

পরের লাইনের শুরুতে সরান তবে একটি।

”|QºWPD⟧zNφ[v?Π'vG”◧IΣEυΣι²⁸

মোট মুদ্রণ করুন।

J±¹±¹FE¹³⁻²⁷⊗ι«B⁵⁵ιB⁴⁹ι¿‹ι²⁷«B³⁹ιB⁸ι

সমস্ত কিছুর চারদিকে বাক্স আঁকুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.