লিয়েরস ডাইস মোটামুটি সরল ডাইস গেম। আমি বিধিগুলির কয়েকটি ভিন্ন ভিন্নতা দেখেছি, তবে সংস্করণটি এখানে আমি সবচেয়ে বেশি পরিচিত:
- প্রতিটি খেলোয়াড় 5d6 দিয়ে শুরু হয়
- রাউন্ডের শেষে ডাইস টাল করার সময় বাদে প্রতিটি খেলোয়াড় নিজের ডাইস দেখতে পাবে, তবে কোনও প্রতিপক্ষের নয়
- প্রদত্ত যে কোনও রাউন্ডের শুরুতে, সমস্ত খেলোয়াড়ের কাছে বর্তমানে যা ডাইস রয়েছে তা রোল করে
- তারপরে, একজন খেলোয়াড় (সাধারণত, এটি হয় পূর্ববর্তী রাউন্ডের বিজয়ী বা প্লেয়ারটি সর্বশেষে শুরু হওয়া খেলোয়াড়ের বাম দিকে; আমরা এই কোটএইচটির জন্য প্রাক্তনটি ব্যবহার করব; প্রথমবারের মতো একটি এলোমেলো খেলোয়াড়) নির্দিষ্ট সংখ্যার কতটি টেবিলের উপরে রয়েছে সে সম্পর্কে অনুমান করে (তারাই চাইবে)
- বিডিং ডানদিকে অব্যাহত থাকে, প্রতিটি সময় উচ্চতর হয় (উদাহরণস্বরূপ; 3 পাঁচ, 3 ছক্কা এবং 4 টি দ্বিগুণ সমস্ত 3 টি চারের চেয়ে বেশি, তবে 3 ত্রিশ নয়; 4 টিও উচ্চতর তবে বিডিং সম্ভবত আপনাকে একটি স্থানে ফেলবে অসুবিধা); যতক্ষণ না কোনও প্লেয়ার খেলোয়াড়কে তাদের পূর্ববর্তী মিথ্যাবাদী বলে calls
- এই মুহুর্তে, সমস্ত খেলোয়াড় তাদের ডাইস প্রকাশ করে এবং টেবিলে সর্বমোট বিডের সংখ্যাটি সম্পূর্ণ গণনা করে
- যদি বিডের তুলনায় মোট কম হয়, যে খেলোয়াড় বিড তৈরি করেছিল তাকে অবশ্যই মিথ্যাবাদী বলা সেই খেলোয়াড়কে অবশ্যই মরতে হবে, অন্যথায়, যে খেলোয়াড়কে দরদাতাকে মিথ্যাবাদী বলা হয় তাকে অবশ্যই দরদাতাকে একটি ডাই দিতে হবে (সুতরাং বিডির জয়ী সেগুলি যদি তার বিড অনুসারে কমপক্ষে সেই সংখ্যাটির বেশি হয় তবে সঠিক সংখ্যাটি থাকতে হবে না)
- যখন আপনি পাশা থেকে রান, আপনি হারাবেন
- শেষ প্লেয়ার জিতেছে
উদাহরণ স্বরূপ:
খেলোয়াড়ের একজনের 1,1,2,4,6 আছে প্লেয়ার দু'জনের রয়েছে 1,2,2,3,5 খেলোয়াড় তিনটির 1,3,3,4,6 জন রয়েছে খেলোয়াড় এক: তিনটি ছক্কা। খেলোয়াড় দুই: চার জন। খেলোয়াড় তিন: চার ত্রিশ। খেলোয়াড় এক: পাঁচ জন খেলোয়াড় দুই: ছয় জোড়া। খেলোয়াড় তিন: ছয় ত্রিশ। খেলোয়াড় এক: ছয়টি বাউন্ডারি। খেলোয়াড় দুই: মিথ্যাবাদী! তারা তাদের পাশা প্রকাশ করে এবং গণনা করে (কারণ এটি বন্য) এবং চারটি। দেখা যাচ্ছে যে সেখানে আসলে ছয়টি বাউন্ডারি রয়েছে। সুতরাং খেলোয়াড় দুজন খেলোয়াড়কে একটি মরে যায়। তারা পুনরায় তালিকাভুক্ত করে এবং প্লেয়ার একের পরের রাউন্ডটি শুরু হয়।
এই গেমটি খেলতে আপনাকে অবশ্যই একটি বট লিখতে হবে। এটি অবশ্যই নিম্নলিখিত বিমূর্ত জাভা শ্রেণি প্রয়োগ করতে হবে:
public abstract class Player {
public Player() {}
public String toString() {
return this.getClass().getSimpleName();
}
public abstract String bid(int yourId, int[] diceEachPlayerHas, int[] yourDice, String[] bids);
}
- আপনাকে অবশ্যই বিড পদ্ধতিটি প্রয়োগ করতে হবে
- প্রথম যুক্তি হ'ল টার্ন ক্রমে আপনার বটের বর্তমান অবস্থান, দ্বিতীয়টি হ'ল একটি অ্যারে যা প্রতিটি খেলোয়াড়ের (নিজেকে সহ) বর্তমানে কত ডাইস রয়েছে তা দেখানো হচ্ছে, তৃতীয়টি বর্তমানে আপনার নিজস্ব ডাইসে প্রদর্শিত মানগুলি দেখানো অ্যারে এবং চতুর্থটি বর্তমান রাউন্ড শুরুর পর থেকে তৈরি সমস্ত বিডের একটি অ্যারে - আপনি রাউন্ডের প্রথম বিডটি করেন তবে দৈর্ঘ্য 0 হবে
- আউটপুটটি হয় "নম্বর মুখ" ফর্মের স্ট্রিং বা "মিথ্যাবাদী!" স্ট্রিং হওয়া উচিত! পূর্ববর্তী দরদাতাকে মিথ্যাবাদী বলতে
- যদি আপনার আউটপুট অবৈধভাবে ফর্ম্যাট করা হয় তবে আপনি মুছে ফেলা হবে।
- আপনি toString পদ্ধতি ওভাররাইড করতে পারেন, কিন্তু প্রয়োজন হয় না। তবে, আপনি এটিকে কোনওভাবেই সম্পাদনা করতে পারবেন না যা নিয়ামকের আউটপুটটির পাঠযোগ্যতার সাথে হস্তক্ষেপ করে।
- আপনি নিয়ামক অন্য কোন পাবলিক পদ্ধতি ডাকতে অনুমতি দিলেও হয় না তার প্রধান পদ্ধতি।
- আপনি চলমান ডিরেক্টরিতে কেবল নিজের বটের নিজস্ব নামের সাথে পূর্বনির্ধারিত ফাইলগুলি পড়তে এবং সম্পাদনা করতে পারেন
- আপনাকে অন্য কোনও উত্স থেকে ইনপুট নেওয়ার অনুমতি নেই
- প্রতিটি নতুন গেমের শুরুতে ইনস্ট্যান্স ভেরিয়েবলগুলি পুনরায় সেট করা হয়, তবে স্থির ভেরিয়েবলগুলি হয় না।
স্কোরিং
- এক হাজার গেমের একটি সেট, প্রতিটিতে ৩-৫ জন খেলোয়াড়, প্রতিবার একটি বট যুক্ত হওয়ার সাথে সাথে সিমুলেট করা হবে (তিন বা ততোধিক বট জমা দেওয়ার সাথে সাথে), নিয়ামক উত্সে প্রদর্শিত স্কোর (যে কোনও খেলায় আপনি আপনার প্রতিটি টার্নের শুরুতে 1 পান, প্রতিবার আপনি একটি ডাই ক্যাপচার করেন 10 এবং আপনি জিতলে 1,000 বোনাস পান); প্রতিটি গেমের 5000 সীমা (রাউন্ড নয়) সীমা প্রয়োগ করা।
- আপনার বট গেমসের সর্বশেষ সেট থেকে এর স্কোর দ্বারা স্কোর করা হবে; যোগফলের চেয়ে দশগুণ বেশি তার ভোট স্কোর। (পরবর্তীটির স্কোরের উপর উল্লেখযোগ্য প্রভাব পড়ার সম্ভাবনা নেই)
নিয়ামক উত্স এখানে পাওয়া যাবে।
2015-06-19 হিসাবে স্কোর:
Badnomial: 434,924 + 6x10 = 424,984
Nobody: 282,329 + 6x10 = 282,389
StraightShooter: 265,205 + 5x10 = 265,255
MostlyHonestAbe: 158,958 + 4x10 = 158,998
The Pirate: 157,005 + 1x10 = 157,015
Statistician: 144,012 + 2x10 = 144,032
Fidelio: 49,973 + 2x10 = 49,993
Absurd Bot: 6,831
DrHouse: 2,638 + 3x10 = 2,668
diceEachPlayerHas[yourId]
= আপনার ডাইস গণনা, এবং bids[yourId]
এটি আপনার প্রথম বিড (বা যদি আপনার প্রথম পালা হয় তবে নাল)। এটা কি ঠিক?