DarkBASIC
DarkBASIC (от англ. Шаблон:Lang-en2 — тёмный и BASIC) — специализированный язык программирования, созданный компанией The Game Creators специально для создания трёхмерных и двумерных игр. Структура языка заимствована из BASIC, также язык похож на AMOS, использовавшийся на Amiga.
Из BASIC в DarkBASIC перешли почти все операторы, и добавились специфичные команды, относящиеся к игровому движку, разработанному в The Game Creators для создания игр с использованием DirectX.
Возможности языка
- Изображение
- Автоматическое использование двойного буфера
- Возможность открытия программы на полный экран
- Анимация
- Ввод-вывод
- Ввод с мыши, клавиатуры, джойстиков и других игровых контроллеров
- Обратная связь (force feedback)
- Системные вызовы
- Работа с файлами
- Звук
- 2D
- Процедуры рисования в 2D
- Быстрый 2D-блиттинг
- Полупрозрачность
- Спрайты, в том числе анимированные
- Определение столкновений с пиксельной точностью
- 3D
- Встроенные 3D-примитивы
- Анимация моделей
- Освещение
- Текстурирование
DarkBASIC Professional
DarkBASIC Professional разрабатывается в качестве замены DarkBASIC. Текущая версия — 7.5, выпущена 28 июня 2010 года.
В отличие от DarkBASIC, «профессиональная» версия генерирует машинный код. Первоначально использовал DirectX 8.1, но позже был обновлён для использования DirectX 9.0c. Язык по сути является тем же что и DarkBASIC, с некоторыми дополнениями. В частности, есть возможность комбинировать простые типы в структуры.
В ноябре 2009, The Game Creators к своему 10-летнему юбилею выпустила бесплатные электронные версии DarkBASIC ProfessionalШаблон:Нет АИ.
DarkBasic Professional в настоящее время является программным обеспечением с открытым исходным кодом.
Примеры
Пример программы «Hello, World!», написанной на DarkBASIC: <source lang="qbasic"> PRINT "Hello, World!" WAIT KEY </source> Программу можно развивать и до следующего: <source lang="qbasic"> SET TEXT SIZE 40 INK RGB (0,0,0), RGB (0,0,255) PRINT "Hello," WAIT 5000 SET TEXT SIZE 20 INK RGB (0,0,0), RGB (255,0,0) CLS PRINT "World!" WAIT KEY </source>
Ниже указан пример программы которая работает с кубами: <source lang="qbasic"> Sync On Sync Rate 60 Make Object Cube 1, 25 Color Object 1, RGB(128, 64, 78) Position Camera 30, 30, 30 Point Camera 0, 0, 0 Make Light 1 Position Light 1, 0, 30, 0 Do
If Downkey()=1 then Pitch Object Down 1,1 If Upkey()=1 then Pitch Object Up 1,1 If Leftkey()=1 then Turn Object Left 1,1 If Rightkey()=1 then Turn Object Right 1,1 Sync
Loop </source>
Литература
Ссылки
- www.thegamecreators.com/product/dark-basic-pro-open-source — сайт проекта
- area.mediahouse.ru — официальный русскоязычный форум по DarkBasic и DarkBasic Pro
Шаблон:Stub-metaШаблон:ИТ:Общие проверки Шаблон:Диалекты языка программирования Basic