Botbright: Et programmeringsspil.
🇬🇧 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 er en JavaScript-klon i én enkelt fil af Flash-puslespillet Lightbot. Programmér en isometrisk robot til at gå rundt på et 3D-flisegitter og tænde de blå målfliser. Træk instruktionsfliser ind i robottens hukommelse, tryk på Kør, og se dit program udføre sig selv.
Hele spillet ligger i én HTML-fil (botbright.html) med indlejret CSS og JavaScript — intet build-trin, ingen eksterne afhængigheder, ingen netværkskald. Åbn filen i en hvilken som helst moderne browser og spil. Gem den på din harddisk, så virker den offline for altid.
Du kan også skifte farveskema og give din robot forskellige hatte på. En baneeditor er indbygget, og baner og hatte kan importeres eller eksporteres som JSON.
Spil
Dobbeltklik blot på botbright.html-filen eller åbn den i din browser. Spillet virker offline.
Live-version: https://inventwithpython.com/botbright/
Sådan fungerer det
Robotten har tre hukommelsesområder:
- Hovedhukommelse — 12 instruktionsfelter, kører når du trykker på Kør
- F1-hukommelse — 8 instruktionsfelter, en kaldbar funktion
- F2-hukommelse — 8 instruktionsfelter, endnu en kaldbar funktion
Træk instruktionsfliser fra paletten ind i hukommelsen. Skift rækkefølge ved at trække mellem felter. Træk en flise ud af et felt for at slette den.
| Instruktion | Hvad den gør |
|---|---|
| Fremad | Træd op på flisen foran, hvis den er i samme højde |
| Drej til venstre | Drejer 90° mod uret |
| Drej til højre | Drejer 90° med uret |
| Hop | Hop ét niveau op, eller ned vilkårligt mange niveauer |
| Lys | Skifter målflisen under robotten |
| Kald F1 / F2 | Lægger den funktion på kaldstakken (rekursion tilladt, med grænser) |
En bane er færdig, når hver målflise lyser gult.
Programmer der kører for længe, stoppes: maks. 1000 instruktioner i alt, maks. 100 rammer på kaldstakken.
Kontroller
Kamera — WASD eller piletaster for at panorere, Q/E eller PageUp/PageDown for at rotere 90°, +/− eller scrollhjulet til zoom. Tryk på 0 for at nulstille visningen. Træk lærredet for at panorere, knib for at zoome, drej med to fingre for at rotere. Hold kameraknapperne på skærmen nede for jævn, kontinuerlig bevægelse.
Sidepanelets bredde — træk adskilleren mellem lærredet og sidepanelet.
Hastighed — skyder i sidepanelet: langsom / normal / hurtig. Kan justeres mens spillet kører.
Baneeditor
En komplet editor følger med spillet. Tilføj/duplikér/slet baner, ændr gitterstørrelsen (1–32 i hver dimension), mal højder 0–9, marker målfliser, sæt startposition og retning, og prøv banen uden at forlade editoren.
Hele banesættet eksporteres som JSON og importeres på samme måde, så du kan dele baner eller sikkerhedskopiere ændringer.
Hatte-editor
Robotten kan bære hatte. Der følger nitten valg med: Ingen, Høj hat, Troldmandshat, Krone, Hue, Baseball-kasket, Cowboyhat, Festhat, Bowlerhat, Glorie, Djævlehorn, Sombrero, Heksehat, Fez, Gevir, Kaninører, Katteører, Dykkerhjelm og Vikingehjelm. Hver hat er defineret af fire SVG-sprites — én pr. skærmretning — så hatten følger robottens retning ved alle kameraperspektiver (skyggen på baseball-kasketten, spændet på heksehatten, koøjet på dykkerhjelmen og indersiden af kanin-/katteørerne flyttes tilsvarende). En live-forhåndsvisning roterer robotten én gang i sekundet, så du ser hatten fra alle vinkler. Hatte kan også eksporteres og importeres som JSON til egne designs.
Farvetemaer
Et Farver-panel i spillets sidepanel viser paletten: flisefarve, flisekantfarve, målfarve, oplyst målfarve, baggrund og robotkrop. Du kan bruge et indbygget tema eller redigere det selv.
Sprog
UI-oversættelser til 23 sprog: engelsk, spansk, fransk, tysk, italiensk, portugisisk, russisk, kinesisk, japansk, koreansk, hindi, bengali, vietnamesisk, arabisk (med højre-til-venstre-layout), thai, tagalog, norsk, hollandsk, svensk, tyrkisk, swahili, indonesisk og polsk. Standardsproget følger browserens navigator.language; sprogvælgeren på startskærmen overstyrer det for sessionen. De indbyggede baners navne og beskrivelser samt de indbyggede hattes navne er oversat til alle understøttede sprog. Baneeditoren skriver kun til det aktuelt valgte sprogs slot, når du redigerer et navn eller en beskrivelse, og lader de andre oversættelser være urørt.
Lys / Mørk tilstand
Følger browserens prefers-color-scheme for app-rammen. Vælger du Standard-temaet i Farver-panelet, anvendes paletten der matcher browserens nuværende tilstand, så den forbliver synkron hvis du skifter tilstand. Ethvert andet indbygget tema — eller en tilpasset palet, du justerer via Farver-panelet — tilsidesætter denne adfærd.
Kreditering
Skabt af Al Sweigart — https://inventwithpython.com/botbright/
Inspireret af Lightbot af Daniel Yaroslavski.