DarkBASIC (от англ. dark — тёмный и 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[источник не указан 2220 дней].
DarkBasic Professional в настоящее время является программным обеспечением с открытым исходным кодом.
Примеры
правитьПример программы «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.
Ссылки
править- www.thegamecreators.com/product/dark-basic-pro-open-source — сайт проекта
- area.mediahouse.ru — официальный русскоязычный форум по DarkBasic и DarkBasic Pro
Это заготовка статьи о компьютерных языках. Помогите Википедии, дополнив её. |