WikiDer > БЛИЦ БАЗОВЫЙ

Blitz BASIC

BlitzBasic
BlitzBasicLogo.gif
Разработчики)Blitz Research.
Написано вСкомпилировано в C ++, но языки являются диалектами БАЗОВЫЙ
Операционная системаМайкрософт Виндоус
ПлатформаМайкрософт Виндоус
Доступно ванглийский
ТипСистема создания игр
Лицензиялицензия zlib
Интернет сайтwww.blitzbasic.com[мертвая ссылка]

БЛИЦ БАЗОВЫЙ это язык программирования диалект первых компиляторов 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

BlitzMax
Парадигмаимператив, объектно-ориентированный, модульный, отражающий
РазработаноМарк Сибли
РазработчикBlitz Research Ltd.
Впервые появился2004
Окончательный релиз
1.51 / 21 сентября 2015; 5 лет назад (2015-09-21)
Печатная дисциплинаСтатический, Слабый, Сильный (необязательный)
Операционные системыМайкрософт Виндоус, Mac OS X, Linux
Интернет сайтwww.blitzbasic.com
Диалекты
Официальный 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

Наследие

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

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

Рекомендации

  1. ^ "Официальный сайт Blitz". www.blitzbasic.com. Архивировано из оригинал 3 июня 2017 г.
  2. ^ AmigaReport http://www.amigareport.com/ar115/p1-5.html. Получено 30 апреля 2020. Отсутствует или пусто | название = (помощь)
  3. ^ https://github.com/AmiBlitz
  4. ^ "Блиц Новости". www.blitzbasic.com. Архивировано из оригинал 26 января 2008 г.. Получено 12 декабря 2007.
  5. ^ "Обновление BlitzMax 1.26 уже доступно!". www.blitzbasic.com. Архивировано из оригинал 26 мая 2011 г.. Получено 11 января 2011.
  6. ^ BlitzMax V132 для Windows и MacIntel уже сейчас! В архиве 26 мая 2011 г. Wayback Machine на blitzbasic.com
  7. ^ Выпущен исходный код BlitzPlus В архиве 16 июля 2016 г. Wayback Machine Автор: simonh (2014-04-29)
  8. ^ Blitz3D с открытым исходным кодом! В архиве 6 сентября 2016 г. Wayback Machine на форумах Blitz3D, автор (2014)
  9. ^ Blitz3D теперь бесплатно и с открытым исходным кодом! В архиве 16 июля 2016 г. Wayback Machine Автор simonh (2014-08-03)
  10. ^ blitz3d на GitHub
  11. ^ блицмакс на GitHub
  12. ^ IGN. Предварительный просмотр Worms Blast В архиве 18 февраля 2007 г. Wayback Machine на ign.com

внешняя ссылка