لعبة الثعبان: دليل شامل واستراتيجية ونقاط

لعبة الثعبان بالتفصيل: التاريخ والاستراتيجية ورياضيات النقاط وكيف أعدنا بناءها للويب الحديث

كل من يقرأ هذه السطور تقريبًا سبق أن لعب الثعبان. على هاتف Nokia في انتظار الحافلة. على آلة حاسبة بيانية أثناء حصةٍ فقدت معناها. في تبويب متصفح كان من المفترض أن يكون جدول بيانات. إنها واحدة من ألعاب الفيديو القليلة التي تعبر الأجيال حقًّا، وتفعل ذلك دون أن تطلب منك شيئًا يُذكر: أربع جهات، وخط ينمو، وقطعة طعام.

هذه البساطة الظاهرية فخّ، وهي السبب في أننا أمضينا كل هذا الوقت في إعادة بنائها. تبدو لعبة الثعبان مشروع مبتدئ. وهي ليست كذلك. لعبة ثعبان تُشعرك بالرضا — لا تبتلع أمرًا أبدًا، ولا تقتلك على انعطافةٍ نفّذتها تنفيذًا صحيحًا، ولا تتلعثم، ولا تصير أسهل أو أصعب تبعًا لتردد تحديث شاشتك — هي قطعة هندسية شاقّة فعلًا. معظم النسخ التي تجدها على الإنترنت تُخطئ اثنتين على الأقل من هذه النقاط.

هذا المقال هو النسخة المطوّلة من كل ما تعلمناه. يغطّي من أين جاء الثعبان، وماذا تعني القواعد فعلًا، والرياضيات الدقيقة وراء النقاط في نسختنا، وجداول التوقيت اللازمة للعب الجيد، والاستراتيجيات التي تفصل بين نتيجة قدرها 200 ونتيجة قدرها 2000، وعلوم الحاسوب المدهشة المخبّأة داخل شبكة 21×21، والقرارات الهندسية التي تصنع الفرق بين لعبة وأداة. إن كنت تريد فقط أن تتحسّن في اللعبة، فانتقل إلى قسم الاستراتيجية. وإن كنت تريد أن تفهمها، فابدأ من البداية.

لعبة الثعبان

كود تضمين لعبة الثعبان في موقعك:

لقد اطّلعت للتوّ على كامل بنية هذه اللعبة: الشبكة الثابتة 21×21 التي تُبقي النتائج قابلة للمقارنة على كل أحجام الشاشات، والأنماط الثلاثة المتمايزة (الجدران والبوابة والمتاهة بخمس تخطيطات متناوبة)، والسرعات الخمس، لكلٍّ منها منحنى تسارعها وحدّها الأدنى، ونظام النقاط بمضاعف السلسلة الذي يكافئ الجرأة، والتوتات الذهبية التي تنتهي صلاحيتها بعد سبع ثوانٍ، ولحظات الترقّي التي تغيّر اللعبة كل خمس توتات، والقرارات الهندسية الدقيقة التي تجعل هذه النسخة تبدو سريعة الاستجابة لا مجرد أداة تعمل. لقد رأيت جداول الاستراتيجية، ورياضيات التوقيت، والشرح الصادق لسبب أهمية قاعدة تحرّر الذيل. والآن يأتي الجزء العملي: وضع المحرّك نفسه على موقعك، ليتمكّن زوّارك من اللعب دون مغادرة صفحاتك أبدًا.

يمكنك نسخ الكود أدناه وتضمينه في موقعك — داخل المقالات، أو الأشرطة الجانبية، أو التذييلات، أو أينما أردت أن يعيش زوّارك لحظة لعبٍ مركّزة واستراتيجية. تعمل اللعبة كليًّا داخل المتصفح، في حاويةٍ معزولة لا يمكنها قراءة الصفحة المحيطة ولا مسّها. لا تُرسَل أي بيانات لعب ولا تُخزَّن ولا تُسجَّل. حسابات الشبكة تجري محليًّا، والنتائج تعيش في مخزن متصفح الزائر نفسه، وأوامر لوحة المفاتيح واللمس تعمل دون أي ذهاب وإياب إلى خادم. أغلق التبويب فتتبخّر الجلسة كلها. ما يلعبه زوّارك يبقى معهم، وهذه هي بالضبط الطريقة التي عملت بها لعبة الثعبان دائمًا: ليست الشبكة هي المهمّة، بل القرارات المتّخذة داخل من ينظر إليها.

كود التضمين متاح بستّ لغات للواجهة لتناسب جمهورك: الإنجليزية - الإسبانية - الفرنسية - العربية - الصينية - الهندية. يتحكم إعداد اللغة في التسميات والأزرار والإرشادات في الأداة، ويحدّد كذلك اللغة التي تظهر بها واجهة اللعبة. اللعبة نفسها واحدة لكل زائر في العالم، أمّا اللغة التي تُعرَض بها فهي من اختيار زائرك بالكامل، تُكتشَف تلقائيًّا من متصفحه عند أول زيارة ثم تُحفَظ بعد ذلك. في العربية، تنقلب الصفحة كلها إلى اتجاه اليمين إلى اليسار، معكوسةً للواجهة، لتبدو التجربة أصيلة.

غيّر لغة الواجهة بتعديل الوسيط في العنوان: ?lang=ar

اللغات المتاحة: en - es - fr - ar - zh - hi


1- كود iFrame معزول (مثالي للمقالات والصفحات):

إن كنت تنشر دليلًا، أو تحليلًا للاستراتيجية، أو مقالًا معمّقًا عن تصميم الألعاب، أو اتخاذ القرار تحت الضغط، أو رياضيات اللعب الأمثل — تمامًا كالمقال الذي تقرؤه الآن — فإن هذه الطريقة تضع اللعبة كاملة الوظائف مباشرةً في سياق محتواك. يُبقي الـ iFrame المعزول الأداة محصورةً، فيظلّ تخطيطك نظيفًا ويستطيع قرّاؤك لعب جولة دون إعادة تحميل الصفحة. تعمل كل الوظائف تمامًا كما وُصفت: الأنماط الثلاثة (الجدران، البوابة، المتاهة)، والسرعات الخمس (هادئ، كلاسيكي، سريع، محموم، ودرجة إضافية)، ونظام النقاط بمضاعف السلسلة، والتوتات الذهبية، ولحظات الترقّي، وأوامر لوحة المفاتيح واللمس، كل ذلك في غرفة صغيرة قائمة بذاتها على موقعك.

<iframe data-tooliqo src="https://tools.tooliqo.co/snake-game/?lang=ar" 

title="Tooliqo — snake-game"

  style="width:100%;border:0;height:720px" height="720" loading="lazy" scrolling="no"

  allowfullscreen allow="fullscreen; clipboard-write"></iframe>

<script src="https://tools.tooliqo.co/embed.js" async></script>


2- سكربت مرن (مناسب للأشرطة الجانبية والقوالب):

للأشرطة الجانبية أو التذييلات أو مناطق الودجت، يحمّل هذا التضمين الأخفّ اللعبة عند الطلب ويتكيّف مع حاويته. إنه المحرّك نفسه، والأنماط الثلاثة نفسها، والسرعات الخمس نفسها، ودعم اللغات الست نفسه، ونظام النقاط نفسه، والتوتات الذهبية نفسها، وآلية الترقّي نفسها؛ لكنه مغلّف للأماكن التي قد يبدو فيها الـ iFrame ثقيلًا. ضعه في قالبك، فتظهر اللعبة حيث تريد ومتى تريد. يستطيع زوّارك السعي وراء النتائج العالية، أو إتقان نمط المتاهة، أو مجرد لعب جولة سريعة دون مغادرة موقعك أبدًا.

 <div class="tooliqo-tool" data-tool="snake-game" data-lang="ar" 
data-height="720"></div> <script src="https://tools.tooliqo.co/embed.js" async></script>

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

ما الذي يغطّيه هذا الدليل

قواعد الثعبان، ولماذا هي مصمَّمة تصميمًا بارعًا

مجموعة قواعد الثعبان الكاملة تتّسع في أربع جمل. تتحكّم في خطٍّ مؤلَّف من خلايا متّصلة. يتقدّم الرأس خليةً واحدة في كل مرة ولا يتوقّف أبدًا. يمكنك توجيهه أعلى أو أسفل أو يمينًا أو يسارًا، لكن لا يمكن أبدًا توجيهه إلى الخلف مباشرةً داخل رقبتك. حين يبلغ الرأس قطعة طعام، ينمو الثعبان خليةً واحدة وتظهر قطعة جديدة في مكانٍ آخر؛ وحين يصطدم الرأس بجدار أو بأي جزءٍ من جسمه، تنتهي الجولة.

ما يجعل هذا تصميمًا بارعًا، لا مجرد تصميمٍ بسيط، هو حلقة التغذية الراجعة. في كل لعبة أركيد أخرى تقريبًا، يجعل التقدّم في اللعبة اللعبة أسهل. في الثعبان، كل نجاحٍ يجعل اللحظة التالية أصعب، لأن المكافأة هي العائق. التفاحة التي أكلتها قبل ثلاث دقائق صارت الآن جدارًا يجب الالتفاف حوله. لا شيء آخر في تصميم الألعاب المبكرة ضغَط المخاطرة والمكافأة في جسمٍ واحد بهذا القدر من النقاء.

وثمة قطعة تصميمٍ ثانية أدقّ تعمل هنا. بما أن الثعبان لا يتوقّف أبدًا، فلا يمكنك التوقّف للتفكير داخل عالم اللعبة. كل ثانية تردّد هي خليةُ حركةٍ إلى الأمام لم تخطّط لها. فالثعبان إذن ليس لعبة ردود أفعال تتنكّر في هيئة أحجية؛ بل هو لعبة أحجية تُلعَب بإيقاعٍ ثابت، وهذا أمرٌ أندر وأكثر إثارةً للاهتمام بكثير.

أخيرًا، للثعبان منحنى مهارةٍ يكاد يكون مثاليًّا. المبتدئ التامّ قد يصمد ثلاثين ثانية ويأكل ثلاث تفاحات. اللاعب المتمرّس قد يملأ ثلث اللوحة. واللاعب الذي يفهم الهندسة يستطيع، من حيث المبدأ، أن يملأ اللوحة كلها. المسافة بين هذه النتائج مسألة معرفةٍ وتخطيطٍ بالكامل، لا مسألة عتاد، ولا حظّ، ولا مال.

تاريخٌ كامل للثعبان: من Blockade إلى المتصفح الحديث

1976: Blockade، السلف الذي لم يسمّه أحدٌ ثعبانًا

يبدأ هذا النوع من الألعاب في نوفمبر 1976 بجهاز أركيد اسمه Blockade، طُوِّر لدى Gremlin Industries في سان دييغو وصمّمه Lane Hauck، مع عمل البرمجة الذي أنجزه Ago Kiss. كان بالأبيض والأسود، ولاعبَيْن، ولم ترد كلمة «ثعبان» فيه في أي موضع. كان كل لاعبٍ يوجّه علامةً على الشاشة بأربعة أزرار اتجاهية؛ تترك العلامة خلفها أثرًا ممتلئًا، والخاسر هو أول من يصطدم بجدار أو بأثر.

يُقال إن الفكرة وُلدت من تجارب Hauck بلغة التجميع على مفهومٍ بسيط: جسمٌ متحرّك لا يمكنه أبدًا العودة إلى مكانٍ مرّ به من قبل. عرضته Gremlin في معرض جمعية مشغّلي الموسيقى الأمريكيين في شيكاغو سنة 1976، حيث لقي استقبالًا بالغ الحرارة — إلى درجة أن عدة مصنّعين آخرين كانت لديهم نسخهم الخاصة في السوق قبل أن تتمكّن Gremlin من التوريد بكميات كبيرة. أول لعبة ثعبانٍ مهمّة استُنسخت قبل صدورها.

من 1977 إلى 1982: موجة النسخ وميلاد الثعبان الفردي

أصدرت Atari لعبة Surround لجهاز Atari 2600 سنة 1977 كأحد عناوين إطلاق المنصّة؛ وباعت Sears اللعبة نفسها باسم Chase. على الحواسيب المنزلية، ظهرت نسخة اسمها Worm على جهاز TRS-80 سنة 1978، كتبها P. Trefonas ووُزِّعت عبر مجلة CLOAD، تلتها نسخٌ لأجهزة Commodore PET وApple II.

جاء التحوّل الحاسم في ديسمبر 1982، حين أصدرت Rock-Ola لعبة Nibbler. تلك هي اللحظة التي يصير فيها هذا النوع اللعبة التي نعرفها. كانت Nibbler فردية، وتضمّنت اثنتين وثلاثين متاهةً متمايزة، والأهمّ أنها كانت فيها طعام: كان الثعبان ينمو لأنك تُطعمه، لا لأن الوقت يمرّ. وكل ألعاب الثعبان تقريبًا منذ ذلك الحين تنحدر من Nibbler لا من Blockade.

أنتجت Nibbler كذلك واحدة من أعظم قصص الأركيد. كانت أول لعبة أركيد بعدّاد نقاطٍ من تسع خانات، ما يعني أن نتيجةً قدرها مليار كانت ممكنة نظريًّا، وكانت Rock-Ola تقدّم جهازًا مجانيًّا لأول لاعبٍ يبلغه. اقترب Tom Asaki من ذلك في صالة Twin Galaxies في أوتمووا بولاية آيوا، إذ بلغ مرةً 793 مليونًا قبل أن ينكسر عصا التحكم فعليًّا. وفي يناير 1984، لعب Tim McVey أكثر من أربعين ساعة على قطعةٍ نقدية واحدة وأنهى اللعبة بنتيجة 1,000,042,270 نقطة: أول نتيجة مليار نقطة في تاريخ ألعاب الفيديو. وأعلنت مدينة أوتمووا يوم 28 يناير 1984 «يوم Tim McVey»، فصار أول لاعب ألعاب فيديو يحمل يومًا بلديًّا باسمه. ووُثِّقت الملحمة كلها لاحقًا في فيلم Man vs Snake.

1991: الثعبان يهرب إلى نظام التشغيل

حين أطلقت Microsoft نظام MS-DOS 5.0 سنة 1991، تضمّن QBasic، وكان QBasic يأتي مع برنامج مثالٍ اسمه NIBBLES.BAS. بالنسبة إلى عددٍ كبير جدًّا من الناس الذين صاروا لاحقًا مبرمجين، كانت تلك أول لعبةٍ قرؤوا شفرتها المصدرية على الإطلاق. من الصعب المبالغة في أهمية ذلك: صار الثعبان لا مجرد لعبة، بل «البرنامج الحقيقي الأول» المعياري، الشيء الذي كنت تبنيه لتثبت لنفسك أنك قادرٌ على بناء الأشياء.

في الفترة نفسها، انتشر الثعبان على الآلات الحاسبة البيانية. كانت آلات Texas Instruments التي هيمنت على الفصول الدراسية تملك من الشاشة والمعالج ما يكفي بالكاد لتشغيله، ولا شيء من المشتّتات التي كانت ستجعل أي شيء أكثر طموحًا جديرًا بالاهتمام.

1997: هاتف Nokia 6110، وأكبر جمهورٍ حظيت به لعبةٌ يومًا

في ديسمبر 1997، أطلقت Nokia هاتف 6110، وهو هاتف احترافي بشاشةٍ أحادية اللون من 84×48 بكسل فقط. كان فريق التسويق في Nokia قد طلب من مهندس برمجيات اسمه Taneli Armanto بناء بضع ألعابٍ صغيرة له. فأنتج ثلاثًا: Memory وLogic وSnake.

صمّم Armanto تحت قيودٍ قاسية — درجتان لونيّتان، بكسلات داكنة على شاشة LCD مائلة إلى الخضرة، لوحة أرقام بدل عصا التحكم، ومعالجٌ خالٍ من كل زائد. هذه القيود هي بالضبط سبب بقاء اللعبة. لم يكن ثمة ما يُحذَف. يُقدَّر أن الثعبان الأصلي وصل إلى نحو 350 مليون جهاز؛ وبين 1997 و2007، شحنت Nokia أكثر من 400 مليون هاتف بنسخةٍ مثبَّتة مسبقًا. وطوال فترةٍ في مطلع الألفية، كان عدد من يلعبون الثعبان في أي يومٍ على الأرض أكبر من عدد لاعبي أي لعبة فيديو أخرى.

ثمة تفصيلٌ في تصميم Armanto يستحقّ أن يكون أشهر بكثير، لأننا استعرنا فلسفته. أدخل عمدًا تأخيرًا صغيرًا جدًّا قُبيل الاصطدام مباشرةً — حفنة مِلّي ثانية يمكن خلالها لأمرٍ متأخّرٍ أن ينقذك. إنها قطعة تصميمٍ إنسانية صغيرة تعترف بهدوءٍ بأن اللاعب كائنٌ بشري ذو جهازٍ عصبي، لا آلة حالات.

وصل Snake II إلى هاتف Nokia 3310 سنة 2000، على هاتفٍ بِيع منه أكثر من 126 مليون نسخة. أضاف الوظائف الثلاث التي لا تزال معظم النسخ الحديثة تنسخها: ساحة لعبٍ ملتفّة تخرج من حافةٍ فتعود من الحافة المقابلة، وعوائق متاهةٍ داخل الساحة، وطعامًا إضافيًّا محدود الوقت يساوي نقاطًا زائدة. نمط البوابة لدينا، ونمط المتاهة، والتوتات الذهبية أحفادٌ مباشرون لـ Snake II، ونقول ذلك بسرور.

من 2016 فصاعدًا: slither.io وعصر المتصفح

في مارس 2016، نشر مطوّرٌ علّم نفسه بنفسه اسمه Steve Howse لعبة slither.io للمتصفحات وiOS وAndroid. أخذ مفهوم الثعبان، وجعله متعدّد اللاعبين على نطاقٍ هائل، وجعل الثعابين ناعمةً منحنية بدل أن تكون مقيَّدةً بالشبكة، وقلَب القاعدة المركزية: تموت حين يصطدم رأسك بلاعبٍ آخر، لكن يمكنك أن تتقاطع مع نفسك بحرّية. ومدفوعةً بترويجٍ قويّ من قنوات YouTube الكبرى، تصدّرت متجر التطبيقات، وصارت من أكثر مواقع الويب زيارةً ذلك الصيف، وتجاوزت مئة مليون تنزيل على Android وحده.

أثبتت slither.io شيئًا مهمًّا عن هذا النوع من الألعاب. الثعبان ليس لعبةً محدَّدة؛ بل هو آلية — خطٌّ ينمو ولا يجوز أن يقطع شيئًا — وهذه الآلية قادرة على حمل تنوّعٍ هائل من التصاميم. لم تختفِ النسخة الكلاسيكية على الشبكة؛ بل صارت فقط النسخة «المعيارية» التي تعود إليها كل مواقع ألعاب المتصفحات، وكل بيضات فصح محرّكات البحث، وكل دروس تعلّم البرمجة.

الخط الزمني في لمحة

