Blitz BASIC
Blitz BASIC 'n programmeertaal gebaseer op die rekenaartaal BASIC. Dit was in ongeveer 1991 eers op die Commodore-Amiga beskikbaar. Tans is Blitz BASIC vir diverse ander bedryfstelsels beskikbaar, o.m. vir Linux, Apple Mac en Windows. Blitz BASIC is hoofsaaklik geskik om spelletjies te ontwikkel. Die taal het veel ingeboude funksies om met geluid en beelde om te gaan.
Geskiedenis
[wysig | wysig bron]Die eerste Blitz BASIC is in Nieu-Seeland deur Acid Software vir die Amiga ontwikkel. Alhoewel Blitz BASIC die algemeen bekende term is, is daar die afgelope paar jaar nuwe variasies van Blitz BASIC op die mark gekom:
- Blitz BASIC
- BlitzPlus
- Blitz3D
- BlitzMax
Blitz BASIC
[wysig | wysig bron]Blitz Basic is in Oktober 2000 op Windows beskikbaar gestel. Toe Blitz BASIC met enkele uitgawes van Engelse rekenaartydskrifte versprei is, het dit heelwat nuwelinge gelok. Die oorspronklike Blitz BASIC word nie verder ontwikkel nie. Die advies is om die gratis verkrygbare BlitzMax te gebruik.
Blitz3D / BlitzPlus
[wysig | wysig bron]Dit is 'n versie van BlitzPlus met ekstra 3D-moontlikhede, en is 'n direkte mededinger van Dark Basic. Blitz3D gebruik nog steeds DirectX7 en daardeur kan Blitz3D spelletjies op ou rekenaars gespeel word.
BlitzMax
[wysig | wysig bron]BlitzMax is die moderne en mees onlangse OOP-weergawe (objek-georiënteerde programmering) van Blitz BASIC. BlitzMax- ("BMX") programme wat in Windows ontwikkel word, is geskik om in Linux gespeel te word. Die randvoorwaarde is dat die program eers op Linux oorgebou word. Dit behels bloot dat die kode in die IDE oopgemaak word, en dan in die Linux-weergawe van BlitzMax die "build"-knop te druk.
BMX is 'n modulêre taal. Mens kan self nuwe modules byprogrammeer om sodoende kodebiblioteke uit te bou, of biblioteke van eksterne mense in 'n program oorneem.
In Oktober 2007 het Blitz Research Ltd. 'n bygewerkte weergawe 1.26 beskikbaar gestel. Tewens kan mens 'n toetsweergawe van BlitzMax aflaai om self programmeervaardighede te toets.
Blitz3D SDK
[wysig | wysig bron]Dit is die mees onlangse toevoeging waarmee Blitz3D vanuit die C#, C++-tale gebruik kan word. Op die oomblik is daar nog enkele tegniese probleme met die SDK. Verdere inligting is op die amptelike forum bekend (Blitz3D SDK Bug Reports).
Voorbeeld kode
[wysig | wysig bron]So skryf jy Hallo Wêreld in BlitzMax op die skerm:
AppTitle$ = "Wikipedia voorbeeld"
Graphics 800, 600, 0
While(Not KeyHit(Key_ESCAPE))
Cls();
DrawText("Hallo Suid-Afrika", 5, 20);
Flip();
Wend
En hier een OOP-voorbeeld van Hallo Wêreld in BlitzMax:
'// hier begin jou kode. Kopieer-en-plak na die BlitzMax IDE.
Global hallo1:HalloWorldClass = New HalloWorldClass;
hallo1.Main();
Type HalloWorldClass
Method Main()
AppTitle$ = "Wikipedia voorbeeld";
Graphics(800, 600, 0);
While(Not KeyHit(Key_ESCAPE))
Cls();
DrawText("Hallo Suid-Afrika", 5, 20);
Flip();
Wend
End Method
EndType
Vervolgens 'n eenvoudige BlitzMax-voorbeeld waarmee die huidige tyd in binêre en desimale formaat vertoon word.
AppTitle$ = "Binary Clock"
Graphics 145,85, 0
secondtimer = CreateTimer(2)
Repeat
Hour = Left(CurrentTime$(),2).ToInt()
Minute = Mid(CurrentTime$(),4,2).ToInt()
Second = Right(CurrentTime$(),2).ToInt()
If Hour >= 12 Then PM =1
If Hour > 12 Then Hour = Hour - 12
If Hour = 0 Then Hour = 12
'should do this otherwise your PM dot would be
'Left up once the clock rolled past midnight!
Cls
SetColor(0,255,0) 'make the text green For the PM part
If PM = 1 Then DrawText "PM",5,5
'set the text colour back To white For the rest
SetColor(255,255,255)
For bit=0 To 5
xpos=20*(6-bit)
binaryMask=2^bit
'do hours
If (bit<4)
If (hour And binaryMask)
DrawText "1",xpos,5
Else
DrawText "0",xpos,5
EndIf
EndIf
'do the minutes
If (minute And binaryMask)
DrawText "1", xpos,25
Else
DrawText "0", xpos,25
EndIf
'do the seconds
If (second And binaryMask)
DrawText "1",xpos,45
Else
DrawText "0",xpos,45
EndIf
Next
'make the text red For the decimal time
SetColor(255,0,0)
DrawText "Decimal: " + CurrentTime$(),5,65
'set the text back To white For the rest
SetColor(255,255,255)
Flip
'will wait half a second
WaitTimer(secondTimer)
If KeyHit(KEY_ESCAPE) Exit
Forever
Spelletjies wat in Blitz Basic geskryf is
[wysig | wysig bron]- Master of Defense Geargiveer 5 November 2007 op Wayback Machine - Blitz 3D
- Grid Wars - Blitz Max
- Treasure Fall - Blitz Plus
- Inca Quest Geargiveer 27 Oktober 2007 op Wayback Machine - Blitz Max
- Naked War - Blitz 3D
- Platypus - Blitz 2D (Mac port, Blitz Max)
- Sphere Racer Geargiveer 11 Augustus 2016 op Wayback Machine - Blitz 3D
- Oh No More Invaders From Space - Blitz 3D
- SpongeBob SquarePants Obstacle Odyssey - Blitz 3D
- Super Gerball - Blitz 3D
- Bruce Lee - Blitz 2D
- Worms - oorspronklike titel Total Wormage en ontwikkeld in Blitz BASIC op die Amiga voor die kommersialisering deur [1]
Verwysings
[wysig | wysig bron]Eksterne skakels
[wysig | wysig bron]- Blitz Research Die amptelike Blitz BASIC webwerf
- BlitzBasic op dmoz Geargiveer 11 Desember 2007 op Wayback Machine
- BlitzBasic on WikiWikiWeb
- Amptelike Franstalige webwerf van Blitz BASIC Geargiveer 2 Desember 2018 op Wayback Machine
- Socoder
- Russiestalige elektroniese tydskrif "Blitz Et Cetera" Geargiveer 3 Mei 2011 op Wayback Machine
- BlitzBASIC codebase Geargiveer 27 September 2007 op Wayback Machine programkode argief
- Syntaxbomb - Indie Coders Gemeenskapsforums
- GitHub bronkode van BlitzMax
Blitz Basic boeke
[wysig | wysig bron]- Learn to Program 2D Games in Blitz Basic by John "Krylar" Logsdon, (2003) website of creater http://www.krylarskreations.com/bb_book.shtml Geargiveer 25 November 2007 op Wayback Machine
- Game Programming for Teens by Maneesh Sethi, (2003), ISBN 1-59200-068-1
- Games Programming for the Absolute Beginner with Blitzmax by Sloan Kelly, ISBN 0-9553771-0-2
- 3D Game Programming for Teens by Eric Grebler, (2006) ISBN 1-59200-900-X