Blitz BASIC

редактировать

BlitzBasic
BlitzBasicLogo.gif
Разработчик (и) Blitz Research.
Написано наСкомпилировано в C ++, но языки являются диалектами BASIC
Операционная система Microsoft Windows
Платформа Microsoft Windows
Доступно наанглийском
Типе Система создания игр
Лицензия лицензия zlib
Веб-сайтwww.blitzbasic.com

Blitz BASIC - это язык программирования диалект первых компиляторов Blitz, разработанный разработчиком из Новой Зеландии Марком Сибли. Будучи производным от BASIC, синтаксис Blitz был разработан таким образом, чтобы его было легко освоить новички, впервые обучающиеся программированию. Эти языки ориентированы на программирование игр, но часто оказываются достаточно универсальными для использования в большинстве типов приложений. Язык Blitz развивался по мере выпуска новых продуктов, в последних воплощениях предлагалась поддержка более продвинутых методов программирования, таких как объектно-ориентированная и многопоточность. Это привело к тому, что в последующие годы языки потеряли свое название BASIC.

Содержание
  • 1 История
    • 1.1 BlitzBasic
    • 1.2 BlitzPlus
    • 1.3 BlitzMax
    • 1.4 Blitz3D SDK
    • 1.5 Max3D module
    • 1.6 Выпуск с открытым исходным кодом
  • 2 Примеры
  • 3 Программное обеспечение, написанное с использованием BlitzBasic
  • 4 Устаревшее
  • 5 Ссылки
  • 6 Внешние ссылки
История

Первая итерация язык Blitz был создан для платформы Amiga и опубликован австралийской фирмой Memory and Storage Technology. Возвращаясь к Новой Зеландии, Blitz BASIC 2 был опубликован несколькими годами позже (примерно в 1993 году, согласно этому пресс-релизу) Acid Software (местный издатель игр для Amiga). С тех пор компиляторы Blitz были выпущены на нескольких платформах. После того, как Amiga перестала быть коммерчески жизнеспособной платформой, исходный код Blitz BASIC 2 был передан сообществу Amiga. Разработка продолжается и по сей день под названием AmiBlitz.

BlitzBasic

Idigicon опубликовал BlitzBasic для Microsoft Windows в октябре 2000 года. Язык включал встроенный API для выполнения основных 2D-графика и аудио операции. После выпуска Blitz3D BlitzBasic часто синонимично называют Blitz2D.

Узнаваемость BlitzBasic возросла, когда ограниченный диапазон «бесплатных» версий был распространен в популярных британских компьютерных журналах, таких как PC Format. Это привело к юридическому спору между разработчиком и издателем, который в конечном итоге разрешился мирным путем.

BlitzPlus

В феврале 2003 года Blitz Research Ltd. выпустила BlitzPlus также для Microsoft Windows. В нем отсутствовал 3D-движок Blitz3D, но он привнес новые функции в 2D-часть языка, реализовав ограниченную поддержку элементов управления Microsoft Windows для создания собственных GUI. Была также расширена обратная совместимость 2D-движка, что позволило запускать скомпилированные игры и приложения BlitzPlus в системах, которые могли иметь только DirectX 1.

BlitzMax

BlitzMax
Paradigm императивный, объектно-ориентированный, модульный, отражающий
Разработано Марк Сибли
Разработчик Blitz Research Ltd.
Первое появление2004 г.
Окончательный выпуск 1.51 / 21 сентября 2015 г.; 5 лет назад (21.09.2015)
Дисциплина набора текста Статическая, Слабая, Сильная (необязательно)
OS Microsoft Windows, Mac OS X, Linux
Веб-сайтwww.blitzbasic.com
Диалекты
Официальный BlitzMax, bmx-ng
Под влиянием
BlitzBasic
Influenced
Monkey

