Jump to content

Блиц БЕЙСИК

(Перенаправлено с Blitz3D )

БлицБазовый
Разработчик(и) Блиц-исследования
Написано в Скомпилировано на C++ , но языки являются диалектами BASIC.
Операционная система АмигаОС
Microsoft Windows
Доступно в Английский
Тип Система создания игр
Лицензия лицензия zlib
Веб-сайт блиц-исследования .зуд .что

Blitz BASIC — это диалект языка программирования первых компиляторов Blitz, разработанный новозеландским разработчиком Марком Сибли. Синтаксис Blitz, созданный на основе BASIC , был разработан таким образом, чтобы его было легко освоить новичкам, впервые изучающим программирование. Эти языки ориентированы на игровое программирование, но часто оказываются достаточно универсальными, чтобы их можно было использовать для большинства типов приложений. Язык 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]

БлицБазовый

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

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

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

БлицПлюс

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

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

БлицМакс

[ редактировать ]
БлицМакс
Парадигма императивный , объектно-ориентированный , модульный , рефлексивный
Разработано Марк Сибли
Разработчик ООО "Блиц Исследования"
Впервые появился 2004
Финальный выпуск
1,51 / 21 сентября 2015 г .; 8 лет назад ( 21 сентября 2015 )
Дисциплина набора текста Статический , Слабый , Сильный (необязательно)
ТЫ Microsoft Windows , Mac OS X , Linux
Веб-сайт www .blitzbasic
Диалекты
Официальный BlitzMax, bmx-ng
Под влиянием
БлицБазовый
Под влиянием
Обезьяна

Первый компилятор 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 (известный как MaxGUI) позволяет разработчикам писать интерфейсы графического интерфейса для своих приложений на Linux ( FLTK ), Mac ( Cocoa ) и Windows. Различные пользовательские модули расширяют возможности использования языка, добавляя такие библиотеки, как wxWidgets , Cairo и Fontconfig , а также набор модулей базы данных. Также доступен выбор сторонних 3D-модулей, а именно MiniB3D. [4] - движок OpenGL с открытым исходным кодом, который можно скомпилировать и использовать на всех трех поддерживаемых BlitzMax платформах.

В октябре 2007 года была выпущена версия BlitzMax 1.26, в которую был добавлен модуль отражения . [5] В BlitzMax 1.32 добавлены новые модули потоковой обработки и сценариев Lua , а большинство функций стандартной библиотеки были обновлены, чтобы они были совместимы с Unicode . [6]

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

Модуль Макс3Д

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

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

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

Релиз с открытым исходным кодом

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

BlitzPlus был выпущен с открытым исходным кодом 28 апреля 2014 года под лицензией zlib на GitHub . [7] [8] Вскоре последовал Blitz3D, который был выпущен с открытым исходным кодом 3 августа 2014 года. [9] [10] Позднее, 21 сентября 2015 года, BlitzMax был выпущен с открытым исходным кодом. [11]

Blitz Basic 2.1 был хорошо принят журналами Amiga. CU Amiga подчеркнула свою способность создавать приложения и игры, совместимые с AmigaOS (в отличие от AMOS Basic ). [12] и Amiga Shopper назвала его мощным языком программирования. [13]

« Привет, мир!» программа , которая печатает на экране, ждет нажатия клавиши, а затем завершает работу:

Print "Hello, World!" ; Prints to the screen.
WaitKey()             ; Pauses execution until a key is pressed.
End                   ; Ends Program.

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

name$        = "John"   ; Create a string variable ($) 
age          = 36       ; Create an integer variable (No Suffix)
temperature# = 27.3     ; Create a float variable (#)

print "My name is " + name$ + " and I am " + age + " years old."
print "Today, the temperature is " + temperature# + " degrees."

Waitkey()               ; Pauses execution until a key is pressed.
End                     ; Ends program.

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

БлицБазовая версия Версия БлицМакс
AppTitle "Binary Clock"
Graphics 150,80,16,3

;create a timer that means the main loop will be
;executed twice a second
secondtimer=CreateTimer(2)
 
Repeat
 	Hour = Left(CurrentTime$(),2)
 	Minute = Mid(CurrentTime$(),4,2)
 	Second = Right(CurrentTime$(),2)

 	If Hour >= 12 Then PM = 1
 	If Hour > 12 Then Hour = Hour - 12
 	If Hour = 0 Then Hour = 12

 	;should do this otherwise the PM dot will be
 	;left up once the clock rolls past midnight!
 	Cls

 	Color(0,255,0) ;make the text green for the PM part
 	If PM = 1 Then Text 5,5,"PM"
 	;set the text colour back to white for the rest
 	Color(255,255,255)

 	For bit=0 To 5
        xpos=20*(6-bit)
        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
Import BRL.Timer
Import BRL.TimerDefault
AppTitle = "Binary Clock"
Graphics 145,85

'create a timer that means the main loop will be
'executed twice a second
Local secondtimer:TTimer = CreateTimer(2)
Local Hour:Int
Local Minute:Int
Local Second:Int
Local PM:Int
local bit:Int
local xpos:Int
Local binaryMask:Int

Repeat
    Hour = CurrentTime()[..2].ToInt()
    Minute = CurrentTime()[4..6].ToInt()
    Second = CurrentTime()[6..].ToInt()

    If Hour >= 12 Then PM = 1
    If Hour > 12 Then Hour = Hour - 12
    If Hour = 0 Then Hour = 12

    'should do this otherwise the PM dot will be
    'Left up once the clock rolls past midnight!
    Cls

    SetColor(0,255,0) 'make the text green For the PM part
    If PM = 1 Then DrawText "PM",5,5
    'set the text colour back To white For the rest
    SetColor(255,255,255)

    For bit=0 Until 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.

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

Наследие

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

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

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

  1. ^ «Официальный сайт блица» . blitzresearch.itch.io/ . Архивировано из оригинала 3 июня 2017 года.
  2. ^ «Блиц Базовый 2» . АмигаОтчет . Архивировано из оригинала 31 марта 2022 года . Проверено 30 апреля 2020 г.
  3. ^ «АмиБлиц» . Гитхаб .
  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 (29 апреля 2014 г.).
  8. ^ Blitz3D с открытым исходным кодом! Архивировано 6 сентября 2016 года на Wayback Machine на форумах Blitz3D автором (2014).
  9. ^ Blitz3D теперь бесплатный и с открытым исходным кодом! Архивировано 16 июля 2016 года в Wayback Machine пользователем simonh (03 августа 2014 г.).
  10. ^ blitz3d на GitHub
  11. ^ блицмакс на GitHub
  12. ^ Беттинсон, Мэтт (март 1996 г.). «Блиц Базовый 2.1». CU Амига . Нет. 73. Изображения EMAP. стр. 69–70. ISSN   0963-0090 .
  13. ^ Овераа, Пол (апрель 1996 г.). «Блиц Базовый 2.1». Амига Покупатель . № 61. Будущее издательства. п. 41. ISSN   0961-7302 .
  14. ^ ИГН. Предварительный просмотр Worms Blast. Архивировано 18 февраля 2007 г. на Wayback Machine на ign.com.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f70c89b3ffb031cfe12669d2b0aa2efd__1719581160
URL1:https://arc.ask3.ru/arc/aa/f7/fd/f70c89b3ffb031cfe12669d2b0aa2efd.html
Заголовок, (Title) документа по адресу, URL1:
Blitz BASIC - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)