Botbright: Egy programozási játék.
🇬🇧 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
A Botbright a Flash logikai játék Lightbot egyfájlos JavaScript-klónja. Programozz egy izometrikus robotot, hogy egy 3D-s csempehálón sétáljon és felgyújtsa a kék célmezőket. Húzd az utasításcsempéket a robot memóriájába, nyomd meg a Futtatás gombot, és nézd, ahogy a programod lefut.
Az egész játék egyetlen HTML-fájl (botbright.html) beágyazott CSS-sel és JavaScripttel — nincs build lépés, nincsenek külső függőségek, nincsenek hálózati hívások. Nyisd meg a fájlt bármilyen modern böngészőben és játssz. Mentsd el a merevlemezedre, és örökké offline marad.
A színpalettát is megváltoztathatod, és különféle kalapokat adhatsz a robotodra. Beépített pályaszerkesztő van, és a pályák és kalapok JSON formátumban importálhatók/exportálhatók.
Játék
Csak kattints duplán a botbright.html fájlra, vagy nyisd meg a böngésződben. A játék offline is működik.
Élő verzió: https://inventwithpython.com/botbright/
Hogyan működik
A robotnak három memóriaterülete van:
- Fő memória — 12 utasítás-hely, a Futtatás megnyomásakor fut
- F1 memória — 8 utasítás-hely, egy hívható függvény
- F2 memória — 8 utasítás-hely, egy második hívható függvény
Húzd az utasításcsempéket a palettáról a memóriába. A helyek között húzva rendezd át. Húzz egy csempét egy helyről kifelé a törléséhez.
| Utasítás | Mit csinál |
|---|---|
| Előre | Lépj az előtted lévő csempére, ha azonos magasságú |
| Fordulj balra | Forgás 90°-kal az óramutató járásával ellentétesen |
| Fordulj jobbra | Forgás 90°-kal az óramutató járásával megegyezően |
| Ugrás | Ugorj egy szintet feljebb, vagy ess le tetszőleges számú szintet |
| Felkapcsol | Átkapcsolja a robot alatti célcsempét |
| F1 / F2 hívása | Felteszi azt a függvényt a hívási veremre (rekurzió engedélyezett, korlátokkal) |
A pálya akkor teljesített, ha minden célcsempe sárgán világít.
A túl sokáig futó programok leállnak: legfeljebb 1000 utasítás összesen, legfeljebb 100 keret a hívási veremben.
Vezérlés
Kamera — WASD vagy nyilakkal a tologatás, Q/E vagy PageUp/PageDown a 90°-os elforgatás, +/− vagy görgő a nagyítás. Nyomj 0-t a nézet visszaállításához. Húzd a vásznat a tologatáshoz, csípd a nagyításhoz, két ujjal csavard a forgatáshoz. Tartsd lenyomva a képernyő kameragombjait a folyamatos, sima mozgáshoz.
Oldalsáv szélessége — húzd az elválasztót a vászon és az oldalsáv között.
Sebesség — csúszka az oldalsávban: lassú / normál / gyors. Futás közben is állítható.
Pályaszerkesztő
A játékhoz teljes értékű szerkesztő tartozik. Hozzáadhatsz/duplikálhatsz/törölhetsz pályákat, átméretezheted a rácsot (1–32 minden dimenzióban), 0–9 magasságot festhetsz, megjelölheted a célcsempéket, beállíthatod a kezdő pozíciót és irányt, és a szerkesztőből kilépés nélkül kipróbálhatod a pályát.
A teljes pályakészlet JSON-ként exportálható és ugyanúgy importálható, így megoszthatsz pályákat, vagy biztonsági másolatot készíthetsz a módosításokról.
Kalapszerkesztő
A robot kalapokat viselhet. Tizenkilenc lehetőséggel érkezik: Nincs, Cilinder, Varázsló kalap, Korona, Sapka, Baseballsapka, Cowboy kalap, Bulikalap, Keménykalap, Glória, Ördögszarvak, Sombrero, Boszorkánykalap, Fez, Szarvasagancs, Nyúlfül, Macskafül, Búvársisak és Viking sisak. Minden kalapot négy SVG sprite határoz meg — minden képernyőhöz viszonyított irányhoz egy —, így a kalap követi a robot irányát minden kameraforgatáskor (a baseballsapka ellenzője, a boszorkánykalap csatja, a búvársisak ablaka és a nyúl/macska fülének belseje is ennek megfelelően mozdul). Élő előnézet másodpercenként egyszer megforgatja a robotot, hogy minden szögből láthasd a kalapot. A kalapok JSON-ként is exportálhatók és importálhatók egyedi tervekhez.
Színsémák
A játék oldalsávjában lévő Színek panel megnyitja a palettát: csempeszín, csempeszegély-szín, célszín, felkapcsolt cél színe, háttér és robottest. Használhatsz beépített témát, vagy szerkesztheted magad.
Nyelvek
A felület 23 nyelvre fordítva: angol, spanyol, francia, német, olasz, portugál, orosz, kínai, japán, koreai, hindi, bengáli, vietnami, arab (jobbról balra elrendezéssel), thai, tagalog, norvég, holland, svéd, török, szuahéli, indonéz és lengyel. Az alapértelmezett nyelv a böngésző navigator.language értékét követi; a kezdőképernyő nyelvválasztója a munkamenet idejére felülírja. A beépített pályák nevei és leírásai, valamint a beépített kalapok nevei minden támogatott nyelvre le vannak fordítva. A pályaszerkesztő név vagy leírás szerkesztésekor csak az aktuálisan kiválasztott nyelv helyére ír, a többi nyelv fordításait érintetlenül hagyja.
Világos / sötét mód
Az alkalmazás kerete követi a böngésző prefers-color-scheme beállítását. A Színek panelben az Alapértelmezett téma kiválasztásakor a böngésző aktuális módjához illő paletta lép életbe, így módváltáskor is szinkronban marad. Bármely más beépített téma — vagy a Színek panelben testre szabott paletta — felülírja ezt a viselkedést.
Készítők
Készítette: Al Sweigart — https://inventwithpython.com/botbright/
Daniel Yaroslavski Lightbot játéka ihlette.