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>

Литература

Ссылки

Шаблон:Stub-metaШаблон:ИТ:Общие проверки Шаблон:Диалекты языка программирования Basic