WOO logo

اسأل المعالج - العمود 125 - الملحق

مرحبا مايكل،

في مقالك بتاريخ ١٣ ديسمبر ٢٠٠٤، طُرح سؤال حول كيفية تحديد المدفوعات، وقد أجبتَ بإجابة وافية. مع ذلك، لا يتناول هذا السؤال كيفية التعامل مع المدفوعات في الآلات غير الميكانيكية، وأراهن على أن الآلات الميكانيكية وغير الميكانيكية تُدار داخليًا بنفس الطريقة هذه الأيام. يمكنني تقديم إجابة بناءً على تطبيق قمتُ به لنظام يسمح بتحديد أنواع مختلفة من ماكينات القمار. لا أستطيع الجزم ما إذا كانت هذه هي الطريقة التي تتبعها IGT، مع أنني سأستغرب إن كان الأمر مختلفًا تمامًا.

من المرجح أن يكون هذا طويلًا جدًا، لذا إن أردتَ إحالته إلى صاحب السؤال الأصلي، فلا بأس بذلك؛ أو إن أردتَ نشره على موقعك الإلكتروني، فلا بأس أيضًا. أو إن أردتَ مزيدًا من التفاصيل لنشره على موقعك الإلكتروني، فسيسعدني توضيح ذلك أكثر.

من أجل التبسيط، سأتجاهل عامل التعقيد الطفيف للعجلات الافتراضية؛ ولكن ليس لأنها معقدة للغاية، بل لأنها تجعل المناقشة أطول.

أولاً، بعض المصطلحات:

الرموز: الصور الجميلة التي تظهر على العجلات

بالنسبة للآلة المعنية، لدينا مجموعة من الرموز:

{ سبعة حمراء، سبعة بيضاء، سبعة زرقاء، 
 أشرطة حمراء، أشرطة بيضاء، أشرطة زرقاء، 
 الفراغات

سأختصرها على النحو التالي:

{ R7, W7, B7, RB, WB, BB, B }

نافذة العرض: القسم الذي يمكن رؤيته من ماكينة القمار.

في حالة الآلة الحمراء/البيضاء/الزرقاء المذكورة، إذا كانت الآلة التي أعتقد أنها كذلك، فإن نافذة العرض تتكون من ثلاثة (3) صفوف وثلاثة (3) أعمدة. سيتم الإشارة إلى ذلك كنافذة عرض بالحجم [3، 3].

هكذا يبدو منفذ العرض؛ حيث تظهر الإحداثيات في كل موضع: العجلة 0 العجلة 1 العجلة 2
الصف 0 [0, 0] [1, 0] [2, 0]
الصف 1 [0، 1] [1، 1] [2، 1]
الصف 2 [0، 2] [1، 2] [2، 2]

خط الدفع: الإحداثيات في نافذة العرض لمطابقات الرموز الفائزة.

بالنسبة للآلة المعنية، سنفترض أن هناك خط دفع واحد فقط، وهو الصف الأوسط من نافذة العرض.

يمكننا تمثيل هذا كمجموعة من إحداثيات [x, y]:

{[0, 1], [1, 1], [2, 1]} <- الصف الأوسط من نافذة العرض [3, 3]

الدفع: عدد العملات المعدنية المسترجعة لمجموعة فائزة.

غالبًا ما تعتمد المدفوعات على عدد العملات المُستخدمة. في هذه الحالة، سنفترض أنه لا يمكن لعب سوى عملة واحدة، وبالتالي، يكون هناك مدفوعات واحدة فقط لكل مجموعة رموز رابحة.

لذا، لنفترض أن العائد على {R7، W7، B7} هو 500 عملة عند لعب عملة واحدة؛ في هذه الحالة سيكون العائد على:

{ 1, 500, [R7, W7, B7] }

العنصر الأول هو عدد العملات المعدنية التي تم لعبها، والعنصر الثاني هو عدد العملات المعدنية التي سيتم دفعها، والعنصر الثالث هو الرموز التي تؤدي إلى هذا الدفع.

موضع العجلة: رقم توقف العجلة في الخط العلوي من نافذة العرض.

أشار الاستعلام الأصلي إلى أن نقاط التوقف الرابحة لـ [R7، W7، B7] على العجلات المادية هي [8، 8، 8]. سنفترض أن نقطة التوقف رقم 7 تسبق نقطة التوقف رقم 8 مباشرةً. وسنفترض أيضًا أن نقطة التوقف رقم 9 تلي نقطة التوقف رقم 8 مباشرةً على العجلات المادية.

عند تذكر عرض المنفذ أعلاه، إليك كيف سيبدو المنفذ لمزيج رابح من [R7، W7، B7]:

 عجلة 0 عجلة 1 عجلة 2 
 الصف 0 توقف 7/?? توقف 7/?? توقف 7/??
 الصف 1 توقف 8/R7 توقف 8/W7 توقف 8/B7
 الصف الثاني توقف 9/?? توقف 9/?? توقف 9/??

حسنًا، لدينا الآن الأساس لرؤية كيفية تحديد مجموعة رابحة أثناء اللعب، استنادًا إلى الرموز الموجودة على العجلات، ومواضع العجلات، وخطوط الدفع، والمدفوعات.

تذكر أن جميع ماكينات القمار اليوم عبارة عن أجهزة كمبيوتر - على الرغم من أنها ميكانيكية، إلا أنها داخليًا مجرد أجهزة كمبيوتر تقوم بتشغيل برنامج، لذلك يمكننا أن نتخيل كيف قد يعمل البرنامج:

  1. يقوم اللاعب بإدخال العملة المعدنية ويبدأ الدوران.
  2. يقوم برنامج الفتحة بإنشاء 3 أرقام عشوائية لتحديد موضع العجلات.
  3. [تدور العجلات]
  4. املأ نافذة العرض بالرموز التي تظهر على العجلات.
  5. تتم مطابقة الدفعة.
  6. يتم دفع المبالغ المتطابقة.
  7. رغِّ. اشطف. كرر.

الخطوة الخامسة هي الجزء الذي يبدو صعبًا، وهو جوهر السؤال الأصلي. لكن تذكروا أن لدينا خطوط الدفع، والمدفوعات، ومحتويات نافذة العرض لمساعدتنا. باستخدام هذه الأدوات، يسهل علينا تحديد التركيبات الفائزة.

بالنظر إلى مثالنا، لدينا ما يلي:

منفذ العرض: العجلة 0العجلة 1العجلة 2
الصف 0 توقف 7/?? توقف 7/?? توقف 7/??
الصف 1 توقف 8/R7 توقف 8/W7 توقف 8/B7
الصف الثاني توقف 9/?? توقف 9/?? توقف 9/??

خط الدفع :{[0, 1], [1, 1], [2, 1]}
الدفع :{ 1,500, [R7, W7, B7] }

سيحصل برنامج الفتحة على الرموز من إحداثيات خط الدفع في نافذة العرض:

بيانات منفذ عرض إحداثيات خط الدفع
{[0, 1], [1, 1], [2, 1]} == [8/R7, 8/W7, 8/B7]

وبعد ذلك سيتم مقارنتها بالرموز المرتبطة بالدفعة:

معلومات دفع بيانات Viewport
[8/R7, 8/W7, 8/B7] == { 1, 500, [R7, W7, B7] } ?

إذا كان هناك تطابق، يتم منح قيمة الدفع، وإذا لم يكن هناك تطابق، فيتم انتظار اللاعب لإدخال عملة أخرى.

مفتاح كل هذا السحر هو جدول إحداثيات خطوط الدفع وجدول المدفوعات - يتم مطابقة كل دورة للعجلة أثناء اللعب للحصول على الفائزين.

وكل هذا سريع جدًا، جدًا.

باستخدام نظام مواصفات الفتحة الخاص بي، قمت بتنفيذ Wizard of Odds Fruit Slot كدليل على المفهوم، وكاختبار سلامة للتأكد من أن قيمة الدفع الفعلية (التي ينتجها نظامي) صحيحة عبر عدد كبير من عمليات المحاكاة.

يمكنني محاكاة 10 ملايين دورة للعجلات في حوالي 10-12 ثانية (Dell Inspiron 9100 بسرعة 3.2 جيجاهرتز).

وهذا يعني 833,333 دورة في الثانية، وهو أسرع بكثير مما يمكنك أن تأمل في الضغط على زر SPIN!

إذا كان السائل الأصلي، أو أي شخص آخر، يريد مزيدًا من المعلومات، فيمكنه الاتصال بي مباشرة على ***، ولكن من فضلك لا تضع بريدي الإلكتروني على موقع الويب الخاص بك. - TH