محطات رئيسية في تاريخ نوع لعبة الثعبان
السنةالعنوان أو الحدثالمنصّةلماذا كان مهمًّا
1976Blockade (من Gremlin Industries، صمّمها Lane Hauck)أركيدابتكرت آلية الأثر القاتل؛ لاعبَيْن فقط
1977Surround (بِيعت أيضًا باسم Chase)Atari 2600نقلت المفهوم إلى المنزل كعنوان إطلاق
1978Worm، من P. TrefonasTRS-80أول نسخة حاسوبٍ شخصي واسعة الانتشار
1982Nibbler (من Rock-Ola)أركيدفردية، نموّ بالطعام، 32 متاهة؛ النموذج الحقيقي
1984Tim McVey يحقّق 1,000,042,270 في Nibblerأركيدأول نتيجة مليار في تاريخ ألعاب الفيديو
1991NIBBLES.BAS مع QBasic في MS-DOS 5.0حاسوب شخصيصارت أول شفرة لعبةٍ يقرؤها جيلٌ كامل
1997Snake، من Taneli ArmantoNokia 6110نحو 350 مليون جهاز؛ أطلقت ألعاب الجوال
2000Snake IINokia 3310أضافت الحواف الملتفّة والمتاهات والطعام الإضافي
2016slither.io، من Steve Howseالمتصفح، iOS، Androidإعادة ابتكارٍ متعددة اللاعبين هائلة؛ ظاهرة عالمية
اليومنسخٌ أصيلة للمتصفح كهذهأي جهازبلا تثبيت، بلا حساب، لعبٌ فوري، إتاحة وصولٍ كاملة

خلف كواليس لعبة الثعبان لدينا: ماذا بنينا ولماذا

بُنيت نسختنا من الصفر كملفٍّ واحد قائم بذاته، بلا مكتبةٍ خارجية، وبلا خطّ ويب، وبلا طلب شبكة. كان هذا القيد متعمَّدًا. لعبةٌ مضمَّنة داخل مقال يجب أن تُحمَّل فورًا، ويجب ألّا تُبطئ أبدًا الصفحة المستضيفة لها، ويجب ألّا تتعطّل أبدًا لأن خادمًا خارجيًّا مرّ بيومٍ سيّئ.

بصريًّا، اتّجهنا في اتجاهٍ لا تسلكه معظم ألعاب الثعبان. المظهر الافتراضي لهذا النوع هو الأخضر النيّوني على الأسود — كليشيه أركيد سهل التبنّي وصعب الجعل مدروسًا. بنينا بدلًا من ذلك «حوضًا حيويًّا»: ساحة لعبٍ بلون الرمل الدافئ داخل قشرةٍ خضراء نفطية عميقة، مع ثعبانٍ عقيقي الجسم يستدقّ تدريجيًّا، له رأسٌ حقيقي، وعينان تتبعان اتجاه الحركة، ولسانٌ يرتعش بين الحين والآخر. والطعام توتةٌ بساقٍ ولمعة، لا مربّع.

غير أن أكبر قرارٍ بصري ليس لونًا. إنه الحركة. في معظم تطبيقات الثعبان، ينتقل الثعبان آنيًّا من خليةٍ إلى خلية، لأن محرّك العرض يرسم حالة اللعبة بالضبط، وحالة اللعبة قائمةٌ من إحداثيات الشبكة. أمّا نسختنا فتُدرِج قيمًا بينية: بين حركةٍ منطقية والتالية، ينزلق كل جزءٍ بسلاسة من حيث كان إلى حيث سيكون. يبقى منطق اللعبة شبكةً صارمة — وهذا مهمٌّ للعدالة — لكن العرض متّصل. هذا هو الفرق بين نموذجٍ أوّلي ومنتَج، ويكلّف ربما ثلاثين سطرًا من الشفرة.

ملخّص الميزات

ما تتضمّنه الأداة
المجالالتفصيل
اللوحةشبكة ثابتة 21 × 21 (441 خلية) على أي حجم شاشة، لتبقى النتائج قابلة للمقارنة
الأنماطالجدران، البوابة، المتاهة (خمس تخطيطات متاهةٍ متناوبة)
السرعاتهادئ، كلاسيكي، سريع، محموم؛ لكلٍّ منحنى تسارعه وحدّه الأدنى
النقاطمكافأة المستوى، مضاعف السلسلة حتى خمسة أضعاف، توتات ذهبية تساوي ثلاثة أضعاف
الأرقام القياسيةأفضل نتيجة محفوظة على حدةٍ لكل تركيبة نمطٍ وسرعة
الإحصاءاتالجولات المُلعَبة، والتوتات المأكولة، وأطول ثعبان، وإجمالي وقت اللعب
أدوات التحكممفاتيح الأسهم، وWASD، ومفاتيح ZQSD، ولوحة اتجاهٍ على الشاشة، وإيماءات السحب
العرضسمتان فاتحة وداكنة، ملء شاشةٍ حقيقي بتخطيط عمودَيْن على الشاشات العريضة
اللغاتالإنجليزية والفرنسية والإسبانية والصينية والهندية والعربية بدعم الاتجاه من اليمين إلى اليسار
الصوتنغمات تركيبية مولَّدة في المتصفح، مكتومة افتراضيًّا، مع اهتزازٍ لمسي على الجوال
إتاحة الوصولقابلة للاستخدام بلوحة المفاتيح، إعلانات لقارئات الشاشة، دعم تقليل الحركة

لماذا لا تغيّر الشبكة حجمها أبدًا

هذا هو قرار التصميم الذي جادلنا حوله أكثر من غيره، فهو يستحقّ شرحًا. كثيرٌ من ألعاب الثعبان في المتصفح تُحجِّم الشبكة تبعًا للنافذة: الشاشة الأكبر تحصل على خلايا أكثر. يبدو ذلك سخيًّا. وهو في الواقع غير عادل، لأنه يعني أن نتيجةً قدرها 500 على هاتف ونتيجةً قدرها 500 على حاسوب تقيسان لعبتَيْن مختلفتَيْن. اللوحة الأكبر أسهل — مساحةٌ أكبر للمناورة، ومضمارٌ أطول قبل أن يصير ذيلك مشكلة.

ثبّتنا الشبكة على 21 × 21 وحجّمنا حجم الخلية بدلًا من ذلك. على هاتف، قد تكون كل خليةٍ ستّة عشر بكسلًا؛ وفي ملء الشاشة على شاشةٍ كبيرة، قد تبلغ كل خليةٍ نحو خمسين. تشغل اللوحة المساحة المتاحة، لكن اللعبة واحدةٌ في كل مكان. رقمك القياسي الشخصي يعني الشيء نفسه على كل جهازٍ تملكه.

وكان اختيار 21 بدل 20 متعمَّدًا أيضًا: عددٌ فردي من الصفوف والأعمدة يمنح خليةً مركزية حقيقية، ما يجعل موضع البداية متناظرًا. وكما سنرى لاحقًا، لذلك أيضًا نتيجةٌ رياضية شائقة حقًّا.

المرجع الكامل للنقاط

كل شيءٍ في نظام النقاط يستعمل حسابًا صحيحًا، ما يعني أن كل نتيجةٍ قابلة للتكرار بالضبط، وأنه لا مفاجآت في الفاصلة العائمة. إليك النظام كله، مكتوبًا بالكامل.

المعادلات الأساسية

كل الصيغ التي تستعملها اللعبة
المقدارالمعادلةملاحظات
المستوىالمستوى = 1 + ⌊التوت ÷ 5⌋يُحسب التوت منذ بداية الجولة
القيمة الأساسية للتوتةالأساس = 10 + 2 × (المستوى − 1)يزيد بنقطتَيْن لكل مستوى، بلا حدّ
مضاعف السلسلةالمضاعف = min(5, 1 + ⌊السلسلة ÷ 3⌋)تُصفَّر السلسلة إذا مرّت أكثر من 5 ثوانٍ بين توتتَيْن
النقاط المكتسبةالمكتسب = الأساس × المضاعف × الذهبيالذهبي = 3 للتوتة الذهبية، وإلا 1
فترة الحركةالخطوة = max(الأدنى, البداية − (المستوى − 1) × التناقص)مِلّي ثانية بين حركتَيْن منطقيّتَيْن
سرعة الثعبانخلايا/ثانية = 1000 ÷ الخطوةتحويلٌ مباشر من فترة الحركة
زمن عبور اللوحةثوانٍ = 21 × الخطوة ÷ 1000الزمن اللازم لقطع عرض اللوحة كاملًا
مسافة رد الفعلخلايا = زمن رد الفعل ÷ الخطوةكم يتقدّم الثعبان بينما تتفاعل
طول الثعبانالطول = 3 + التوتيبدأ الثعبان دائمًا بثلاث خلايا

الثوابت في لمحة

قيمٌ ثابتة تحكم اللعبة كلها
الثابتالقيمةالأثر
حجم الشبكة21 × 21 = 441 خليةساحة اللعب الكاملة
طول البداية3 خلايارأسٌ زائد جزءَيْ جسم
النقاط الأساسية10قيمة توتةٍ في المستوى 1 بلا سلسلة
مكافأة المستوى+2 نقطة لكل مستوىتتراكب مع المضاعف
توتات لكل مستوى5كل 5 توتات، يرتفع المستوى 1
نافذة السلسلة5000 مِلّي ثانيةأقصى فاصلٍ بين توتتَيْن للحفاظ على السلسلة
خطوة السلسلة3 توتاتكل 3 توتاتٍ متتابعة، يرتفع المضاعف 1
سقف السلسلة×5لا يتجاوز المضاعف خمسة أبدًا
مكسب التوتة الذهبية×3يُطبَّق فوق مضاعف السلسلة
عمر التوتة الذهبية7000 مِلّي ثانيةثم تتلاشى وتختفي
تواتر التوتة الذهبيةكل 4 توتاتفقط حين لا توجد واحدةٌ على اللوحة أصلًا

