Botbright: لعبة برمجة.

🇬🇧 English · 🇪🇸 Español · 🇫🇷 Français · 🇩🇪 Deutsch · 🇮🇹 Italiano · 🇵🇹 Português · 🇷🇺 Русский · 🇨🇳 中文 · 🇯🇵 日本語 · 🇰🇷 한국어 · 🇮🇳 हिन्दी · 🇧🇩 বাংলা · 🇻🇳 Tiếng Việt · 🇸🇦 العربية · 🇹🇭 ไทย · 🇳🇴 Norsk · 🇳🇱 Nederlands · 🇸🇪 Svenska · 🇹🇷 Türkçe · 🇰🇪 Kiswahili · 🇮🇩 Bahasa Indonesia · 🇵🇱 Polski · 🇬🇷 Ελληνικά · 🇮🇱 עברית · 🇵🇭 Filipino · 🇨🇿 Čeština · 🇩🇰 Dansk · 🇫🇮 Suomi · 🇷🇴 Română · 🇭🇺 Magyar · 🇭🇷 Hrvatski


Botbright هي نسخة JavaScript بملف واحد من لعبة الألغاز الفلاشية Lightbot. برمج روبوتًا بمنظور أيزومتريك ليسير على شبكة بلاطات ثلاثية الأبعاد ويُضيء البلاطات الزرقاء الهدف. اسحب بلاطات التعليمات إلى ذاكرة الروبوت، واضغط تشغيل، وشاهد برنامجك ينفذ.

اللعبة كلها ملف HTML واحد (botbright.html) يحتوي على CSS وJavaScript مضمنين — بدون خطوة بناء، بدون اعتمادات خارجية، بدون استدعاءات شبكية. افتح الملف في أي متصفح حديث والعب. احفظه على قرصك الصلب وسيستمر بالعمل دون اتصال إلى الأبد.

يمكنك أيضًا تغيير لوحة الألوان وإلباس الروبوت قبعات مختلفة. يوجد محرر مستويات مدمج، ويمكن استيراد وتصدير المستويات والقبعات بصيغة JSON.

اللعب

فقط انقر نقرًا مزدوجًا على ملف botbright.html أو افتحه في متصفحك. اللعبة تعمل دون اتصال.

الإصدار الحي: https://inventwithpython.com/botbright/

كيف يعمل

للروبوت ثلاث مناطق ذاكرة:

  • الذاكرة الرئيسية — 12 خانة تعليمات، تعمل عند الضغط على تشغيل
  • ذاكرة F1 — 8 خانات تعليمات، دالة قابلة للاستدعاء
  • ذاكرة F2 — 8 خانات تعليمات، دالة قابلة للاستدعاء ثانية

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

التعليمة ما تفعله
تقدم اخطُ إلى البلاطة الأمامية إن كانت بنفس الارتفاع
استدر يسارًا دوران 90° عكس عقارب الساعة
استدر يمينًا دوران 90° مع عقارب الساعة
اقفز اقفز مستوى للأعلى، أو أي عدد من المستويات للأسفل
أضِئ يبدل البلاطة الهدف أسفل الروبوت
استدعِ F1 / F2 يضع تلك الدالة على مكدس الاستدعاء (يُسمح بالتعاود ضمن حدود)

يكتمل المستوى عند إضاءة كل بلاطة هدف باللون الأصفر.

البرامج الطويلة جدًا تتوقف: حد أقصى 1000 تعليمة إجمالًا، حد أقصى 100 إطار في مكدس الاستدعاء.

التحكم

الكاميرا — WASD أو مفاتيح الأسهم للتحريك، Q/E أو PageUp/PageDown للتدوير 90°، +/− أو عجلة التمرير للتكبير. اضغط 0 لإعادة ضبط العرض. اسحب اللوحة للتحريك، اقرص للتكبير، ولفّ بإصبعين للتدوير. اضغط مطولًا على أزرار الكاميرا على الشاشة للحركة المستمرة السلسة.

عرض الشريط الجانبي — اسحب الفاصل بين اللوحة والشريط الجانبي.

السرعة — شريط تمرير في الشريط الجانبي: بطيء / عادي / سريع. قابل للتعديل أثناء التشغيل.

محرر المستويات

تأتي اللعبة مع محرر كامل. أضف/كرر/احذف مستويات، غيّر حجم الشبكة (1–32 في كل بُعد)، ارسم ارتفاعات 0–9، حدد بلاطات الهدف، اضبط الموقع والاتجاه الابتدائيين، وجرّب اللعب دون مغادرة المحرر.

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

محرر القبعات

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

أنظمة الألوان

تكشف لوحة الألوان في الشريط الجانبي عن اللوحة: لون البلاطات، لون حافة البلاطة، لون الهدف، لون الهدف المضاء، الخلفية، وجسم الروبوت. يمكنك استخدام سمة مدمجة أو تعديلها بنفسك.

اللغات

ترجمات الواجهة إلى 23 لغة: الإنجليزية، الإسبانية، الفرنسية، الألمانية، الإيطالية، البرتغالية، الروسية، الصينية، اليابانية، الكورية، الهندية، البنغالية، الفيتنامية، العربية (بتخطيط من اليمين إلى اليسار)، التايلاندية، التاغالوغية، النرويجية، الهولندية، السويدية، التركية، السواحيلية، الإندونيسية، والبولندية. تتبع اللغة الافتراضية navigator.language للمتصفح؛ ويتجاوزها منتقي اللغة في شاشة البدء طوال الجلسة. أسماء المستويات المدمجة وأوصافها، وأسماء القبعات المدمجة، مترجمة إلى جميع اللغات المدعومة. عند تعديل اسم أو وصف، يكتب المحرر فقط في خانة اللغة المحددة حاليًا، تاركًا ترجمات اللغات الأخرى دون تغيير.

الوضع الفاتح / الداكن

يتبع هيكل التطبيق prefers-color-scheme للمتصفح. يؤدي اختيار السمة الافتراضية في لوحة الألوان إلى تطبيق اللوحة الموافقة للوضع الحالي للمتصفح، فتبقى متزامنة عند تبديل الوضع. أي سمة مدمجة أخرى — أو لوحة مخصصة عدّلتها — تتجاوز هذا السلوك.

الاعتمادات

صنع بواسطة Al Sweigart — https://inventwithpython.com/botbright/

مستوحاة من Lightbot لـ Daniel Yaroslavski.