Первый компилятор BlitzMax был выпущен в декабре 2004 года для Mac OS X. Это сделало его первым диалектом Blitz, который можно было скомпилировать на платформах * nix. Впоследствии в мае 2005 года были выпущены компиляторы для Microsoft Windows и Linux. BlitzMax внесла самые большие изменения в языковую структуру в современный ассортимент продуктов Blitz, расширив систему типов, включив в нее объектно-ориентированные концепции и изменив графический API чтобы лучше соответствовать OpenGL. BlitzMax был также первым из языков Blitz, который представил строки внутренне с использованием UCS-2, что позволило обеспечить встроенную поддержку строковых литералов, состоящих из символов, отличных от ASCII.

Не зависящий от платформы набор команд BlitzMax позволяет разработчикам компилировать и запускать исходный код на нескольких платформах. Однако официальный компилятор и цепочка сборки будут генерировать двоичные файлы только для той платформы, на которой они выполняются. Неофициально пользователи смогли заставить Linux и Mac OS X выполнить кросс-компиляцию с платформой Windows.

BlitzMax также является первой модульной версией языков Blitz, улучшающей расширяемость набора команд. Кроме того, все стандартные модули, поставляемые с компилятором, имеют открытый исходный код и могут быть изменены и перекомпилированы программистом при необходимости. Официальный модуль BlitzMax cross -platform GUI (известный как MaxGUI) позволяет разработчикам писать интерфейсы GUI для своих приложений в Linux (FLTK ), Mac (Какао ) и Windows. Различные пользовательские модули расширяют возможности использования языка за счет обертывания таких библиотек, как wxWidgets, Cairo и Fontconfig, а также ряда модулей базы данных. Также доступен выбор сторонних 3D-модулей, а именно MiniB3D - движок OpenGL с открытым исходным кодом, который можно скомпилировать и использовать на всех трех поддерживаемых платформах BlitzMax.

В октябре 2007 года был выпущен BlitzMax 1.26, в который был добавлен модуль отражения. BlitzMax 1.32 поставляет новые модули сценариев threading и Lua, а большинство стандартных библиотечных функций были обновлены таким образом, чтобы они стали unicode удобными.

Blitz3D SDK

Blitz3D SDK - это движок трехмерной графики, основанный на движке Blitz3D. Он был продан для использования с C ++, C#, BlitzMax и PureBasic, однако он также мог использоваться с другими языками, которые следуют совместимым соглашениям о вызовах.

Модуль Max3D

В 2008 году исходный код Max3D - кроссплатформенного 3D-движка на основе C ++ - был выпущен по лицензии BSD. Этот движок ориентирован на OpenGL, но имеет абстрактный бэкэнд для других графических драйверов (таких как DirectX) и использует несколько библиотек с открытым исходным кодом, а именно Assimp, Boost и . ODE.

Несмотря на ажиотаж в сообществе Blitz о том, что Max3D является долгожданным преемником Blitz3D, интерес и поддержка прекратились вскоре после того, как был выпущен исходный код, и в конечном итоге разработка остановилась. Нет никаких признаков того, что Blitz Research снова возьмется за проект.

Выпуск с открытым исходным кодом

BlitzPlus был выпущен как с открытым исходным кодом 28 апреля 2014 года под лицензией zlib на GitHub. Blitz3D последовал вскоре после этого и был выпущен как открытый исходный код 3 августа 2014 года. BlitzMax был позже выпущен как открытый исходный код 21 сентября 2015 года.

Примеры

Hello World программа, которая печатает на экране, ждет до тех пор, пока не будет нажата клавиша, а затем завершится:

Печать «Hello World»; Печатает на экран. WaitKey (); Приостанавливает выполнение до нажатия клавиши. Конец ; Завершает программу.

Программа, демонстрирующая объявление переменных с использованием трех основных типов данных (Strings, Integer и Floats ) и вывод их на экран:

имя $ = "Джон"; Создайте строковую переменную ($) age = 36; Создать целочисленную переменную (без суффикса) temperature # = 27,3; Создайте переменную типа float (#) напечатайте «Меня зовут» + name $ + »и мне« + age + »лет. print "Сегодня температура" + температура # + "градусы". Ключ ожидания (); Приостанавливает выполнение до нажатия клавиши. Конец ; Завершает программу.