تدرّج المستويات

التوت المطلوب، وطول الثعبان، وقيمة التوتة لكل مستوى
المستوىالتوت المأكولطول الثعبانالقيمة الأساسية للتوتةالقيمة عند سلسلة ×5التوتة الذهبية عند ×5
10–43–71050150
25–98–121260180
310–1413–171470210
415–1918–221680240
520–2423–271890270
625–2928–3220100300
730–3433–3722110330
835–3938–4224120360
940–4443–4726130390
1045–4948–5228140420
1570–7473–7738190570
2095–9998–10248240720
30145–149148–152683401020

مضاعف السلسلة

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

طول سلسلة الكومبو والمضاعف الناتج
التوت في السلسلة الحاليةالمضاعفقيمة التوتة في المستوى 1قيمة التوتة في المستوى 10
الأولى إلى الثالثة×11028
الرابعة إلى السادسة×22056
السابعة إلى التاسعة×33084
العاشرة إلى الثانية عشرة×440112
الثالثة عشرة فما فوق×550140

مصفوفة النقاط الكاملة لكل توتة

نقاطُ توتةٍ عادية، حسب المستوى والمضاعف. اضرب في ثلاثة للتوتة الذهبية.
المستوى×1×2×3×4×5
11020304050
21224364860
31428425670
41632486480
51836547290
620406080100
722446688110
824487296120
9265278104130
10285684112140

مثالٌ محلول من جولةٍ حقيقية

حين اختبرنا اللعبة المكتملة، كتبنا لاعبًا آليًّا يقرأ موضع التوتة مباشرةً من اللوحة المرسومة ويتّجه إليها. في جولةٍ مسجَّلة، أكل خمس توتات وأنهى بنتيجةٍ قدرها 70 بالضبط، وطولٍ قدره 8، والمستوى 2. يستحقّ هذا الرقم وقفة، لأنه يُظهِر النظام كله في سطرٍ واحد.

  1. التوتة 1: المستوى 1، الموضع 1 في السلسلة، المضاعف ×1 ← 10 نقاط (المجموع الجاري 10)
  2. التوتة 2: المستوى 1، الموضع 2 في السلسلة، المضاعف ×1 ← 10 نقاط (المجموع 20)
  3. التوتة 3: المستوى 1، الموضع 3 في السلسلة، المضاعف ×1 ← 10 نقاط (المجموع 30)
  4. التوتة 4: المستوى 1، الموضع 4 في السلسلة، المضاعف ×2 ← 20 نقطة (المجموع 50)
  5. التوتة 5: المستوى 1، الموضع 5 في السلسلة، المضاعف ×2 ← 20 نقطة (المجموع 70)، ثم يرتفع المستوى إلى 2

لاحظ أن التوتة الرابعة تساوي ضعف الأولى، مع أن شيئًا في اللوحة لم يتغيّر. هذا هو مجمل الحجّة الاستراتيجية للّعب الجريء: التردّد لا يهدر الوقت فحسب، بل يُصفِّر دخلك بنشاط.

معايير النقاط والحدّ الأقصى النظري

يُظهِر الجدول أدناه ما يساويه عددٌ معيّن من التوت إن لم تبنِ أي سلسلة: عامِلها كالأرضية، لا كالهدف. اللاعب الذي يحافظ على مضاعفٍ قدره خمسة أضعاف طوال معظم الجولة سيبلغ نحو خمسة أضعاف هذه الأرقام.

معايير النقاط بلا سلسلة، والجولة نفسها مُلعَبةً بالمضاعف الأقصى
التوت المأكولطول الثعبانالمستوى المبلوغالنتيجة بلا سلسلةالنتيجة بـ ×5 مستمرّ
10133110550
252863501750
5053119504750
10010321290014500
20020341980049000
438 (جولة مثالية)441 (لوحة ممتلئة)8842312211560

هذا السطر الأخير هو السقف. تحوي اللوحة 441 خلية، ويبدأ الثعبان بثلاث، فالجولة المثالية تأكل 438 توتة وتنتهي بالثعبان يشغل كل خلية. عند تلك النقطة، يكون المستوى 88 وتساوي كل توتة 184 نقطة قبل المضاعف. لم يفعلها أحد. إن حقّقتَها يومًا، فسيُظهِر رقم «الأطول» في لوحة أرقامك القياسية 441 ولن يبقى مكانٌ للتحرّك.

السرعة والتوقيت ونوافذ رد الفعل

كل إعداد صعوبةٍ معرَّفٌ بثلاثة أرقام: الفترة بين الحركات في المستوى 1، وبكم مِلّي ثانية تتقلّص هذه الفترة لكل مستوى، والأرضية التي لا تنزل تحتها أبدًا.

ملامح سرعة إعدادات الصعوبة الأربعة
الإعدادفترة البدايةالتقلّص لكل مستوىأسرع فترةالمستوى الذي تُبلَغ عنده السرعة القصوى
هادئ170 مِلّي ثانية6 مِلّي ثانية110 مِلّي ثانية11
كلاسيكي130 مِلّي ثانية6 مِلّي ثانية80 مِلّي ثانية10
سريع100 مِلّي ثانية5 مِلّي ثانية60 مِلّي ثانية9
محموم78 مِلّي ثانية4 مِلّي ثانية45 مِلّي ثانية10

فترة الحركة لكل مستوى

المِلّي ثانية بين الحركات عند كل مستوى، لكل صعوبة
المستوىهادئكلاسيكيسريعمحموم
117013010078
21641249574
31581189070
41521128566
51461068062
61401007558
7134947054
8128886550
9122826046
10 فما فوق116 ثم 110806045

تحويل المِلّي ثانية إلى شيءٍ يمكنك الإحساس به

رقمٌ مثل «80 مِلّي ثانية لكل حركة» لا يعني شيئًا حتى تحوّله إلى خلايا في الثانية وزمن عبورٍ للّوحة. هذا الجدول يفعل ذلك، ثم يفعل شيئًا أنفع: يُظهِر كم يتقدّم الثعبان أثناء ردّ فعلٍ بشري نموذجي. زمن رد الفعل البصري البسيط لدى البالغين يقع عادةً حول 200 إلى 250 مِلّي ثانية. اعتمدنا 250 مِلّي ثانية كرقمٍ متحفّظ.

تحويلات السرعة ومسافة رد الفعل عند زمن رد فعلٍ قدره 250 مِلّي ثانية
الإعداد والمستوىالفترةخلايا في الثانيةثوانٍ لعبور اللوحةخلايا مقطوعة بينما تتفاعل
هادئ، المستوى 1170 مِلّي ثانية5.93.571.5
هادئ، السرعة القصوى110 مِلّي ثانية9.12.312.3
كلاسيكي، المستوى 1130 مِلّي ثانية7.72.731.9
كلاسيكي، السرعة القصوى80 مِلّي ثانية12.51.683.1
سريع، المستوى 1100 مِلّي ثانية10.02.102.5
سريع، السرعة القصوى60 مِلّي ثانية16.71.264.2
محموم، المستوى 178 مِلّي ثانية12.81.643.2
محموم، السرعة القصوى45 مِلّي ثانية22.20.955.6

اقرأ العمود الأخير بعناية، فهو يحوي أهمّ فكرةٍ في هذا المقال كله. عند السرعة القصوى لنمط محموم، بحلول الوقت الذي تكون فيه قد رأيت مشكلةً وحرّكت إصبعك، يكون الثعبان قد قطع أكثر من خمس خلايا — رُبع عرض اللوحة. لا يمكنك التفاعل للخروج من ثعبانٍ سريع. يمكنك فقط التخطيط للخروج منه. كل لاعبٍ جيد يلعب في الواقع ثانيتَيْن أو ثلاثًا في المستقبل، والحاضر المرئيّ ليس إلا لتأكيد أن الخطة لا تزال صالحة.

نافذة التوتة الذهبية

تعيش التوتة الذهبية سبع ثوانٍ بالضبط. وما إن كنت تستطيع بلوغها فيتوقّف كليًّا على فترة حركتك الحالية. أسوأ حالةٍ على لوحة 21 × 21 هي رحلة من زاويةٍ إلى زاوية، أي مسافة مانهاتن قدرها 40 خلية.

الحركات المتاحة خلال عمر التوتة الذهبية البالغ سبع ثوانٍ
الإعداد والمستوىالفترةالحركات المتاحة في 7 ثوانٍأسوأ حالةٍ 40 خلية — هل يمكن بلوغها؟
هادئ، المستوى 1170 مِلّي ثانية41بالكاد، بمسارٍ خالٍ تمامًا
هادئ، السرعة القصوى110 مِلّي ثانية63بأريحية
كلاسيكي، المستوى 1130 مِلّي ثانية53نعم، مع هامشٍ لالتفاف
كلاسيكي، السرعة القصوى80 مِلّي ثانية87بسهولة
سريع، المستوى 1100 مِلّي ثانية70بسهولة
محموم، السرعة القصوى45 مِلّي ثانية155دائمًا تقريبًا

ينتج عن ذلك خلاصةٌ معاكسة للحدس حقًّا: التوتات الذهبية أصعب ما تكون جمعًا في الإعداد الأبطأ. يمنحك نمط هادئ وقت تفكيرٍ أطول لكل حركة، لكن حركاتٍ أقلّ داخل مؤقّتٍ ثابت قدره سبع ثوانٍ. إن كنت تطارد نقاط المكافأة لا البقاء، فنمطا كلاسيكي وسريع أفضل ميدانَيْ صيدٍ من هادئ.

