Blitz BASIC - Blitz BASIC
![]() | |
Vývojáři | Blitz Research. |
---|---|
Napsáno | Zkompilováno do C ++, ale jazyky jsou dialekty ZÁKLADNÍ |
Operační systém | Microsoft Windows |
Plošina | Microsoft Windows |
K dispozici v | Angličtina |
Typ | Systém vytváření her |
Licence | licence zlib |
webová stránka | www |
Blitz BASIC je programovací jazyk dialekt prvních Blitz překladačů, vymyslel Nový Zéland -vývojář Mark Sibly. Odvozeno od ZÁKLADNÍ Syntaxe Blitz byla navržena tak, aby ji začátečníci, kteří se poprvé učí programovat, snadno vyzvedli. Jazyky jsou zaměřeny na programování her, ale často je lze považovat za dostatečně všeobecné, aby je bylo možné použít pro většinu typů aplikací. Jazyk Blitz se vyvinul s vydáním nových produktů a nedávné inkarnace nabízejí podporu pro pokročilejší programovací techniky, jako je objektová orientace a multithreading. To vedlo k tomu, že jazyky v pozdějších letech ztratily svůj základní název.[1]
Dějiny
První iterace jazyka Blitz byla vytvořena pro Amiga platformu a publikoval Australan pevná paměťová a paměťová technologie. Po návratu do Nový Zéland, Blitz BASIC 2 byl vydán o několik let později (kolem roku 1993 podle této tiskové zprávy [2]) od Acid Software (lokální vydavatel her Amiga). Od té doby byly kompilátory Blitz vydány na několika platformy. V návaznosti na zánik Amigy jako komerčně životaschopné platformy byl komunitě Amiga vydán zdrojový kód Blitz BASIC 2. Vývoj pokračuje dodnes pod názvem AmiBlitz.[3]
BlitzZákladní
Idigicon publikoval BlitzBasic pro Microsoft Windows v říjnu 2000. Jazyk zahrnoval integrované API pro provádění základních 2D grafických a zvukových operací. Po vydání Blitz3D je BlitzBasic často synonymně označován jako Blitz2D.
Uznání BlitzBasic se zvýšilo, když byla omezená řada „bezplatných“ verzí distribuována v populárních britských počítačových časopisech, jako jsou PC formát. To vedlo k právnímu sporu mezi vývojářem a vydavatelem, který byl nakonec vyřešen smírně.
BlitzPlus
V únoru 2003 vydala společnost Blitz Research Ltd. BlitzPlus také pro Microsoft Windows. Postrádal 3D engine Blitz3D, ale přinesl nové funkce do 2D strany jazyka implementací omezené podpory ovládání Microsoft Windows pro vytváření nativních GUI. Rovněž byla rozšířena zpětná kompatibilita 2D enginu, což umožnilo provozovat kompilované hry a aplikace BlitzPlus v systémech, které by mohly mít pouze DirectX 1.
BlitzMax
Paradigma | rozkazovací způsob, objektově orientovaný, modulární, reflexní |
---|---|
Navrhl | Mark Sibly |
Vývojář | Blitz Research Ltd. |
Poprvé se objevil | 2004 |
Konečné vydání | 1.51 / 21. září 2015 |
Psací disciplína | Statický, Slabý, Silný (volitelný) |
OS | Microsoft Windows, Mac OS X, Linux |
webová stránka | www |
Dialekty | |
Oficiální BlitzMax, bmx-ng | |
Ovlivněno | |
BlitzZákladní | |
Ovlivněno | |
Opice |
První kompilátor BlitzMax byl vydán v prosinci 2004 pro Mac OS X. To z něj učinilo první Blitz dialekt, který mohl být kompilován na platformách * nix. Překladače pro Microsoft Windows a Windows Linux byly následně vydány v květnu 2005. BlitzMax přinesl největší změnu jazykové struktury v moderní řadě produktů Blitz rozšířením typového systému o objektově orientované koncepty a úpravou grafického API, aby lépe vyhovoval OpenGL. BlitzMax byl také prvním z jazyků Blitz, který interně reprezentoval řetězce UCS-2, což umožňuje nativní podporu řetězcových literálů složených zASCII postavy.
Sada nástrojů agnostické platformy BlitzMax umožňuje vývojářům kompilovat a spouštět zdrojový kód na více platformách. Oficiální řetězec kompilátoru a sestavení však vygeneruje pouze binární soubory pro platformu, na které provádí. Neoficiálně se uživatelům podařilo přimět Linux a Mac OS X ke křížové kompilaci na platformu Windows.
BlitzMax je také první modulární verze jazyků Blitz, což zlepšuje rozšiřitelnost sady příkazů. Kromě toho jsou všechny standardní moduly dodávané s kompilátorem open-source, takže je lze v případě potřeby vylepšit a znovu zkompilovat programátorem. Oficiální BlitzMax napříč platformami GUI modul (známý jako MaxGUI) umožňuje vývojářům psát rozhraní GUI pro jejich aplikace v systému Linux (FLTK ), Mac (Kakao ) a Windows. Různé moduly přispívající uživatelem rozšiřují použití jazyka tak, že zabalí takové knihovny jako wxWidgets, Káhira, a Fontconfig stejně jako výběr databázových modulů. K dispozici je také výběr 3D modulů třetích stran, jmenovitě MiniB3D[4] - open-source engine OpenGL, který lze kompilovat a používat na všech třech podporovaných platformách BlitzMax.
V říjnu 2007 byl vydán BlitzMax 1.26, který zahrnoval přidání a odraz modul.[5] BlitzMax 1.32 dodáván nový závitování a Lua skriptovací moduly a většina standardních funkcí knihovny byly aktualizovány tak, aby byly unicode přátelský.[6]
Blitz3D SDK
Blitz3D SDK je 3D grafický engine založený na enginu v Blitz3D. Byl uveden na trh pro použití s C ++, C#, BlitzMax a PureBasic, nicméně to by mohlo být také použito s jinými jazyky, které dodržují kompatibilní konvence volání.
Modul Max3D
V roce 2008 byl vydán zdrojový kód k Max3D - multiplatformnímu 3D enginu založenému na C ++ pod a Licence BSD. Tento engine se zaměřil na OpenGL, ale měl abstraktní backend pro jiné grafické ovladače (například DirectX) a využíval několik knihoven open-source, jmenovitě Asimp, Zvýšit, a ÓDA.
Navzdory vzrušení v komunitě Blitz, kdy Max3D byl netrpělivě očekávaným nástupcem Blitz3D, brzy po vydání zdrojového kódu ustal zájem a podpora a vývoj se nakonec zastavil. Nic nenasvědčuje tomu, že si Blitz Research znovu vyzvedne projekt.
Vydání open-source
BlitzPlus byl vydán jako open-source dne 28. dubna 2014 pod licence zlib na GitHub.[7][8] Blitz3D následoval brzy poté a byl vydán jako Open Source dne 3. srpna 2014.[9][10] BlitzMax byl později vydán jako Open Source dne 21. září 2015.[11]
Příklady
Ahoj světe program, který se vytiskne na obrazovku, počká na stisknutí klávesy a poté se ukončí:
Tisk "Ahoj světe" ; Tisk na obrazovku.WaitKey() ; Pozastaví provádění, dokud nestisknete klávesu.Konec ; Ukončí program.
Program, který demonstruje deklaraci proměnných pomocí tří hlavních datových typů (Struny, Celá čísla a Plováky ) a jejich tisk na obrazovku:
název$ = "John" ; Vytvořte proměnnou řetězce ($) stáří = 36 ; Vytvořte celočíselnou proměnnou (bez přípony)teplota# = 27.3 ; Vytvořte proměnnou float (#)tisk "Jmenuji se " + název$ + " a já jsem " + stáří + „let.“tisk „Dnes je teplota“ + teplota# + „stupně.“Waitkey() ; Pozastaví provádění, dokud nestisknete klávesu.Konec ; Ukončí program.
Program, který vytváří okenní aplikaci, která zobrazuje aktuální čas v binárním a desítkovém formátu. Níže naleznete verze BlitzMax a BlitzBasic:
BlitzBasic verze | Verze BlitzMax |
---|---|
AppTitle "Binární hodiny" Grafika 150,80,16,3 ; vytvořit časovač, což znamená, že hlavní smyčka bude ; provedeno dvakrát za sekundu sekundový časovač=CreateTimer(2) ;##################################################### Opakovat ; HLAVNÍ SLUČKA Hodina = Vlevo, odjet(Aktuální čas$(),2) Minuta = Střední(Aktuální čas$(),4,2) Druhý = Že jo(Aktuální čas$(),2) Li Hodina >= 12 Pak ODPOLEDNE = 1 Li Hodina > 12 Pak Hodina = Hodina - 12 Li Hodina = 0 Pak Hodina = 12 ; mělo by to udělat, jinak bude bodka PM ; vlevo, jakmile se hodiny otočí kolem půlnoci! Cls Barva(0,255,0) ; u části PM změňte text na zelenou Li ODPOLEDNE = 1 Pak Text 5,5,"ODPOLEDNE" ; u ostatních nastavte barvu textu zpět na bílou Barva(255,255,255) Pro bit=0 Na 5 xpos=20*(6-bit) binaryMask=2^bit ; dělat hodiny Li (bit<4) Li (hodina A binaryMask) Text xpos,5,"1" Jiný Text xpos,5,"0" EndIf EndIf ; udělejte zápis Li (minuta A binaryMask) Text xpos,25,"1" Jiný Text xpos,25,"0" EndIf ; udělejte sekundy Li (druhý A binaryMask) Text xpos,45,"1" Jiný Text xpos,45,"0" EndIf další ; text zčervená po desetinnou dobu Barva(255,0,0) Text 5,65,"Desetinné:" + Aktuální čas$() ; zbytek nastavíte zpět na bílou Barva(255,255,255) ; počká půl vteřiny WaitTimer(druhý časovač) Navždy ;##################################################### | AppTitle = "Binární hodiny" Grafika 145,85 sekundový časovač = CreateTimer(2) Opakovat Hodina = Aktuální čas()[..2].ToInt() Minuta = Aktuální čas()[4..6].ToInt() Druhý = Aktuální čas()[6..].ToInt() Li Hodina >= 12 Pak ODPOLEDNE = 1 Li Hodina > 12 Pak Hodina = Hodina - 12 Li Hodina = 0 Pak Hodina = 12 'měl by to udělat, jinak bude PM tečka „Jakmile se hodiny otočí kolem půlnoci, odešly nahoru! Cls SetColor(0,255,0) 'udělat text zelený pro část PM Li ODPOLEDNE = 1 Pak DrawText "ODPOLEDNE",5,5 'nastavit barvu textu zpět na bílou Pro zbytek SetColor(255,255,255) Pro bit=0 Dokud 6 xpos=20*(6-bit) binaryMask=2^bit 'dělat hodiny Li (bit<4) Li (hodina & binaryMask) DrawText "1",xpos,5 Jiný DrawText "0",xpos,5 EndIf EndIf „udělejte zápis Li (minuta & binaryMask) DrawText "1", xpos,25 Jiný DrawText "0", xpos,25 EndIf udělej sekundy Li (druhý & binaryMask) DrawText "1",xpos,45 Jiný DrawText "0",xpos,45 EndIf další 'učinit text červeně Na desetinnou dobu SetColor(255,0,0) DrawText "Desetinné:" + Aktuální čas(),5,65 'nastavit text zpět na bílý Pro zbytek SetColor(255,255,255) Flip „počká půl vteřiny WaitTimer(druhý časovač) Li KeyHit(KEY_ESCAPE) Pak Výstup Navždy |
Software napsaný pomocí BlitzBasic
- Eschalon: Kniha I - BlitzMax
- Eschalon: Kniha II - BlitzMax
- Fairway Solitaire - BlitzMax
- GridWars - BlitzMax
- TVTower (open source klon MadTV) - BlitzMax
- Ptakopysk - Blitz2D (port Mac, BlitzMax)
- SCP - porušení kontejnmentu - Blitz3D
- Červi - původně s názvem Celková červivost a vyvinut v Blitz Basic na Amize před komerčním vydáním[12]
Dědictví
V roce 2011 BRL vydala nový multiplatformní programovací jazyk s názvem Monkey a svůj první oficiální modul s názvem Mojo. Monkey má podobnou syntaxi jako BlitzMax, ale místo kompilace přímo do kódu sestavy převádí zdrojové soubory Monkey přímo do zdrojový kód pro zvolený jazyk, rámec nebo platformu, např. Okna, Mac OS X, iOS, Android, HTML5, a Adobe Flash.
Vývoj Monkey X byl zastaven ve prospěch Monkey 2, aktualizované verze jazyka, kterou vytvořil Mark Sibly.
Reference
- ^ „Oficiální web Blitz“. www.blitzbasic.com. Archivovány od originál dne 3. června 2017.
- ^ AmigaReport http://www.amigareport.com/ar115/p1-5.html. Citováno 30. dubna 2020. Chybějící nebo prázdný
| název =
(Pomoc) - ^ https://github.com/AmiBlitz
- ^ „Blitz News“. www.blitzbasic.com. Archivovány od originál dne 26. ledna 2008. Citováno 12. prosince 2007.
- ^ „Aktualizace BlitzMax 1.26 je nyní k dispozici!“. www.blitzbasic.com. Archivovány od originál dne 26. května 2011. Citováno 11. ledna 2011.
- ^ BlitzMax V132 pro Windows a MacIntel nyní na světě! Archivováno 26. května 2011 v Wayback Machine na blitzbasic.com
- ^ Vydán zdrojový kód BlitzPlus Archivováno 16. července 2016 v Wayback Machine podle simonh (2014-04-29)
- ^ Blitz3D open source! Archivováno 6. září 2016 v Wayback Machine na fórech Blitz3D od (2014)
- ^ Blitz3D nyní zdarma a otevřený zdroj! Archivováno 16. července 2016 v Wayback Machine od simonh (03.08.2014)
- ^ blitz3d na GitHubu
- ^ blitzmax na GitHubu
- ^ IGN. Náhled Worms Blast Archivováno 18 února 2007 na Wayback Machine na ign.com
externí odkazy
- Blitz Research podstránka na svědění (BlitzPlus, Blitz 3D, Monkey X, Monkey 2)
- Monkey X podstránka (otevřený zdroj)
- Monkey 2 podstránka
- blitz-research (Mark Sibly) na GitHub (BlitzPlus, BlitzMax, Blitz3D, Monkey, BlitzMax, Blitz3D pro MSVC-CE 2017)
- Web Blitz Research (archivováno 3. června 2017)
- Web Monkey X. (archivováno 15. července 2017)