A DarkBASIC egy játékfejlesztésre optimalizált programnyelv. Kiadója az Egyesült Királyságban bejegyzett The Game Creators cég. A nyelv alapja a BASIC strukturált formája, hasonlít az Amiga Amos programnyelvére. A Dark Basic fő célja a játékkészítés megkönnyítése a Microsoft DirectX 3D felületének használata mellett, de emellett általános programozási célokra is használható. Először 2000-ben jelent meg a DarkBasic Software ltd gondozásában (ma: The Game Creators ltd.). 2002-ben megjelent a sokkal erőteljesebb és jobban bővíthető DarkBASIC Professional-t, ami a DirectX újabb verzióit használja. A Dark Basic-nek létezik magyar változata is.
Parancsok csoportjai
- BASIC parancsok: Általános, a többi BASIC nyelvjárásban fellelhető parancsok. Ciklusok, Elágazások, Felhasználói függvények stb.
- Beviteli parancsok: Egér, billentyűzet, joystick, fájl és FTP kezelő parancsok és függvények.
- Matematikai parancsok: Matematikai funkciók aritmetikától a trigonometriáig.
- Alap 2D: Alapvető 2D rajzoló parancsok.
- Szöveg: szöveg kiíratására, formázására szolgáló parancsok listája.
- Képernyő: a képernyőfelbontást ellenőrző és módosító parancsok listája.
- Bitkép: bittérképek(.bmp) betöltésére, létrehozására szolgáló parancsok listája.
- Sprite: sprite műveleteket végző parancsok listája
- Hang: Hang manipuláció, 3D hangforrások kezelése
- Zene: Zene betöltése és lejátszása
- Animáció: AVI fájlok kezelése
- Alap 3D: alapvető 3dimenziós parancsok 3D objektumok létrehozására és kezelésére
- 3D kamera: 3D kamera pozicionálása, forgatása, kamera-effektek
- 3D fények: 3D fények kezelése
- 3D mátrixok: 3D mátrixok kezelése
- Rendszer: Dll-ek kezelése és egyéb rendszerfüggő műveletek
- Memblock parancsok: Memóriablokkok létrehozása képekből és 3D térhálókból, valamint módosításuk
- Multiplayer: Parancsok többjátékos játék létrehozására helyi hálózaton vagy Interneten keresztül
Minta programkód
rem 3D-s kocka mozgatása a képernyőn *** A fordított aposztróf ( ` ) használható a REM helyett
sync on : sync rate 60 ` manuális képfrissítés beállítása
disable systemkeys
make object cube 1, 100 ` Készítünk egy kockát 1-es számmal, 100-as méretben
posz = 10
posx = 10
posy = 10
do ` fő ciklus kezdete
` irányítás
if upkey() = 1 then inc posy ` kurzornyilakkal mozgatás
if downkey() = 1 then dec posy
if leftkey() = 1 then dec posx
if rightkey() = 1 then inc posx
if escapekey() = 1 then end `Escape gombbal kilépés
position object 1, posx, posy, posz ` újrapozicionálás
sync ` kép frissítése
loop ` fő ciklus vége
Lásd még