نافذة السلسلة بالحركات، لا بالثواني

ينطبق المنطق نفسه على نافذة السلسلة البالغة خمس ثوانٍ، والأثر هنا أقوى. متوسّط مسافة مانهاتن بين خليتَيْن عشوائيّتَيْن على لوحة 21 × 21 هو نحو 14 خلية بالضبط، فهذه هي الرحلة النموذجية من توتةٍ إلى التالية.

كم حركةً تمنحك نافذة السلسلة البالغة خمس ثوانٍ فعلًا
الإعداد والمستوىالفترةالحركات في نافذة الـ 5 ثوانٍالهامش على الرحلة الوسطى البالغة 14 خلية
هادئ، المستوى 1170 مِلّي ثانية29نحو 2.1 ضعف
كلاسيكي، المستوى 1130 مِلّي ثانية38نحو 2.7 ضعف
سريع، المستوى 1100 مِلّي ثانية50نحو 3.6 ضعف
محموم، المستوى 178 مِلّي ثانية64نحو 4.6 ضعف
محموم، السرعة القصوى45 مِلّي ثانية111نحو 7.9 ضعف

بعبارةٍ أخرى، الإعدادات السريعة ليست أكثر مخاطرةً فحسب — بل هي أيضًا حيث تعيش أعلى النتائج، لأنها تجعل المضاعفات المستمرّة البالغة خمسة أضعاف واقعية. نمط هادئ هو الإعداد الذي تتعلّم عليه. وهو ليس الإعداد الذي تحطّم عليه الأرقام القياسية.

الأنماط الثلاثة

الجدران

مجموعة القواعد الأصلية لسنة 1997. الحدّ صلبٌ؛ لمسه ينهي الجولة. إنها أنقى نسخةٍ من اللعبة، وهي التي ينبغي أن تُقاس عليها نتيجتك إن أردت مقارنة نفسك بالكلاسيكيات. يعاقب نمط الجدران الانجراف: بلا مهربٍ عند الحواف، يصير المحيط أخطر مكانٍ في اللوحة لا أأمنه.

البوابة

موروثٌ من Snake II على هاتف Nokia 3310. اخرج من أي حافةٍ فتدخل من الحافة المقابلة. يبدو ذلك وكأنه يُسهِّل اللعبة، وطوال الثلاثين ثانية الأولى، هو كذلك. ثم يجعلها أصعب بكثير، لسببٍ لا يصوغه معظم اللاعبين قطّ: في نمط الجدران، يشكّل جسمك والحدّ حاجزًا واحدًا متّصلًا، فيكون للّوحة داخلٌ وخارج بسيطان. في نمط البوابة، اللوحة طوبولوجيًّا حَلَقة (طارَة)، ويمكن لجسمك أن يلتفّ حولها، والمنطقة التي حبستَ نفسك فيها أقلّ وضوحًا بكثير. تتطلّب الجولات الطويلة في البوابة تخيّلًا مكانيًّا حقيقيًّا.

نمط البوابة هو أيضًا حيث تكون أعلى النتائج ممكنةً نظريًّا، لأن الحافة لم تعد خطرًا وكل توتةٍ قابلة للبلوغ عبر مسارَيْن لا مسارٍ واحد — أحيانًا يكون المسار الذي يلتفّ أقصر من المسار المباشر، وهذا مهمٌّ جدًّا للحفاظ على السلسلة حيّة.

المتاهة

تتناوب خمس تخطيطاتٍ حجرية كلما ارتقيت مستوى، ويتغيّر الترتيب تحت قدميك كل خمس توتات. التخطيطات متناظرة وحتمية — المستوى نفسه يُنتِج الجدران نفسها دائمًا — فيمكن تعلّمها لا مجرد تحمّلها. قاعدتان تحميانك: لا يُوضَع حجرٌ قطّ على حافة اللوحة، والصفّ المركزي حيث يظهر الثعبان يُبقى خاليًا دائمًا.

يغيّر نمط المتاهة المهارة الأساسية موضع الاختبار. الجدران والبوابة يتعلّقان بإدارة المساحة التي يستهلكها جسمك. المتاهة تتعلّق بإيجاد المسار تحت ضغط الوقت، وهذا أقرب بكثير إلى ما فعلته Nibbler سنة 1982 من قربه ممّا فعلته Nokia سنة 1997.

اختيار نمط
النمطالحوافالعوائقمثالي لـالخطر الرئيسي
الجدرانقاتلةلا شيءالتعلّم ومقارنة النتائج بإنصافالانحشار في الحدّ
البوابةملتفّةلا شيءالجولات الطويلة والنتائج العاليةفقدان تتبّع المنطقة التي أنت فيها
المتاهةقاتلةخمس تخطيطاتٍ متناوبةتخطيط المسار والتنوّعاللوحة تغيّر شكلها أثناء الجولة

الاستراتيجية: كيف تتحسّن فعلًا في الثعبان

معظم نصائح الثعبان على الإنترنت تتلخّص في «كن حذرًا» و«لا تصطدم». إليك ما هو أنفع. هي مرتَّبة تقريبًا حسب النقطة التي تبدأ عندها أهميتها في مسار تطوّرك.

1. توقّف عن مطاردة التوتة

يوجّه المبتدئون الثعبان مباشرةً نحو الطعام. ينجح ذلك حتى يبلغ الثعبان نحو عشر خلايا، ثم يبدأ في قتلك، لأن المسار المباشر يُحسِّن للتوتة الحالية ويتجاهل أين سيكون ذيلك بعد ذلك. يطرح اللاعبون المتوسّطون سؤالًا مختلفًا: لا «كيف أصل إليها؟»، بل «كيف ستبدو اللوحة بعد أن أصل؟».

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

2. أبقِ جسمك ملاصقًا للحواف

المساحة في الثعبان ليست قابلةً للتبادل. مئة خليةٍ حرّة مبعثرة في جيوبٍ لا تساوي شيئًا؛ ومئة خليةٍ حرّة في منطقةٍ مفتوحة واحدة هي جولةٌ كاملة. طريقة إبقاء مساحتك الحرّة كتلةً واحدة هي إبقاء جسمك على طول المحيط وترك المركز مفتوحًا، لا العكس. ثعبانٌ ملتفٌّ حول خارج اللوحة يترك ثقبًا واحدًا كبيرًا. وثعبانٌ يتجوّل في المركز يقطّع اللوحة إلى شظايا.

3. تعلّم التعرّج

نمط ملء المساحة الكلاسيكي — الذي يُسمَّى أحيانًا الحرث المتعرّج، من اليونانية «كما يحرث الثور» — يعني قطع طول صفٍّ كامل، ثم النزول واحدًا، ثم العودة، ثم التكرار. يبدو بطيئًا وهو كذلك، لكنه يضمن لك مسح كل خليةٍ في منطقةٍ دون أن تقطع طريقك أبدًا. حين تظهر توتةٌ بعيدًا وثعبانك طويل، فالسير المتعرّج نحوها أأمن دائمًا تقريبًا من سلوك الخط المباشر.

4. اتبع ذيلك

إن لم تعرف قطّ ماذا تفعل، فطارِد ذيلك. بما أن الذيل يبتعد خليةً كلما تحرّك الرأس، فإن ثعبانًا يتبع ذيله يمكنه البقاء إلى ما لا نهاية. إنها مناورة الطوارئ: حين تبدو اللوحة سيّئة ولا ترى خطة، انتظم خلف ذيلك واكسب وقتًا ريثما تظهر توتةٌ جديدة في مكانٍ أفضل.

5. افهم قاعدة تحرّر الذيل

إليك قاعدةً تُخطئ معظم التطبيقات في التعامل معها، ولذلك لا يتعلّم معظم اللاعبين قطّ استغلالها. حين يتحرّك الثعبان ولا يأكل، يغادر الذيل خليته في اللحظة نفسها التي يدخل فيها الرأس خليةً جديدة. هذا يعني أن الخلية التي يشغلها طرف ذيلك حاليًّا يمكن دخولها دون خطر: ستكون فارغةً بحلول الوقت الذي تصل إليها.

نسختنا تُطبِّق ذلك تطبيقًا صحيحًا. النتيجة أنه يمكنك تنفيذ انعطافاتٍ ضيّقة حقًّا تبدو مستحيلة، متبِعًا جسمك خليةً واحدة خلفه. لكن انتبه للاستثناء: إن أكلت توتةً في تلك الحركة نفسها، ينمو الثعبان ولا يتحرّر الذيل. دخولُ خلية ذيلك أثناء الأكل قاتل. يُدخِله اللاعبون المتمرّسون في وعيهم كـ«الانعطافات الضيّقة آمنة إلا إذا كان في الطريق طعام».

6. العب السلسلة، لا التوتة

بالنظر إلى الجداول أعلاه، الحساب قاسٍ. لاعبٌ هادئ حذر يأكل توتةً كل ثماني ثوانٍ يسجّل بـ ×1 إلى الأبد. ولاعبٌ جريء يأكل واحدةً كل ثلاث ثوانٍ يبلغ ×5 في ثلاث عشرة توتة، ويكسب خمسة أضعاف لكل توتةٍ من هناك فصاعدًا. اللاعب الجريء سيموت أبكر. وسيُنهي أيضًا بنتيجةٍ أعلى أضعافًا مضاعفة.

القاعدة العملية: ما إن تظهر توتة، ابدأ التحرّك نحوها. لا تُنهِ حلقتك الحالية أولًا. ولا تنتظر لترى إلى أين تذهب: هي لا تذهب إلى أي مكان.

7. مُرّ بالتوتات الذهبية، ولا تنعطف إليها