. Программа, которая создает оконное приложение, которое показывает текущее время в двоичном и десятичном формате. См. Ниже версии BlitzMax и BlitzBasic:

Версия BlitzBasicВерсия BlitzMax
AppTitle «Двоичные часы» Графика 150,80,16,3; создайте таймер, который означает, что основной цикл будет; выполняется дважды второй секундомер = CreateTimer (2); ##################################### ############## Повторение ; MAIN LOOP Hour = Left (CurrentTime $ (), 2) Minute = Mid (CurrentTime $ (), 4,2) Second = Right (CurrentTime $ (), 2) Если Hour>= 12 Then PM = 1 Если Hour>12 Тогда Hour = Hour - 12 Если Hour = 0 Then Hour = 12; должно быть так, иначе точка PM будет; оставлена ​​вверх, как только часы переместятся за полночь! Cls Color (0,255,0); сделайте текст зеленым для части PM. Если PM = 1 Then Text 5,5, "PM"; установите цвет текста обратно на белый для остальных. Цвет (255,255,255) Для битов = от 0 до 5 xpos = 20 * (6-бит) binaryMask = 2 ^ bit; do hours If (bit <4) If (hour And binaryMask) Text xpos,5,"1" Else Text xpos,5,"0" EndIf EndIf ;do the minutes If (minute And binaryMask) Text xpos,25,"1" Else Text xpos,25,"0" EndIf ;do the seconds If (second And binaryMask) Text xpos,45,"1" Else Text xpos,45,"0" EndIf Next ;make the text red for the decimal time Color(255,0,0) Text 5,65,"Decimal: " + CurrentTime$() ;set the text back to white for the rest Color(255,255,255) ;will wait half a second WaitTimer(secondTimer) Forever ;#####################################################
AppTitle = "Binary Clock" Graphics 145,85 secondtimer = CreateTimer (2) Repeat Hour = CurrentTime () [.. 2].ToInt () Минута = CurrentTime () [4..6].ToInt () Second = CurrentTime () [6..]. ToInt () Если Hour>= 12 Then PM = 1 Если Hour>12 Then Hour = Hour - 12 Если Hour = 0, то Hour = 12 'должен сделать это, иначе точка PM будет' Оставлено вверх, когда часы переместятся за полночь! Cls SetColor (0,255,0) 'сделать текст зеленым Для части PM Если PM = 1 Затем DrawText "PM", 5,5 'установите цвет текста обратно на белый Для остальных SetColor (255,255,255) For bit = 0 До 6 xpos = 20 * (6-bit) binaryMask = 2 ^ bit' do hours If (bit <4) If (hour binaryMask) DrawText "1",xpos,5 Else DrawText "0",xpos,5 EndIf EndIf 'do the minutes If (minute binaryMask) DrawText "1", xpos,25 Else DrawText "0", xpos,25 EndIf 'do the seconds If (second binaryMask) DrawText "1",xpos,45 Else DrawText "0",xpos,45 EndIf Next 'make the text red For the decimal time SetColor(255,0,0) DrawText "Decimal: " + CurrentTime(),5,65 'set the text back To white For the rest SetColor(255,255,255) Flip 'will wait half a second WaitTimer(secondTimer) If KeyHit(KEY_ESCAPE) Then Exit Forever
Программное обеспечение, написанное с использованием BlitzBasic
Legacy

В 2011 году BRL выпустила новый кроссплатформенный язык программирования под названием Monkey и его первый официальный модуль под названием Mojo. Monkey имеет синтаксис, аналогичный BlitzMax, но вместо прямой компиляции в код сборки он переводит исходные файлы Monkey непосредственно в исходный код для выбранного языка, фреймворка или платформы, например. Windows, Mac OS X, iOS, Android, HTML5 и Adobe Flash.

Разработка Monkey X приостановлена ​​в пользу Monkey 2, обновленная версия языка от Марка Сибли.

Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-12 10:38:15
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте