БЛИЦ БАЗОВЫЙ - Blitz BASIC
Разработчики) | Blitz Research. |
---|---|
Написано в | Скомпилировано в C ++, но языки являются диалектами БАЗОВЫЙ |
Операционная система | Майкрософт Виндоус |
Платформа | Майкрософт Виндоус |
Доступно в | английский |
Тип | Система создания игр |
Лицензия | лицензия zlib |
Интернет сайт | www |
БЛИЦ БАЗОВЫЙ это язык программирования диалект первых компиляторов Blitz, разработанный Новая Зеландия на базе разработчика Марк Сибли. Будучи производным от БАЗОВЫЙ, Blitz-синтаксис был разработан таким образом, чтобы его было легко освоить новички, впервые обучающиеся программированию. Эти языки ориентированы на программирование игр, но часто оказываются достаточно универсальными для использования в большинстве типов приложений. Язык Blitz развивался по мере выпуска новых продуктов, а последние версии предлагали поддержку более продвинутых методов программирования, таких как объектная ориентация и многопоточность. Это привело к тому, что в последующие годы языки потеряли свое название BASIC.[1]
История
Первая версия языка Blitz была создана для Amiga платформе и опубликованы Австралийский Фирма Memory and Storage Technology. Возвращаясь к Новая Зеландия, Blitz BASIC 2 был опубликован несколькими годами позже (согласно этому пресс-релизу, примерно в 1993 г. [2]) от Acid Software (местного издателя игр для Amiga). С тех пор компиляторы Blitz были выпущены на нескольких платформы. После того, как Amiga перестала быть коммерчески жизнеспособной платформой, исходный код Blitz BASIC 2 был передан сообществу Amiga. Разработка продолжается и по сей день под названием AmiBlitz.[3]
BlitzBasic
Идигикон опубликовал BlitzBasic для Майкрософт Виндоус в октябре 2000 г. Язык включает встроенный API для выполнения основных операций с 2D-графикой и звуком. После выпуска Blitz3D BlitzBasic часто синонимично называют Blitz2D.
Признание BlitzBasic увеличилось, когда ограниченный диапазон «бесплатных» версий был распространен в популярных британских компьютерных журналах, таких как Формат ПК. Это привело к юридическому спору между разработчиком и издателем, который в конечном итоге разрешился мирным путем.
BlitzPlus
В феврале 2003 года Blitz Research Ltd. выпустила BlitzPlus также для Microsoft Windows. В нем отсутствовал 3D-движок Blitz3D, но он привнес новые функции в 2D-часть языка, реализовав ограниченную поддержку элементов управления Microsoft Windows для создания собственных GUI. Была также расширена обратная совместимость 2D-движка, что позволило скомпилированным играм и приложениям BlitzPlus работать в системах, которые могли иметь только DirectX 1.
BlitzMax
Парадигма | императив, объектно-ориентированный, модульный, отражающий |
---|---|
Разработано | Марк Сибли |
Разработчик | Blitz Research Ltd. |
Впервые появился | 2004 |
Окончательный релиз | 1.51 / 21 сентября 2015 |
Печатная дисциплина | Статический, Слабый, Сильный (необязательный) |
Операционные системы | Майкрософт Виндоус, Mac OS X, Linux |
Интернет сайт | www |
Диалекты | |
Официальный BlitzMax, bmx-ng | |
Под влиянием | |
BlitzBasic | |
Под влиянием | |
Обезьяна |
Первый компилятор BlitzMax был выпущен в декабре 2004 г. для Mac OS X. Это сделало его первым диалектом Blitz, который можно было скомпилировать на платформах * nix. Компиляторы для Microsoft Windows и Linux впоследствии были выпущены в мае 2005 года. BlitzMax внесла самые большие изменения в структуру языка в современный ассортимент продуктов Blitz, расширив систему типов, включив объектно-ориентированные концепции и изменив графический API для лучшего соответствия OpenGL. BlitzMax также был первым из языков Blitz, который внутренне представлял строки с использованием UCS-2, позволяя встроенную поддержку строковых литералов, состоящих из не-ASCII символы.
Набор команд BlitzMax, не зависящий от платформы, позволяет разработчикам компилировать и запускать исходный код на нескольких платформах. Однако официальный компилятор и цепочка сборки будут генерировать двоичные файлы только для той платформы, на которой они выполняются. Неофициально пользователи смогли получить Linux и Mac OS X для кросс-компиляции с платформой Windows.
BlitzMax тоже первый модульный версия языков Blitz, улучшающая расширяемость набора команд. Кроме того, все стандартные модули, поставляемые с компилятором, имеют открытый исходный код и могут быть изменены и перекомпилированы программистом при необходимости. Официальный BlitzMax кросс-платформенный GUI модуль (известный как MaxGUI) позволяет разработчикам писать интерфейсы GUI для своих приложений в Linux (ФЛТК ), Mac (Какао ) и Windows. Различные модули, добавленные пользователями, расширяют использование языка, обертывая такие библиотеки, как wxWidgets, Каир, и Fontconfig а также выбор модулей базы данных. Также доступен выбор сторонних 3D-модулей, а именно MiniB3D.[4] - движок OpenGL с открытым исходным кодом, который можно скомпилировать и использовать на всех трех поддерживаемых платформах BlitzMax.
В октябре 2007 года был выпущен BlitzMax 1.26, который включал добавление отражение модуль.[5] BlitzMax 1.32 выпущен новым заправка и Lua модули сценариев и большинство стандартных функций библиотеки были обновлены, чтобы они юникод дружелюбный.[6]
Blitz3D SDK
Blitz3D SDK - это движок трехмерной графики, основанный на движке Blitz3D. Он был продан для использования с C ++, C #, BlitzMax и PureBasic, однако его также можно использовать с другими языками, которые следуют совместимым соглашениям о вызовах.
Модуль Max3D
В 2008 году исходный код Max3D - кроссплатформенного 3D-движка на C ++ - был выпущен под лицензией Лицензия BSD. Этот движок ориентирован на OpenGL, но имеет абстрактный бэкэнд для других графических драйверов (таких как DirectX) и использует несколько библиотек с открытым исходным кодом, а именно Ассимп, Способствовать росту, и ODE.
Несмотря на волнение в сообществе Blitz о том, что Max3D является долгожданным преемником Blitz3D, интерес и поддержка исчезли вскоре после того, как был выпущен исходный код, и в конечном итоге разработка остановилась. Нет никаких признаков того, что Blitz Research снова возьмется за проект.
Релиз с открытым исходным кодом
BlitzPlus был выпущен как Открытый исходный код 28 апреля 2014 г. лицензия zlib на GitHub.[7][8] Blitz3D последовал вскоре после этого и был выпущен с открытым исходным кодом 3 августа 2014 года.[9][10] BlitzMax был позже выпущен как открытый исходный код 21 сентября 2015 года.[11]
Примеры
Привет, мир программа, которая печатает на экране, ожидает нажатия клавиши, а затем завершает работу:
Распечатать "Привет, мир" ; Печатает на экран.WaitKey() ; Приостанавливает выполнение до нажатия клавиши.Конец ; Завершает программу.
Программа, демонстрирующая объявление переменных с использованием трех основных типов данных (Струны, Целые числа и Поплавки ) и выводим их на экран:
имя$ = "Джон" ; Создать строковую переменную ($) возраст = 36 ; Создать целочисленную переменную (без суффикса)температура# = 27.3 ; Создать переменную типа float (#)Распечатать "Меня зовут " + имя$ + " и я " + возраст + " лет."Распечатать «Сегодня температура такая» + температура# + "градусы".Waitkey() ; Приостанавливает выполнение до нажатия клавиши.Конец ; Завершает программу.
Программа, которая создает оконное приложение, которое показывает текущее время в двоичном и десятичном формате. См. Ниже версии BlitzMax и BlitzBasic:
BlitzБазовая версия | Версия BlitzMax |
---|---|
AppTitle «Бинарные часы» Графика 150,80,16,3 ; создать таймер, который означает, что основной цикл будет ; выполняется дважды в секунду второсортный=CreateTimer(2) ;##################################################### Повторение ; ГЛАВНАЯ ПЕТЛЯ Час = Оставили(Текущее время$(),2) Минуты = Середина(Текущее время$(),4,2) Второй = Правильно(Текущее время$(),2) Если Час >= 12 потом ВЕЧЕРА = 1 Если Час > 12 потом Час = Час - 12 Если Час = 0 потом Час = 12 ; следует сделать это, иначе точка PM будет ; оставлено вверх, как только часы пробьют полночь! Cls Цвет(0,255,0) ; сделаем текст зеленым для части PM Если ВЕЧЕРА = 1 потом Текст 5,5,"ВЕЧЕРА" ; установите цвет текста обратно на белый для остальных Цвет(255,255,255) За кусочек=0 К 5 xpos=20*(6-кусочек) binaryMask=2^кусочек ; делать часы Если (кусочек<4) Если (час И binaryMask) Текст xpos,5,"1" Еще Текст xpos,5,"0" Конец Если Конец Если ; сделай протокол Если (минута И binaryMask) Текст xpos,25,"1" Еще Текст xpos,25,"0" Конец Если ; делать секунды Если (второй И binaryMask) Текст xpos,45,"1" Еще Текст xpos,45,"0" Конец Если Следующий ; сделать текст красным для десятичного времени Цвет(255,0,0) Текст 5,65,"Десятичный: " + Текущее время$() ; установите текст обратно в белый цвет для остальных Цвет(255,255,255) ; подождет полсекунды WaitTimer(secondTimer) Навсегда ;##################################################### | AppTitle = «Бинарные часы» Графика 145,85 второсортный = CreateTimer(2) Повторение Час = Текущее время()[..2].ToInt() Минуты = Текущее время()[4..6].ToInt() Второй = Текущее время()[6..].ToInt() Если Час >= 12 потом ВЕЧЕРА = 1 Если Час > 12 потом Час = Час - 12 Если Час = 0 потом Час = 12 'следует сделать это, иначе точка PM будет «Слева вверх, когда часы пробьют полночь! Cls SetColor(0,255,0) 'Сделайте текст зеленым Для части PM Если ВЕЧЕРА = 1 потом DrawText "ВЕЧЕРА",5,5 'установите цвет текста обратно на белый Для всего остального SetColor(255,255,255) За кусочек=0 До того как 6 xpos=20*(6-кусочек) binaryMask=2^кусочек 'делать часы Если (кусочек<4) Если (час & binaryMask) DrawText "1",xpos,5 Еще DrawText "0",xpos,5 Конец Если Конец Если 'делай минуты Если (минута & binaryMask) DrawText "1", xpos,25 Еще DrawText "0", xpos,25 Конец Если 'сделай секунды Если (второй & binaryMask) DrawText "1",xpos,45 Еще DrawText "0",xpos,45 Конец Если Следующий 'Сделать текст красным Для десятичного времени SetColor(255,0,0) DrawText "Десятичный: " + Текущее время(),5,65 'вернуть текст обратно в белый цвет Для всего остального SetColor(255,255,255) Подбросить 'подожду полсекунды WaitTimer(secondTimer) Если KeyHit(KEY_ESCAPE) потом Выход Навсегда |
Программное обеспечение, написанное с использованием BlitzBasic
- Эшалон: Книга I - BlitzMax
- Эшалон: Книга II - BlitzMax
- Пасьянс Fairway - BlitzMax
- GridWars - BlitzMax
- TVTower (клон MadTV с открытым исходным кодом) - BlitzMax
- Утконос - Blitz2D (порт Mac, BlitzMax)
- SCP - Нарушение условий содержания - Blitz3D
- черви - первоначальное название Total Wormage и разработан в Blitz Basic на Amiga перед коммерческим выпуском[12]
Наследие
В 2011 году BRL выпустила новый кроссплатформенный язык программирования под названием Monkey и свой первый официальный модуль под названием Mojo. Monkey имеет синтаксис, аналогичный BlitzMax, но вместо прямой компиляции в код сборки он переводит исходные файлы Monkey непосредственно в исходный код для выбранного языка, фреймворка или платформы, например Окна, Mac OS X, iOS, Android, HTML5, и Adobe Flash.
Разработка Monkey X была остановлена в пользу Monkey 2, обновленной версии языка Марка Сибли.
Рекомендации
- ^ "Официальный сайт Blitz". www.blitzbasic.com. Архивировано из оригинал 3 июня 2017 г.
- ^ AmigaReport http://www.amigareport.com/ar115/p1-5.html. Получено 30 апреля 2020. Отсутствует или пусто
| название =
(помощь) - ^ https://github.com/AmiBlitz
- ^ "Блиц Новости". www.blitzbasic.com. Архивировано из оригинал 26 января 2008 г.. Получено 12 декабря 2007.
- ^ "Обновление BlitzMax 1.26 уже доступно!". www.blitzbasic.com. Архивировано из оригинал 26 мая 2011 г.. Получено 11 января 2011.
- ^ BlitzMax V132 для Windows и MacIntel уже сейчас! В архиве 26 мая 2011 г. Wayback Machine на blitzbasic.com
- ^ Выпущен исходный код BlitzPlus В архиве 16 июля 2016 г. Wayback Machine Автор: simonh (2014-04-29)
- ^ Blitz3D с открытым исходным кодом! В архиве 6 сентября 2016 г. Wayback Machine на форумах Blitz3D, автор (2014)
- ^ Blitz3D теперь бесплатно и с открытым исходным кодом! В архиве 16 июля 2016 г. Wayback Machine Автор simonh (2014-08-03)
- ^ blitz3d на GitHub
- ^ блицмакс на GitHub
- ^ IGN. Предварительный просмотр Worms Blast В архиве 18 февраля 2007 г. Wayback Machine на ign.com
внешняя ссылка
- Подсайт Blitz Research на itch.io (BlitzPlus, Blitz 3D, Обезьяна X, Обезьяна 2)
- Подсайт Monkey X (Открытый исходный код)
- Обезьяна 2 подсайта
- блиц-исследования (Марк Сибли) на GitHub (BlitzPlus, BlitzMax, Blitz3D, Monkey, BlitzMax, Blitz3D для MSVC-CE 2017)
- Сайт Blitz Research (архивировано 3 июня 2017 г.)
- Сайт Monkey X (заархивировано 15 июля 2017 г.)