تساوي التوتة الذهبية ثلاث توتاتٍ عادية، وهو أمرٌ ممتاز، لكنها تظهر في خليةٍ عشوائية وتنتهي صلاحيتها في سبع ثوانٍ. إن كانت في طريقك تقريبًا، فخذها. وإن كان جمعها سيكسر سلسلتك على التوتة العادية، فاتركها. ثلاثة أضعاف توتةٍ تساوي أقلّ من مضاعف الخمسة أضعاف الذي ستخسره.

8. أدِر لحظة الترقّي

كل خمس توتات، تتسارع اللعبة — وفي نمط المتاهة، تتغيّر الجدران أيضًا. هذه اللحظة هي أخطر لحظةٍ في أي جولة. إن كنت تقترب من توتتك الخامسة أو العاشرة أو الخامسة عشرة، فتأكّد من الوصول إليها ومساحةٌ مفتوحة أمامك لا في زاويةٍ ضيّقة.

الأخطاء الشائعة وتصحيحاتها

ما الذي يقتل معظم الجولات، وماذا تفعل بدلًا منه
الخطألماذا يقتلكالتصحيح
سلوك الخط المباشر إلى كل توتةيترك جسمك مبعثرًا في مركز اللوحةارسم مساراتٍ على طول المحيط، ولا تدخل المركز إلا للجمع
الانعطاف مرتَيْن في فترة حركةٍ واحدةالانعطاف الثاني هو ما يحدث فعلًا؛ والأول يُطرَحأمرٌ حاسم واحد لكل حركة، لا وابل نقرات
الذعر حين يطول الثعبانالذعر يُنتِج قراراتٍ قصيرة المدى، تُشظّي اللوحةارتدّ إلى متابعة ذيلك حتى تظهر خطة
أكل توتةٍ في زاويةتصل بمخرجٍ واحد، وجزؤك الجديد يسدّهاقترب من الزوايا على طول الجدار، لا عموديًّا عليه
اللعب على نمط هادئ للتسجيل العاليحركاتٌ أقلّ في الثانية تعني حركاتٍ أقلّ في نافذة السلسلةتعلّم على هادئ، وسجّل على كلاسيكي أو سريع
تجاهل لحظات الترقّيتتغيّر السرعة بينما أنت في وسط مناورةعُدّ توتاتك؛ صِل إلى كل خامسةٍ في مساحةٍ مفتوحة

رياضيات الثعبان

يبدو الثعبان لعبة ردود أفعال ويتصرّف كمسألةٍ في نظرية المخطّطات (الغرافات). هذا القسم اختياري، لكنه يحوي حقيقةً عن لوحتنا المحدَّدة لم نرها نوقشت في أي مكان، وهي تغيّر الطريقة التي ينبغي أن تُلعَب بها الجولة المثالية.

الثعبان كمخطّط شبكي

اعتبر اللوحة مخطّطًا: كل خليةٍ رأس، ويتّصل رأسان إن كانت خليّتاهما متجاورتَيْن تعامديًّا. الثعبان مسارٌ عبر هذا المخطّط يتقدّم خطوةً كل دور، ولا يمكنه الالتفاف للخلف، وينمو رأسًا كلما هبط على طعام. كل سؤالٍ شائق عن الثعبان تقريبًا يصير سؤالًا عن المسارات والدورات في المخطّطات الشبكية.

لماذا «اتبع دورةً فحسب» هي الاستراتيجية المثالية المعيارية

الطريقة الأشهر لضمان ألّا يموت الثعبان أبدًا هي إيجاد دورة هاميلتونية — حَلَقة مغلقة تزور كل خليةٍ مرةً واحدة بالضبط — واتّباعها إلى الأبد فحسب. بما أن الحَلَقة تغطّي كل خلية، فكل الطعام يقع أمامك في النهاية؛ وبما أنها حَلَقة مغلقة واحدة والثعبان أقصر منها، فلا يمكنك أبدًا الاصطدام بنفسك. إنها مثالية، وهي بطيئةٌ إلى حدٍّ لا يُطاق، لكنها تفوز دائمًا.

لماذا لا تملك لوحتنا 21 × 21 دورةً كهذه

هنا الجزء الشائق. لوّن اللوحة كرقعة شطرنج. كل حركةٍ تنقل الثعبان من خليةٍ فاتحة إلى داكنة أو العكس، فأي حَلَقة مغلقة يجب أن تناوب الألوان — ما يعني أن الدورة الهاميلتونية لا يمكن أن توجد إلا إذا كان عدد الخلايا الفاتحة مساويًا لعدد الخلايا الداكنة.

على لوحة 21 × 21، توجد 441 خلية: 221 من لونٍ و220 من الآخر. وهما غير متساويَيْن، ولا يمكن أن يتساويا، لأن 441 عددٌ فردي. وبالتالي، لا توجد دورةٌ هاميلتونية على لوحتنا، ببساطة. استراتيجية «الحَلَقة الآمنة» الكلاسيكية مستحيلةٌ رياضيًّا هنا.

ما يوجد هو مسارٌ هاميلتوني: طريقٌ مفتوح عبر الخلايا الـ441. فالجولة المثالية تبقى ممكنة إذن، لكنها لا يمكن أن تكون حَلَقةً بلا تفكير. أي لاعبٍ أو خوارزميةٍ تحاول ملء اللوحة عليها إمّا أن تعمل داخل منطقةٍ فرعية 20 × 21 من 420 خلية، وهي زوجية وتقبل دورةً بالفعل، وتعالج الصفّ المتبقّي على حدة، أو أن تخطّط لمسارٍ مفتوح وتعيد التموضع في النهاية. هذا ليس مصادفةً في تصميمنا؛ بل هو خاصيةٌ لأي لوحة ثعبانٍ أبعادها فردية × فردية، بما في ذلك عددٌ كبير من تلك التي تجدها على الإنترنت.

تكافؤ اللوحة وإمكان وجود حَلَقةٍ مغلقة مثالية
اللوحةإجمالي الخلاياتوزيع الألوانهل الدورة الهاميلتونية ممكنة؟
20 × 20400200 / 200نعم
21 × 21 (هذه اللعبة)441221 / 220لا — مسارٌ مفتوح فقط
لوحة فرعية 20 × 21420210 / 210نعم
أي لوحة فردية × فرديةفرديغير متساوٍ بمقدار واحدلا

ما مدى صعوبة الثعبان، صياغةً رسمية؟

صعبٌ بما يكفي لأن ينشر عنه علماء الحاسوب. في 2016، قدّم Marzio De Biasi وTim Ophelders ورقةً بعنوان «The Complexity of Snake» في المؤتمر الدولي حول المرح بالخوارزميات، ووُسِّعت لاحقًا في مجلة Theoretical Computer Science. أظهرا أن تقرير ما إذا كان الثعبان يستطيع جمع كل الطعام على مخطّطٍ شبكيّ ممتلئ مسألةٌ صعبة من النوع NP، وأن على المخطّطات الشبكية العامة تكون المسألة كاملةً من النوع PSPACE — تمامًا مثل السؤال الأبسط عمّا إذا كان الثعبان يستطيع الانتقال من تشكيلةٍ إلى أخرى، حتى بلا أي طعامٍ على اللوحة.

قُلها ببساطة: لا توجد خوارزميةٌ فعّالة معروفة تلعب الثعبان لعبًا أمثل، وثمة أسبابٌ وجيهة للاعتقاد بأن لا وجود لها. حين تشعر أن وضعًا ما غير قابلٍ للحلّ، فقد تكون محقًّا موضوعيًّا. اجتذبت المسألة أيضًا باحثين في الروبوتات، لأن ثعبانًا يجب ألّا يصطدم بجسمه هو نموذجٌ معقول لتخطيط حركة الروبوتات المفصلية الشبيهة بالثعبان.

بعض الأرقام عن اللوحة

هندسة ساحة اللعب 21 × 21
المقدارالقيمة
إجمالي الخلايا441
خلايا المحيط80
الخلايا الداخلية361 (منطقة 19 × 19)
الخلايا الحرّة عند بدء الجولة437 (441 ناقص 3 أجزاء ثعبان و1 توتة)
أقصى مسافة مانهاتن بين خليتَيْن40
متوسّط مسافة مانهاتن بين خليتَيْن عشوائيّتَيْننحو 14.0
أقصى طولٍ للثعبان441
التوت في جولةٍ مثالية438
المستوى النهائي في جولةٍ مثالية88

تحت الغطاء: بناء ثعبانٍ لا يكذب على اللاعب

هذا القسم للمطوّرين، ولكل من يتساءل لماذا تُشعِر بعض ألعاب الثعبان في المتصفح بالرضا وتبدو أخرى رخيصة. كل نقطةٍ أدناه علّةٌ إمّا صحّحناها أو تحاشيناها عمدًا بالتصميم.

خطوة زمنية ثابتة بدل setInterval

الطريقة الساذجة لتشغيل لعبة ثعبان هي استدعاء دالّة حركةٍ على مؤقّت. يبدو ذلك ناجحًا. وهو خاطئ من ثلاثة أوجه: مؤقّتات المتصفح تنجرف، وتُكبَح في التبويبات الخلفية، ولا تتزامن الفترة أبدًا مع تحديث الشاشة، فتتلعثم الحركة.

