Перейти до вмісту

DarkBASIC

Матеріал з Вікіпедії — вільної енциклопедії.
DarkBASIC
Рушій гри (Список)
Попередній рушій серіїpreceded by
Наступний рушій серіїfollowed by

DarkBASIC (від англ. dark — темний і BASIC) — спеціалізована мова програмування, створена компанією The Game Creators[en] спеціально для створення тривимірних та двовимірних ігор. Структура мови запозичена з BASIC, також мова схожа на AMOS[en], що використовувалася на Amiga.

З BASIC у DarkBASIC перейшли більшість інструкцій, також додано специфічні команди, що стосуються ігрового рушія, розробленого в The Game Creators для створення ігор з використанням DirectX.

Можливості мови

[ред. | ред. код]
  • Зображення
    • Автоматичне використання подвійного буфера
    • Можливість роботи програми у повноекранному режимі
    • Анімація
  • Введення-виведення
    • Введення з миші, клавіатури, джойстиків та інших ігрових контролерів
    • Зворотний зв'язок (force feedback)
    • Системні виклики
    • Робота з файлами
  • Звук
  • 2D
    • Процедури малювання у 2D
    • Швидкий 2D-бліттинг
    • Напівпрозорість
    • Спрайти, зокрема анімовані
    • Визначення зіткнень із піксельною точністю
  • 3D
    • Вбудовані 3D-примітиви
    • Анімація моделей
    • Освітлення
    • Текстурування

DarkBASIC Professional

[ред. | ред. код]

DarkBASIC Professional розроблялася як заміна DarkBASIC. Поточна версія — 7.62 (1.0762), випущена 12 травня 2012 року.

На відміну від DarkBASIC, «професійна» версія генерує машинний код. Спочатку використовувано DirectX 8.1, але пізніше оновлено для використання DirectX 9.0c. Мова по суті така ж, як і DarkBASIC, з деякими доповненнями. Зокрема є можливість комбінувати прості типи в структури.

У листопаді 2009 The Game Creators до свого 10-річного ювілею випустила безплатну електронну версію DarkBASIC Professional.[1]

Нині 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

Примітки

[ред. | ред. код]
  1. The Game Creators Newsletter - Issue 82. www.thegamecreators.com. Процитовано 24 січня 2025.

Література

[ред. | ред. код]

Посилання

[ред. | ред. код]