DarkBASIC

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

DarkBASIC (название образовано от английских слов — dark (тёмный) и BASIC) — специализированный язык программирования, созданный компанией The Game Creators специально для создания трёхмерных и двумерных игр. Структура языка заимствована из BASIC, также язык похож на AMOS[en], использовавшийся на 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, с некоторыми дополнениями. В частности, есть возможность комбинировать простые типы в структуры.

Доступна бесплатная версия DarkBasic PRO, спонсируемая за счёт показа рекламы.

Примеры[править | править вики-текст]

Пример программы «Hello, World!», написанной на DarkBASIC:

PRINT "Hello, World!"
WAIT KEY

Программу можно развивать и до следующего:

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

Ниже указан пример программы которая работает с кубами:

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

Литература[править | править вики-текст]

  • Jonathan S. Harbour, Joshua R. Smith Beginner's guide to darkBASIC game programming. — Premier Press, 2003. — 752 p. — ISBN 978-1-592-00009-8.
  • Jonathan S. Harbour, Joshua R. Smith DarkBasic pro game programming. — 2 edition. — Thomson Course Technology, 2006. — 577 p. — ISBN 978-1-598-63287-3.
  • Jerry Lee Ford, Jr. DarkBASIC Programming for the Absolute Beginner. — Course Technology, 2008. — 406 p. — ISBN 978-1-598-63385-6.

Ссылки[править | править вики-текст]