النهج الصحيح هو مُراكِمٌ بخطوةٍ زمنية ثابتة. عند كل إطار حركة، قِس كم من الزمن الحقيقي مرّ، أضِفه إلى مُراكِم، ونفّذ من الحركات المنطقية بقدر ما يحويه ذلك الزمن. يتقدّم منطق اللعبة بزياداتٍ دقيقة متطابقة، مهما كان تردّد الإطارات؛ ولا يتبع الرسمُ إلا الشاشة. حاجزان إضافيّان مهمّان: قيّد الزمن المنقضي حتى لا يُسرِّع تبويبٌ خلفي الثعبان إلى جدارٍ عند العودة، وضع سقفًا لعدد حركات التعويض لكل إطار حتى لا ينحرف جهازٌ بطيء عن السيطرة.

مقارنة أساليب المؤقّت
الأسلوبالسلوك على شاشة 144 Hzالسلوك في تبويبٍ خلفيالعدالة
setIntervalيتلعثم؛ توقيت الحركة ينجرف عن توقيت الشاشةيُكبَح على نحوٍ لا يمكن التنبّؤ بهتتفاوت السرعة حسب الجهاز
حركةٌ واحدة لكل إطاريعمل بـ 144 حركة في الثانيةيتوقّف كليًّاغير عادلٍ بالمرّة
مُراكِم بخطوةٍ زمنية ثابتةسلسٌ، بإيقاع حركةٍ صحيح بالضبطمقيَّد، ثم يستأنف بنظافةواحدةٌ في كل مكان

طابور الإدخال، والعلّة التي تقتل كل محاولةٍ أولى

تحوي كل لعبة ثعبانٍ محلية الصنع تقريبًا العلّة القاتلة نفسها. يتحرّك اللاعب يمينًا، ويضغط بسرعةٍ أعلى ثم يسارًا، فيُطبَّق الإدخالان قبل الحركة التالية — فيلتفّ الثعبان في رقبته ويموت بلا سببٍ ظاهر. إنها أشيع مصدرٍ لشكاوى «هذه اللعبة معطوبة»، وليست غلطة اللاعب.

التصحيح هو وضع الإدخالات في طابورٍ بدل تطبيقها فورًا. كل حركةٍ منطقية تستهلك اتجاهًا واحدًا على الأكثر من الطابور، وترفض أي اتجاهٍ هو العكس الدقيق للحالي. يمكن للاعب أن يخزّن انعطافةً قبل قليل — ما يبدو سريع الاستجابة — لكنه لا يمكنه أبدًا أن يطوي الثعبان على نفسه بالخطأ.

الاصطدام، مصنوعًا بدقّة

كما وُصف في قسم الاستراتيجية، يحرّر الذيل خليته في أي حركةٍ لا تُنمّي الثعبان. التطبيق الصحيح يقارن هدف الرأس بكل أجزاء الجسم عدا الأخير، إلا إذا كانت الحركة حركة أكلٍ، فحينئذٍ يُحسَب كل جزء. الخطأ في أيٍّ من الاتجاهَيْن يُنتِج لعبةً تبدو إمّا قاسيةً بلا إنصاف أو متساهلةً على نحوٍ مريب. تحقّقنا من هذا السلوك باختباراتٍ آلية قبل النشر.

عرضٌ بقيمٍ بينية على شبكةٍ متقطّعة

يعمل المنطق على إحداثيات خلايا صحيحة؛ ويعمل الرسم على مواضع كسرية. بين الحركات، يُرسَم كل جزءٍ عند مزيجٍ من حيث كان وحيث سيكون، مرجَّحًا بمدى تقدّمنا في الفترة الحالية. النتيجة ثعبانٌ ينزلق لا يقفز، دون أي تنازلٍ عن عدالة الشبكة الأساسية.

دقيقةٌ واحدة: في نمط البوابة، قد يلتفّ جزءٌ من حافةٍ من اللوحة إلى الأخرى، وإدراج قيمٍ بينية لهذا الانتقال سيرسم أثرًا مستقيمًا عبر الشاشة. التصحيح هو رصد أي قفزةٍ أطول من خلية والمحاذاة بدل المزج، وقطع رسم الجسم عند تلك النقطة.

وضع الطعام بلا معاينةٍ بالرفض

النهج الشائع هو اختيار خليةٍ عشوائية، والتحقّق مما إذا كانت مشغولة، وإعادة المحاولة إن كانت كذلك. ينجح ذلك جيدًا في البداية ويصير مَرَضيًّا في النهاية: حين يملأ الثعبان اللوحة كلها تقريبًا، قد تدور الحلقة مئات المرات، وإن كانت اللوحة ممتلئةً تمامًا، فلا تنتهي أبدًا. نحن نبني قائمة الخلايا الحرّة فعلًا ونختار منها اختيارًا منتظمًا. هذا أسرع في أسوأ حالة وقابلٌ للإثبات بأنه ينتهي.

عدم كسر الصفحة التي يعيش فيها

اللعبة المضمَّنة عليها التزاماتٌ تجاه مضيفها. لعبتنا لا تسجّل أبدًا معالِج لوحة مفاتيح شاملًا يسرق مفاتيح الأسهم من الصفحة: لا يُلتقَط الإدخال إلا أثناء تفاعلك الفعلي مع اللعبة، ويُحرَّر ما إن تنقر في مكانٍ آخر، متوقّفًا مؤقتًا في أثناء ذلك. تتوقّف مؤقتًا حين يُخفى التبويب وحين تخرج من العرض عند التمرير. كل تنسيقها معزول حتى لا يتسرّب إلى المقال المحيط، ولا شيء من الموقع المحيط يمكن أن يتسرّب إلى الداخل.

علّتان حقيقيّتان وجدناهما أثناء الاختبار

سنكون صادقين بشأنهما، لأن المقالات كهذه تتظاهر عادةً بأن التطوير يجري بلا احتكاك. أثناء الاختبار النهائي، وجد متصفحٌ آلي مشكلتَيْن فاتَتا اللعب اليدوي.

الأولى كانت تضاربًا في أسماء المتغيّرات: مرجعٌ مُضاف حديثًا إلى عنصر اللوحة حجَب دالّة حلقة العرض التي تحمل الاسم نفسه، ما عطّل اللعبة كلها بصمت. كانت تُطلِق خطأ وحدة تحكّمٍ واحدًا ولا شيء يتحرّك. الدرس غير مجيدٍ وكوني: سمِّ الأشياء بعناية، وشغّل ما نشرت.

الثانية كانت أدقّ وأكثر تعليمًا. لتحجيم اللوحة، كنّا نقيس عرض العنصر نفسه الذي كنّا نضبط عرضه، ما يخلق حلقة تغذيةٍ راجعة: يمكن للّوحة أن تنكمش لكن لا يمكنها أبدًا أن تكبر ثانيةً. كان التصحيح بنيويًّا: عنصرٌ يقيس المساحة المتاحة ولا يُضبَط حجمه أبدًا؛ وعنصرٌ منفصل داخله هو اللوحة ويُحجَّم بالبكسل. إن احتفظت بفكرة بنيويةٍ واحدة فقط من هذا المقال، فلتكن هذه: لا تقِس أبدًا صندوقًا تتحكّم أنت في أبعاده.

اللغات، وإتاحة الوصول، واللعب على أي شاشة

تأتي اللعبة بست لغات، والإنجليزية هي المصدر. تكتشف الصحيحة منها تلقائيًّا بالتحقّق، بهذا الترتيب: وسيط لغةٍ صريح في عنوان الصفحة، وسِمة على عنصر اللعبة نفسه، اللغة المعلَنة للصفحة، اللغة المحلية في البيانات الاجتماعية للصفحة، إعلان لغة المحتوى، وأخيرًا تفضيل المتصفح نفسه. إن لم يُنتِج أيٌّ من ذلك لغةً مدعومة، يرتدّ إلى الإنجليزية. ويمكنك دائمًا تجاوز النتيجة بالمُنتقي في الزاوية.

اللغات المدعومة
اللغةالرمزالعنوان بتلك اللغةاتجاه النص
الإنجليزيةenSnakeمن اليسار إلى اليمين
الفرنسيةfrSnakeمن اليسار إلى اليمين
الإسبانيةesSnakeمن اليسار إلى اليمين
الصينيةzh贪吃蛇من اليسار إلى اليمين
الهنديةhiस्नेकمن اليسار إلى اليمين
العربيةarلعبة الثعبانمن اليمين إلى اليسار

تجعل العربية الواجهة كلها من اليمين إلى اليسار، مع استثناءٍ متعمَّد: تحتفظ لوحة الاتجاه بترتيبها الفيزيائي، لأن «اليسار» على وحدة تحكّم يعني اليسار على الشاشة أيًّا كانت اللغة التي تقرأ بها.

على صعيد إتاحة الوصول، اللعبة قابلةٌ للاستخدام بالكامل بلوحة المفاتيح، وكل أداة تحكّمٍ زرٌّ حقيقي بتسميةٍ مناسبة، وتغيّرات النقاط ونهاية الجولة تُعلَن لقارئات الشاشة عبر منطقةٍ نشطة. إن كان نظامك مضبوطًا على تقليل الحركة، فإن الحركة الزخرفية، واهتزاز الاصطدام، وتأثيرات النبض كلها معطَّلة، بينما تبقى اللعبة نفسها سليمة.

على صعيد الاستجابة، يتكيّف التخطيط مع عرض اللعبة لا عرض المتصفح — وهذا مهمّ، لأن لعبةً مضمَّنة داخل عمود مقالٍ ضيّق ينبغي أن تتصرّف كلعبةٍ ضيّقة حتى على شاشةٍ كبيرة. في ملء الشاشة على شاشةٍ أفقية، تتحوّل إلى تخطيط عمودَيْن مع اللوحة في جهةٍ وأدوات التحكّم في الأخرى، ويمكن للّوحة أن تكبر إلى أكثر من ألف بكسل عرضًا.

المرجع الكامل لأدوات التحكم

كل إدخالٍ تقبله اللعبة
الإدخالالفعلملاحظات
مفاتيح الأسهمالتوجيهالتخطيط المعياري
W, A, S, Dالتوجيهللوحات مفاتيح QWERTY
Z, Q, S, Dالتوجيهللوحات مفاتيح AZERTY
مسافةإيقاف مؤقّت أو استئنافيبدأ أيضًا جولةً من شاشة العنوان
Rإعادةيبدأ جولةً جديدة فورًا
Fملء الشاشةيفعّل ويعطّل
Mكتم الصوتالصوت مكتومٌ افتراضيًّا
Enterتأكيديفعّل زرّ البطاقة الحالية
Escالخروج من ملء الشاشةسلوك المتصفح المعياري
السحب على اللوحةالتوجيهتُرصَد عمليات السحب المتتابعة دون رفع الإصبع
لمس اللوحةالبدء أو الاستئنافكوضع قطعةٍ نقدية في جهاز أركيد
لوحة اتجاهٍ على الشاشةالتوجيهتظهر تلقائيًّا على الأجهزة اللمسية

الأسئلة الشائعة

من اخترع لعبة الثعبان؟

لا أحد بمفرده، ولهذا يظلّ السؤال يتلقّى إجاباتٍ مختلفة. الآلية ابتكرها Lane Hauck لدى Gremlin Industries للعبة أركيد سنة 1976 Blockade. أمّا الصيغة الفردية الآكلة للطعام التي نسمّيها الآن الثعبان فأرساها Nibbler من Rock-Ola سنة 1982. والنسخة التي جعلتها مشهورةً عالميًّا كتبها Taneli Armanto لدى Nokia لهاتف 6110 سنة 1997. الإجابات الثلاث كلها قابلةٌ للدفاع؛ إنها إجاباتٌ لأسئلةٍ مختلفة.

ما أعلى نتيجةٍ ممكنة في هذه اللعبة؟

211560، تُبلَغ بأكل التوت الـ438 المتاح كله مع الحفاظ على مضاعفٍ قدره خمسة أضعاف من البداية إلى النهاية، وتجاهل التوتات الذهبية. عمليًّا، ستدفع التوتات الذهبية جولةً مثاليةً نظريًّا أعلى من ذلك. الجولة البشرية الجيّدة جدًّا على نمط كلاسيكي تقع عادةً في مكانٍ ما بين 2000 و10000.

هل تتسارع اللعبة إلى الأبد؟

لا. لكل صعوبةٍ أرضية. يبلغ نمط كلاسيكي حدّه الأدنى عند 80 مِلّي ثانية لكل حركة في المستوى 10 ولا يزيد سرعةً أبدًا؛ ويبلغ نمط محموم حدّه الأدنى عند 45 مِلّي ثانية. كل ما يأتي بعد تلك النقطة يصير أصعب لمجرّد أن ثعبانك أطول، وهذا هو النوع الصادق من الصعوبة.

هل يساوي الثعبان الأطول نقاطًا أكثر؟

بطريقةٍ غير مباشرة. الطول بذاته لا يُحسَب، لكن الطول يتبع التوت المأكول، والتوت المأكول يحدّد مستواك، والمستوى يرفع القيمة الأساسية لكل توتةٍ لاحقة نقطتَيْن. أمّا المضاعف فلا علاقة له بالطول: إنه يتعلّق بسرعة أكلك فحسب.

لماذا نتيجتي أقلّ على نمط هادئ منها على كلاسيكي؟

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

هل تُرسَل نتائجي وإحصاءاتي إلى مكانٍ ما؟

لا. كل شيء — أفضل النتائج حسب النمط، والجولات المُلعَبة، والتوت المأكول، وأطول ثعبان، والوقت الإجمالي — مخزَّنٌ محليًّا في متصفحك أنت. لا حساب، ولا خادم، ولا لوحة صدارة، ولا تتبّع. مسحُ بيانات متصفحك يمسح أرقامك القياسية، وزرّ إعادة الضبط في لوحة الأرقام القياسية يفعل الشيء نفسه عمدًا.

هل يمكنني اللعب بلوحة المفاتيح على هاتف، أو باللمس على حاسوب محمول؟

نعم للاثنين. تظهر لوحة الاتجاه تلقائيًّا على الأجهزة اللمسية، لكن لوحة المفاتيح تبقى نشطة إن كانت واحدةٌ متّصلة، والحواسيب المحمولة ذات الشاشات اللمسية يمكنها السحب على اللوحة.

لماذا تتوقّف اللعبة مؤقتًا حين أنقر في مكانٍ آخر من الصفحة؟

عمدًا. لعبةٌ مضمَّنة تظلّ تستهلك مفاتيح أسهمك بعد أن انتقلت إلى قراءة المقال هي إزعاج. حين تتفاعل مع شيءٍ خارج اللعبة، تُحرِّر اللعبة لوحة المفاتيح وتتوقّف مؤقتًا حتى لا تعود إلى ثعبانٍ ميّت.

ما أسرع طريقةٍ للتحسّن؟

العب عشرين جولة على نمط كلاسيكي في نمط الجدران، وفي كلٍّ منها، أجبِر نفسك على رسم مساراتٍ على طول المحيط لا عبر المركز. سيبدو ذلك أبطأ وستنخفض نتائجك الأولى. بحلول الجولة العاشرة، ستكون أعلى من قبل، لأنك ستكون قد كففتَ عن تشظية اللوحة.

مسرد المصطلحات

مصطلحاتٌ مستعملة في هذا المقال وفي مجتمع الثعبان الأوسع
المصطلحالمعنى
نبضة (Tick)حركةٌ منطقية واحدة للثعبان، خليةً واحدة إلى الأمام
فترة الحركةالزمن بالمِلّي ثانية بين نبضتَيْن
خطوة زمنية ثابتةتشغيل منطق اللعبة بزياداتٍ زمنية دقيقة متطابقة، مهما كان تردّد الإطارات
إدراج القيم البينيةرسم جزءٍ في منتصف الطريق بين خليته السابقة والحالية من أجل حركةٍ سلسة
طابور الإدخالمخزنٌ قصير لتغيّرات الاتجاه المنتظِرة، يُستهلَك واحدًا كل نبضة
تحرّر الذيلالقاعدة القائلة إن الجزء الأخير يغادر خليته في أي حركةٍ ليست أكلًا
سلسلة الكومبوتوتاتٌ متتالية مأكولة داخل نافذة الخمس ثوانٍ
نمط البوابة أو الالتفافساحة لعبٍ يعيدك فيها الخروج من حافةٍ من الحافة المقابلة
مخطّط شبكيمخطّطٌ رؤوسه خلايا شبكة وحوافّه تصل الخلايا المتجاورة
دورة هاميلتونيةطريقٌ مغلق يزور كل خليةٍ مرةً واحدة بالضبط
مسار هاميلتونيطريقٌ مفتوح يزور كل خليةٍ مرةً واحدة بالضبط
الحرث المتعرّج (Boustrophedon)نمط مسحٍ ذهابًا وإيابًا يملأ منطقةً دون أن يوقع صاحبه في فخّ نفسه
مسافة مانهاتنعدد الخطوات الأفقية زائد العمودية بين خليتَيْن
صعب من النوع NPلا يقلّ صعوبةً عن أصعب المسائل القابلة للتحقّق في زمنٍ كثير الحدود
كامل من النوع PSPACEمن بين أصعب المسائل القابلة للحلّ بقدرٍ كثير الحدود من الذاكرة

لماذا ما زلنا نبني أشياء كهذه

ثمة نسخةٌ من هذا المقال تنتهي بجملةٍ عن الحنين، ولن تكون خاطئة. للثعبان خمسون عامًا في هذا العِقد. عددٌ كبير جدًّا من الناس لديهم ذكرى محدَّدة مرتبطة به: هاتفٌ بعينه، فصلٌ بعينه، شاشةٌ بعينها مائلة إلى الخضرة.

لكن الحنين ليس سبب استحقاق اللعبة أن تُبنى جيدًا حتى الآن. يبقى الثعبان لأنه واحدة من الألعاب القليلة جدًّا التي تكون فيها القواعد مرئيةً تمامًا والعمق مخبَّأً تمامًا. لا شيء يُحجَب عنك. لا فتحٌ لمحتوى، ولا تقدّم فوقي، ولا إحصاءٌ لم يُعرَض عليك. كل ما تحتاجه لبلوغ جولةٍ مثالية على الشاشة منذ الثانية الأولى — ومع ذلك لا تستطيع فعله، لأن الصعوبة لم تكن قطّ في المعلومة، بل كانت في التخطيط.

إنه نوعٌ نادرٌ وصادق من تصميم الألعاب، ويستحقّ عناء خطوةٍ زمنية ثابتة، وقاعدة اصطدامٍ صحيحة، وطابور إدخالٍ يحترم اللاعب، وثعبانٍ ينزلق بدل أن يقفز. كل شيءٍ في هذا المقال — كل جدول، وكل صيغة، وكل مِلّي ثانية — موجودٌ لكي تعرف، حين تخسر، أن قرارك أنت هو الذي خسر.

والآن، اذهب وتجاوز 2000 على نمط كلاسيكي. ارسم مساراتٍ على طول الحواف. لا تتوقّف من أجل التوتات الذهبية.

َAdmin
Written by َAdmin

As a digital content enthusiast, I dedicate myself to sharing my personal insights and documenting the knowledge I gain from the web. My goal is to create valuable, purpose-driven content that informs, inspires, and delivers real benefits to others.

ON
enabled: true page: /p/redirect.html protect: true in_post: true new_tab: true delay: 5
enabled: true shape: solid scope: standalone
enabled: true title: Rate this article