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 של משחק החידות Flash Lightbot. תכנת רובוט איזומטרי שיצעד על רשת אריחים תלת־ממדית וידליק את אריחי המטרה הכחולים. גרור אריחי הוראות לזיכרון של הרובוט, לחץ הרץ וצפה בתוכנית שלך פועלת.

כל המשחק הוא קובץ HTML יחיד (botbright.html) עם CSS ו־JavaScript מוטמעים — בלי שלב build, בלי תלויות חיצוניות, בלי קריאות רשת. פתח את הקובץ בכל דפדפן מודרני ושחק. שמור אותו על הכונן הקשיח שלך והוא ימשיך לעבוד לא־מקוון לנצח.

אפשר גם לשנות את ערכת הצבעים ולחבוש לרובוט שלך כובעים שונים. יש עורך שלבים מובנה, ושלבים וכובעים ניתנים לייבוא/ייצוא בפורמט 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.