Blitz BASIC
Blitz3D — коммерческий игровой движок, разработанный Марком Сибли, а также среда разработки с языком Blitz BASIC и скриптовый язык для создания игр. Оригинальная разработка компилятора Blitz BASIC велась для ПК Amiga, но на сегодняшний день он поддерживает уже несколько платформ, в том числе Microsoft Windows, Mac OS X и Linux. В версии для Microsoft Windows поддерживается DirectX 7.
Содержание
Blitz3D
Язык содержит 588 конструкций, позволяющих создать двух- и трёхмерное игровое пространство. С помощью него можно создавать небольшие игры, используя большое количество библиотек, написанных членами сообществ по программированию на Blitz3D.
C 3 августа 2014 распространняется свободно[1], исходный код открыт под лицензией zlib/libpng[2].
Примеры программ
Нello world
Graphics 800,600 ; - Графический режим 800x600
While Not KeyDown(1) ; - Начало главного цикла
Cls() ; - Чистим экран
Text 10, 20, "Hello, World!" ; - Пишем текст "Hello world" в точке 10,20
Flip() ; - Выводим на экран
Wend ; прекращаем цикл при нажатии на Esc
End ; конец программы
Нello world с использованием переменных
Graphics 800,600
Global a$="Hello"
Global b$="World"
While Not KeyDown(1)
Cls()
Text 0,0,a$+b$
Flip()
Wend
End
Работа с изображениями
Graphics 800,600
Global Image = LoadImage("picture.bmp")
While Not KeyDown(1)
Cls()
DrawImage Image,100,100
Flip()
Wend
End
Работа с трехмерной графикой
Graphics3D 800,600 ;Устанавливаем графический режим
Global model = LoadMesh("helloworld.3ds") ;Загружаем трехмерную модель надписи "Hello, World"
PositionEntity model,0,0,0 ;Устанавливаем модель в точке 0,0,0
Global camera = CreateCamera() ;Создаем камеру
PositionEntity camera,0,0,-10 ;Устанавливаем камеру чуть позади объекта
While Not KeyDown(1) ;Начало цикла
Cls() ; Очищаем экран
RenderWorld() ; Производим рендер изображения
Flip() ; Выводим на экран
Wend ;Конец цикла
End ;Конец программы
BlitzMax
BlitzMax — язык программирования, разработанный Марком Сибли. BlitzMax использует расширеную версию языка basic. Благодаря модулям функциональность BlitzMax можно расширять до бесконечности. Из графических API может использовать и DirectX и OpenGL. Несколько встроеных звуковых API (DirectSound, FreeAudio, OpenAL). Имеет удобный модуль GNet для быстрого создания сетевых приложений.
C 29 апреля 2014 распространняется свободно[1], исходный код открыт под лицензией zlib/libpng[3].
Основные возможности
- 2 режима интерпретирования кода Strict и SuperStrict
- Многопроходный компилятор
- Транслятор в язык Flat Assembler
- Поддержка платформ : Win32, Linux, MacOS
- Указатели на функции
- Наследование и полиморфизм
- Полностью динамические массивы
- Внешняя поддержка языков для взаимодействия с C++ или Assembler
- Совместим с MinGW
Типы данных
Описание | Название | Мин. значение | Макс. значение |
---|---|---|---|
8 битное числовое | Byte | 0 | 255 |
16 битное числовое | Short | 0 | 65535 |
32 битное числовое | Int | −2^31 | +2^31-1 |
64 битное числовое | Long | −2^63 | +2^63-1 |
32 битное вещественное | Float | (+/-)10^-38 | (+/-)10^38 |
64 битное вещественное | Double | (+/-)10^-308 | (+/-)10^308 |
16 бит юникод полнотекстовое | String | - | - |
Объект (Тип) | obj:TObject | - | - |
Массив | array{:type}[..] | - | - |
Функция | Function:{return type}(Parameters) | - | - |
Указатель | Pointer ValueType Ptr | - | - |
Напишите отзыв о статье "Blitz BASIC"
Литература
- Learn to Program 2D Games in Blitz Basic by John «Krylar» Logsdon, (2003)
- Game Programming for Teens by Maneesh Sethi, (2003), ISBN 1-59200-068-1
- Games Programming for the Absolute Beginner with BlitzMax by Sloan Kelly, ISBN 0-9553771-0-2
- 3D Game Programming for Teens by Eric Grebler, (2006) ISBN 1-59200-900-X
- 3D Game Programming for Teens, 2nd edition by Maneesh Sethi, (2009) ISBN 1-59863-843-2
См. также
- Xors3D - современный 3D движок для BlitzMax
- Новый кроссплатформенный язык программирования Monkey от Blitz Research Ltd
Примечания
Ссылки
- [blitzbasic.com Официальный сайт]
- [blitzetc.ru/ Русскоязычный электронный журнал «Blitz Et Cetera» о программировании на языках семейства Blitz]
- [forum.boolean.name/forumdisplay.php?f=45 Раздел о Blitz3D на boolean.name]
- [forum.boolean.name/forumdisplay.php?f=104 Раздел о BlitzMax на boolean.name]
- [code.google.com/hosting/search?q=label:BlitzMax Относящиеся к BlitzMax открытые проекты] на Google Code
Это заготовка статьи о компьютерных языках. Вы можете помочь проекту, дополнив её. |
Отрывок, характеризующий Blitz BASIC
Александр и Наполеон с длинным хвостом свиты подошли к правому флангу Преображенского батальона, прямо на толпу, которая стояла тут. Толпа очутилась неожиданно так близко к императорам, что Ростову, стоявшему в передних рядах ее, стало страшно, как бы его не узнали.– Sire, je vous demande la permission de donner la legion d'honneur au plus brave de vos soldats, [Государь, я прошу у вас позволенья дать орден Почетного легиона храбрейшему из ваших солдат,] – сказал резкий, точный голос, договаривающий каждую букву. Это говорил малый ростом Бонапарте, снизу прямо глядя в глаза Александру. Александр внимательно слушал то, что ему говорили, и наклонив голову, приятно улыбнулся.
– A celui qui s'est le plus vaillament conduit dans cette derieniere guerre, [Тому, кто храбрее всех показал себя во время войны,] – прибавил Наполеон, отчеканивая каждый слог, с возмутительным для Ростова спокойствием и уверенностью оглядывая ряды русских, вытянувшихся перед ним солдат, всё держащих на караул и неподвижно глядящих в лицо своего императора.
– Votre majeste me permettra t elle de demander l'avis du colonel? [Ваше Величество позволит ли мне спросить мнение полковника?] – сказал Александр и сделал несколько поспешных шагов к князю Козловскому, командиру батальона. Бонапарте стал между тем снимать перчатку с белой, маленькой руки и разорвав ее, бросил. Адъютант, сзади торопливо бросившись вперед, поднял ее.
– Кому дать? – не громко, по русски спросил император Александр у Козловского.
– Кому прикажете, ваше величество? – Государь недовольно поморщился и, оглянувшись, сказал:
– Да ведь надобно же отвечать ему.
Козловский с решительным видом оглянулся на ряды и в этом взгляде захватил и Ростова.
«Уж не меня ли?» подумал Ростов.
– Лазарев! – нахмурившись прокомандовал полковник; и первый по ранжиру солдат, Лазарев, бойко вышел вперед.
– Куда же ты? Тут стой! – зашептали голоса на Лазарева, не знавшего куда ему итти. Лазарев остановился, испуганно покосившись на полковника, и лицо его дрогнуло, как это бывает с солдатами, вызываемыми перед фронт.
Наполеон чуть поворотил голову назад и отвел назад свою маленькую пухлую ручку, как будто желая взять что то. Лица его свиты, догадавшись в ту же секунду в чем дело, засуетились, зашептались, передавая что то один другому, и паж, тот самый, которого вчера видел Ростов у Бориса, выбежал вперед и почтительно наклонившись над протянутой рукой и не заставив ее дожидаться ни одной секунды, вложил в нее орден на красной ленте. Наполеон, не глядя, сжал два пальца. Орден очутился между ними. Наполеон подошел к Лазареву, который, выкатывая глаза, упорно продолжал смотреть только на своего государя, и оглянулся на императора Александра, показывая этим, что то, что он делал теперь, он делал для своего союзника. Маленькая белая рука с орденом дотронулась до пуговицы солдата Лазарева. Как будто Наполеон знал, что для того, чтобы навсегда этот солдат был счастлив, награжден и отличен от всех в мире, нужно было только, чтобы его, Наполеонова рука, удостоила дотронуться до груди солдата. Наполеон только прило жил крест к груди Лазарева и, пустив руку, обратился к Александру, как будто он знал, что крест должен прилипнуть к груди Лазарева. Крест действительно прилип.
Русские и французские услужливые руки, мгновенно подхватив крест, прицепили его к мундиру. Лазарев мрачно взглянул на маленького человечка, с белыми руками, который что то сделал над ним, и продолжая неподвижно держать на караул, опять прямо стал глядеть в глаза Александру, как будто он спрашивал Александра: всё ли еще ему стоять, или не прикажут ли ему пройтись теперь, или может быть еще что нибудь сделать? Но ему ничего не приказывали, и он довольно долго оставался в этом неподвижном состоянии.
Государи сели верхами и уехали. Преображенцы, расстроивая ряды, перемешались с французскими гвардейцами и сели за столы, приготовленные для них.
Лазарев сидел на почетном месте; его обнимали, поздравляли и жали ему руки русские и французские офицеры. Толпы офицеров и народа подходили, чтобы только посмотреть на Лазарева. Гул говора русского французского и хохота стоял на площади вокруг столов. Два офицера с раскрасневшимися лицами, веселые и счастливые прошли мимо Ростова.