لمناسبة خاصة

طوّر نسخة من Tetris في ساعتين. التحدي الذي أواجهه لجميع المبرمجين المهتمين 🎮

يعرف الكثير من الناس لعبة Tetris على أنها لعبة شهيرة من الثمانينيات. ولكن في مجتمع المطورين، يُنظر إليها في مجتمع المطورين على أنها نوع من "Hello World" لتطوير الألعاب.

Ein Tetris-Klon in Aktion.

لماذا؟

  • لأن قواعدها بسيطة ولكنها كاملة.
  • عليك تنفيذ الميكانيكا الأساسية: ملعب اللعب، والتصادمات، والدوران، والنقاط، والمستويات.
  • إنها صغيرة بما فيه الكفاية بحيث يمكنك إكمالها في أمسية واحدة - ولكنها كبيرة بما يكفي بحيث ينتهي بك الأمر بلعبة "حقيقية" بين يديك...

تجربتي: تتريس في ساعتين، بدون أي ذكاء اصطناعي

قبل بضع سنوات، وضعت لنفسي تحديًا: هل يمكنني إعادة بناء تتريس من الصفر؟
الإجابة: نعم - وفي ساعتين فقط.

لقد طورت نسختي المستنسخة في ذلك الوقت باستخدام QB45 (QuickBASIC 4.5)، يدويًا بالكامل دون ذكاء اصطناعي أو أطر عمل. والنتيجة هي تتريس تعمل بكامل طاقتها مع جميع الأساسيات:

  • الأحجار المتساقطة
  • الدوران
  • حذف الخطوط
  • النتيجة وانتهاء اللعبة

وأفضل ما في الأمر: اللحظة التي "يصطدم" فيها أول تيترومينو بالحافة ويبدأ منطق اللعبة - لا تقدر بثمن!

التحدي بالنسبة لك 🚀

الآن حان دوركم يا أعزائي مبرمجي Vibe Coders:

👉 قم ببناء نسخة Tetris الخاصة بك - في مدة أقصاها ساعتين. لا يهم ما إذا كنت تستخدم QuickBASIC أو Python أو JavaScript أو Unity. المهم هو: يجب أن تكون قابلة للعب!

شارك نتيجتك أو لقطات الشاشة أو الكود المصدري. أشعر بالفضول,

  • كيف تحل منطق اللعبة
  • ما هي الميزات التي يجب عليك تضمينها بالتأكيد (مثل القطعة التالية، والنتائج العالية، والهبوط الصعب),
  • وما إذا كنت أسرع مني في ذلك الوقت.

كود زائف للبدء 🧩

حتى لا يبدأ أحد من الصفر، إليك مقتطف كود زائف صغير يوضح الفكرة الأساسية:

تهيئة اللوحة[10][20] = فارغة اختر رباعي رباعي رباعي عشوائي كقطعة حالية حلقة طالما أن اللعبة قيد التشغيل: الإدخال = قراءة_اللوحة() إذا كان الإدخال = LEFT: القطعة الحالية x -= 1 إذا كان الإدخال = RIGHT: القطعة الحالية x += 1 إذا كان الإدخال = ROTATE: قم بتدوير القطعة الحالية إذا كان الإدخال = DROP: القطعة الحالية.y += 1 إذا كان التصادم (القطعة الحالية، اللوحة): القطعة الحالية.y -= 1 ثبت القطعة الحالية في اللوحة أزل الخطوط الكاملة القطعة الحالية = عشوائي جديد رباعي الألوان رسم اللوحة + القطعة الحالية انتظر (علامة حسب المستوى)

باستخدام هذا الإطار الأساسي بالضبط، يمكنك إنشاء لعبة قابلة للتنفيذ بسرعة كبيرة.

في عجلة من أمرك

برمجة Tetris ليست علم الصواريخ - ولكن هذا بالضبط ما يجعلها جذابة للغاية.

إنها مقدمة مثالية لعالم تطوير الألعاب وتحدي برمجة مثالي لاختبار مهاراتك.

هذه هي طريقة المشاركة:

من منكم يستطيع برمجة Tetris في ساعتين؟ 💻🎮

💡 تواصلوا معي على LinkedIn - يمكنك العثور على ملفي الشخصي في المربع أدناه بالنقر على اسمي.

أرسل لي روابط GitHub ولقطات الشاشة الخاصة بك عبر PN. أتطلع إلى نتائجك! 🚀

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