গেমের মেকানিক্স এবং স্কোরিং
মিরর সাবসিকোয়েন্স ০০ থেকে ৯৯ পর্যন্ত দুটি স্বাধীন ইউনিফর্ম দুই-অঙ্কের টিকিট টানে, অগ্রণী শূন্যগুলো বজায় রাখে। চারটি অঙ্ককে টিকিটের ক্রম অনুযায়ী সংযুক্ত করা হয়। স্কোর L-এর দৈর্ঘ্য দ্বারা নির্ধারিত হয়, যা দীর্ঘতম প্যালিনড্রোমিক সাবসিকোয়েন্সের দৈর্ঘ্য, যা অবস্থানের ক্রম বজায় রাখে কিন্তু মুছে ফেলার অনুমতি দেয়। এটি সন্নিহিত সাবস্ট্রিংয়ের দৈর্ঘ্য ব্যবহার করে না।
কাঁচা স্কোর max(0, L−2) হিসাবে গণনা করা হয়। একটি সম্পূর্ণ আটকানো স্টেক দুটি টিকিটকেই কভার করে। খেলোয়াড়রা তিনটি মোডের মধ্যে বেছে নিতে পারে: স্কোর, স্কোয়ার বা কুব। প্রতিটি মোড ৯৬% প্রত্যাশিত মোট রিটার্ন অর্জনের জন্য সমস্ত ১০,০০০ সমসম্ভাব্য অর্ডার্ড টিকিট জোড়ার উপর আলাদাভাবে নর্মালাইজ করা হয়।
গুরুত্বপূর্ণ বিষয় হলো, নির্বাচিত পাওয়ার কোন অর্ডার্ড টিকিট জোড়ার স্কোর শূন্য হয় তা পরিবর্তন করে না। মোট পেমআউট নিচের সূত্র ব্যবহার করে গণনা করা হয়:
Gross = 0.96 × আটকানো সম্পূর্ণ স্টেক × raw^(নির্বাচিত মোড + 1) / mean[নির্বাচিত মোড]
মোডগুলোর জন্য আলাদা সঠিক গড় মান [0.281, 0.301, 0.341]। প্রত্যাশিত মোট রিটার্ন ৯৬%, কিন্তু এটি একটি সেশনের জন্য নিশ্চিত নেট লাভ নয়।
নিয়ন্ত্রণ, মোড এবং সেটেলমেন্ট
ডেমোতে গেমের প্রবাহ পরিচালনার জন্য নির্দিষ্ট নিয়ন্ত্রণ রয়েছে:
- স্টেক এবং মোড: একটি সম্পূর্ণ সংগৃহীত স্টেক ব্যবহৃত হয়; স্বাধীন সারির শেয়ার নেই। তিনটি পৃথকভাবে নর্মালাইজড স্কোর পাওয়ার উপলব্ধ।
- অটো এবং স্টপ: অটো মোড সর্বোচ্চ দশটি ড্র শুরু করে। স্টপ ফাংশন বর্তমান সেটেলমেন্ট চলাকালীন ভবিষ্যতের ড্র বাতিল করে।
- সেটেলমেন্ট টাইমিং: সেটেলমেন্ট সাধারণত ৪৮০ মি.সে. অ্যানিমেশন নেয়; রিডিউসড-মোশন মোডে প্রথম অ্যানিমেশন কলব্যাকে সেটেল হতে পারে। সক্রিয় সেটেলমেন্ট এবং অটো কিউ চলাকালীন স্টেক, মোড এবং রিফিল নিয়ন্ত্রণ লক থাকে, যদিও শব্দ চালু থাকে।
- নো আর্লি ব্যাংক: আর্লি ব্যাংক ফিচার নেই; স্টপ শুধুমাত্র ভবিষ্যতের রাউন্ডকে প্রভাবিত করে।
ওয়ালেট এবং পার্সিস্টেন্স
এই ডেমোতে ওয়ালেটের আচরণ নির্দিষ্ট নিয়ম মেনে চলে:
- ইনিশিয়াল ব্যালেন্স: শুরুতে ব্যালেন্স ১০০০।
- রিস্টোরেশন: ব্যালেন্স শুধুমাত্র আইডল অবস্থায় এবং ব্যালেন্স ১০-এর নিচে থাকলে ম্যানুয়ালি ঠিক ১০০০-এ রিস্টোর করা যায়। এটি ব্যালেন্সকে ১০০০ সেট করে এবং ফ্র্যাকশনাল ক্যারি সংরক্ষণ করে।
- ফ্র্যাকশনাল ক্যারি: ফ্র্যাকশনাল ক্যারি সেটেলমেন্ট, রিফিল এবং রিলোড জুড়ে টিকে থাকে।
- পার্সিস্টেন্স: সেটেলড ব্যালেন্স লোকালি টিকে থাকে, এমনকি এটি শূন্যে পৌঁছালেও। তবে, রিলোডে শেষ হওয়া একটি অসমাপ্ত রাউন্ড রিফান্ড বা রিজিউম ছাড়াই শেষ হয়।
গাণিতিক প্রমাণ
এই টেবিলটি সঠিক প্রত্যাশিত মোট রিটার্ন এবং পরিমাপিত নমুনার রিটার্নের মধ্যে পার্থক্য দেখায়। এগুলো হলো সহায়ক নমুনা পর্যবেক্ষণ, গাণিতিক পেমেন্ট নিয়ম বা প্রতিশ্রুত রিটার্ন নয়।
| মোড (পাওয়ার) | রাউন্ড | সঠিক মোট RTP | পরিমাপিত RTP (%) |
|---|---|---|---|
| 1 | 1,000,000 | 0.96 | 96.01708185037631 |
| 2 | 1,000,000 | 0.96 | 96.16489036546116 |
| 3 | 1,000,000 | 0.96 | 96.17173020500567 |
লক্ষ্য রাখুন, পরিমাপিত RTP মানগুলো আনুমানিক এবং এগুলো 0.96 এর সঠিক প্রত্যাশিত মান থেকে সামান্য ভিন্ন হতে পারে।
উদাহরণসহ ব্যাখ্যা
নিম্নলিখিত উদাহরণগুলো প্রকৃত game.js বিশুদ্ধ স্কোর ফাংশনের ভিত্তিতে স্কোরিং ফাংশনটি তুলে ধরে:
- ইনপুট: [0,0,0,0] → র্যাও স্কোর: 2
- ইনপুট: [9,9,9,9] → র্যাও স্কোর: 2
- ইনপুট: [0,1,2,3] → র্যাও স্কোর: 0
সব ক্ষেত্রেই, র্যাও স্কোরটি max(0, L−2) হিসেবে গণনা করা হয়। এক, দুই এবং তিন পাওয়ার র্যাও স্কোর শূন্য হওয়ার বিষয়টি পরিবর্তন করে না।
গোপনীয়তা ও দর্শক
স্টোরেজ: সোর্স সেটলড ডেমো ব্যালেন্স এবং ফ্র্যাকশনাল ক্যারি ব্রাউজার localStorage ব্যবহার করে। এটি অ্যানোনিমিটি প্রতিষ্ঠা করে না বা অন্যান্য প্রসেসিং বাদ দেয় না।
থার্ড পার্টি: টেমপ্লেটে একটি Google Fonts স্টাইলশীট ঘোষণা করা হয়েছে। প্রকৃত ব্রাউজার রিকোয়েস্ট ক্যাপচার বাকি আছে; এটি এটি দাবি করে না যে অন্য কোনো রিকোয়েস্ট বা প্রসেসিং অনুপস্থিত।
অডিয়েন্স: এই গাইডের পলিসি অনুযায়ী লক্ষ্যভুক্ত অডিয়েন্স 18+। এটি স্থানীয় আইন বা একটি কার্যকর বয়স সীমার দাবি নয়। ডেমোতে কোনো অ্যাকাউন্ট-লগইন ফ্লো বা পেমেন্ট ফ্লো নেই, এবং ভার্চুয়াল কয়েনের কোনো নগদ মূল্য নেই।
সচরাচর জিজ্ঞাসিত প্রশ্নাবলী
রু স্কোর কীভাবে গণনা করা হয়?
রু স্কোর max(0, L−2), যেখানে L হলো দীর্ঘতম প্যালিনড্রমিক সাবসিকোয়েন্সের দৈর্ঘ্য। এটি অবস্থানের ক্রম বজায় রাখে এবং ডিলিট করার অনুমতি দেয়, কিন্তু কন্টিনিউয়াস সাবস্ট্রিং দৈর্ঘ্য ব্যবহার করে না।
যদি আমি একটি অসমাপ্ত ড্র চলাকালীন রিলোড করি তবে কী হবে?
রিলোড করলে একটি অসমাপ্ত ড্র শেষ হয়ে যায়, কোনো রিফান্ড বা রিজিউম না দিয়ে। ব্যালেন্স লোকালি বজায় থাকে, কিন্তু অসমাপ্ত রাউন্ডটি রিজিউম করা হয় না।
আমি কি স্বয়ংক্রিয়ভাবে আমার ব্যালেন্স পুনরুদ্ধার করতে পারি?
না। ব্যালেন্স শুধুমাত্র আইডল অবস্থায় এবং ব্যালেন্স 10-এর নিচে থাকলে ম্যানুয়ালি পুনরুদ্ধার করা হয়। এটি ব্যালেন্সকে ঠিক 1000 সেট করে এবং ফ্র্যাকশনাল ক্যারি বজায় রাখে।