Blitz BASIC: различия между версиями
[непроверенная версия] | [непроверенная версия] |
Строка 68: | Строка 68: | ||
* 2 режима [[Интерпретация_(информатика)|интерпретирования кода]] Strict и SuperStrict |
* 2 режима [[Интерпретация_(информатика)|интерпретирования кода]] Strict и SuperStrict |
||
* Многопроходный компилятор |
* Многопроходный компилятор |
||
* Транслятор в язык Flat Assembler |
* Транслятор в язык [[Flat Assembler]] |
||
* Поддержка платформ : Win32, Linux, MacOS |
* Поддержка платформ : Win32, Linux, MacOS |
||
* Указатели на функции |
* Указатели на функции |
||
* Наследование и полиморфизм |
* Наследование и полиморфизм |
||
* Полностью динамические массивы |
* Полностью динамические массивы |
||
* Внешняя поддержка языков для взаимодействия с |
* Внешняя поддержка языков для взаимодействия с [[C++]] или [[Язык ассемблера|Assembler]] |
||
* Совместим с MinGW |
* Совместим с [[MinGW]] |
||
=== Типы данных === |
=== Типы данных === |
Версия от 06:58, 29 ноября 2012
Blitz3D
Blitz3D — коммерческий игровой движок, разработанный Марком Сибли, а также среда разработки с языком Blitz BASIC. Движок использует api DirectX 7 для 3d-графики. На данный момент существует и в виде SDK.
Язык содержит 588 конструкций, позволяющих создать двух- и трёхмерное игровое пространство. С помощью него можно создавать небольшие игры, используя большое количество библиотек, написанных членами сообществ по программированию на Blitz3D.
Примеры программ
Н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 для быстрого создания сетевых приложений.
Основные возможности
- 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 | - | - |
Литература
- 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
Ссылки
- Официальный сайт
- Русскоязычный электронный журнал «Blitz Et Cetera» о программировании на языках семейства Blitz
- Раздел о Blitz3D на boolean.name
- Раздел о BlitzMax на boolean.name
- Относящиеся к BlitzMax открытые проекты на Google Code
Это заготовка статьи о компьютерных языках. Помогите Википедии, дополнив её. |