Blitz BASIC

programmeertaal

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

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

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

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

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

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

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

Verwysings

wysig

Eksterne skakels

wysig

Blitz Basic boeke

wysig