Blitz BASIC
Blitz3D — коммерческий игровой движок, разработанный Марком Сибли, а также среда разработки с языком Blitz BASIC и скриптовый язык для создания игр. Оригинальная разработка компилятора Blitz BASIC велась для ПК Amiga, но на сегодняшний день он поддерживает уже несколько платформ, в том числе Microsoft Windows, Mac OS X и Linux. В версии для Microsoft Windows поддерживается DirectX 7.
Язык содержит 588 конструкций, позволяющих создать двух- и трёхмерное игровое пространство. С помощью него можно создавать небольшие игры, используя большое количество библиотек, написанных членами сообществ по программированию на Blitz3D.
Содержание |
[править] BlitzMax
BlitzMax — язык программирования, разработанный Марком Сибли. BlitzMax использует расширеную версию языка basic. Благодаря модулям функционал BlitzMax можно расширять до бесконечности. Из графических API может использовать и DirectX и OpenGL. Несколько встроеных звуковых API (DirectSound, FreeAudio, OpenAL) Имеет удобный модуль GNet для быстрого создания сетевых приложений.
[править] Основные возможности
- 2 режима интерпретирования кода Strict и SuperStrict
- Многопроходный компилятор
- Транслятор в язык Flat Assembler
- Поддержка платформ : Win32, Linux, MacOS
- Указатели на функции
- Наследование и полиморфизм
- Полностью динамические массивы
- Внешняя поддержка языков для взаимодействия с C# , 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 | - | - |
[править] Примеры программ
Н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 'Конец программы
[править] Ссылки
- Официальный сайт
- Форум Blitz3D на Boolean.name
- Русскоязычный электронный журнал «Blitz Et Cetera» о программировании на языках семейства Blitz
- Форум BlitzMax на Boolean.name
- Xors3D современный 3D движок для BlitzMax
- Адаптация физического 2D-движка Box2D под BlitzMax
- Форум разработчиков игр
- Статьи по Blitz3D и форум начинающих разработчиков игр
- Farseer physics engine
- Статьи, примеры, исходные коды по Blitz3D
- BlitzBullet враппер физической библиотеки Bullet для Blitz3D.
- Digital Wizard's Lab - BlitzMax-фреймворк для создания двумерных и изометрических игр
| Это заготовка статьи о компьютерных языках. Вы можете помочь проекту, исправив и дополнив её. |

