DarkBASIC
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[источник не указан 2213 дней].
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
Это заготовка статьи о компьютерных языках. Помогите Википедии, дополнив её. |