Blitz BASIC

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 13 mars 2022; kontroller kräver 6 redigeringar .

Blitz3D är en kommersiell spelmotor utvecklad av Mark Sibley, samt en utvecklingsmiljö med språket Blitz BASIC och ett skriptspråk för att skapa spel. Den ursprungliga utvecklingen av Blitz BASIC kompilatorn var för Amiga PC , men idag[ när? ] den stöder redan flera plattformar, inklusive Microsoft Windows , Mac OS X och Linux . Microsoft Windows-versionen stöder DirectX 7.

Blitz3D

Språket innehåller 588 konstruktioner som låter dig skapa ett två- och tredimensionellt spelutrymme. Med den kan du skapa små spel med hjälp av ett stort antal bibliotek skrivna av medlemmar i Blitz3D-programmeringsgemenskaperna.

Sedan 3 augusti 2014 distribueras den fritt [1] , källkoden är öppen under licensen zlib/libpng [2] .

Programexempel

Hej världen

Grafik 800 , 600 ; - Grafikläge 800x600 men inte KeyDown ( 1 ) ; - Början av huvudslingan (Tills du trycker på tangent 1 (Escape) Cls () ; - Rensa skärmen Text 10 , 20 , "Hello, World!" ; - Skriv texten "Hello world" vid punkt 10,20 Vänd () ; - ändra ram (Som i gamla tecknade serier, när rörelsen sattes av en föränderlig ram) Vänd ; stoppa loopen om villkoret överträds Slut ; slutet av programmet


Hej världen med hjälp av variabler

Grafik 800 , 600 ; - Grafikläge 800x600 Global a $ = "Hej" ; - Variabel a med innehållet "Hej" Global b $ = "Världen" ; - Variabel b med innehållet "World" men inte KeyDown ( 1 ) ; - Början av huvudslingan Cls () ; - Rensa skärmen Text 0 , 0 , a $ + b $ ; - Visa text vid position 0,0 Flip () ; - Byt ram Wend ; - Slut på slingan när villkoret överträds . Slut ; - programmets slut

Arbeta med bilder

Grafik 800 , 600 Global bild = LoadImage ( "picture.bmp" ) Medan Not KeyDown ( 1 ) Cls ( ) DrawImage Image , 100 , 100 Flip ( ) Wend End

Arbeta med 3D-grafik

Graphics3D 800 , 600 ;Ställ in grafikläge Global modell = LoadMesh ( "helloworld.3ds" ) ;Ladda 3D-modell av etiketten "Hello, World" (Obs, endast .3ds-format stöds) PositionEntity model , 0 , 0 , 0 ;Set modell till punkt 0,0,0 Global kamera = CreateCamera () ;Skapa en kamera PositionEntity - kamera , 0 , 0 , - 10 ;Ställ in kameran precis bakom objektet While Not KeyDown ( 1 ) ; Start av RenderWorld ( ) loop ; Återge bilden Flip () ; Visning Vänd ; Slut på cykel Slut ; Programslut

Blitz Max

BlitzMax  är ett programmeringsspråk utvecklat av Mark Sibley. BlitzMax använder en utökad version av grundspråket . Tack vare modulerna kan funktionaliteten hos BlitzMax utökas på obestämd tid. Från grafik-API:et kan den använda både DirectX och OpenGL . Flera inbyggda ljud-API:er (DirectSound, FreeAudio, OpenAL). Den har en praktisk GNet-modul för att snabbt skapa nätverksapplikationer.

Sedan den 29 april 2014 distribueras fritt [1] , är källkoden öppen under licensen zlib/libpng [3] .

Nyckelfunktioner

  • 2 kodtolkningslägen Strict och SuperStrict
  • Multi-pass kompilator
  • Översättare till Flat Assembler- språk
  • Plattformsstöd: Win32, Linux, MacOS
  • Funktionspekare
  • Arv och polymorfism
  • Helt dynamiska arrayer
  • Externt språkstöd för gränssnitt med C++ eller Assembler
  • Kompatibel med MinGW

Datatyper

Beskrivning namn Min. menande Max. menande
8 bitars numerisk bytes 0 255
16 bitars numerisk Kort 0 65535
32 bitars numerisk int −2^31 +2^31-1
64 bitars numerisk Lång −2^63 +2^63-1
32 bitars äkta flyta (+/-)10^-38 (+/-)10^38
64 bitars äkta Dubbel (+/-)10^-308 (+/-)10^308
16 bitars unicode fulltext Sträng - -
Objekt (typ) obj:TObject - -
array array{:type}[..] - -
Fungera Funktion:{returtyp}(parametrar) - -
Pekare Pointer ValueType Ptr - -

BlitzMax NG

BlitzMax NG  är ett programmeringsspråk, en direkt efterföljare till det ursprungliga BlitzMAX-språket. Utvecklad av den fria gemenskapen ledd av Bruce Henderson (woollybah).

Ytterligare funktioner och ändringar

Ytterligare datatyper

Beskrivning namn Min.värde Max.Värde
32 bitars osignerad numerisk UInt 0 +2^32-1
64-bitars osignerad numerisk ULång 0 +2^64-1
32 bitars osignerad numerisk Storlek_T 0 +2^32-1
64-bitars osignerad numerisk Storlek_T 0 +2^64-1
64 bitars SIMD äkta Float64 - -
128 bitars SIMD numerisk Int128 - -
128 bitars SIMD äkta Float128 - -
128 bitars SIMD äkta Dubbel128 - -

SIMD-värden är tillgängliga på x64-arkitekturer och kan användas för att utföra numeriska beräkningar mer effektivt.

Blitz 3D-spel

Anteckningar

  1. 1 2 Den officiella Blitz-webbplatsen (länk inte tillgänglig) . Hämtad 29 mars 2015. Arkiverad från originalet 31 mars 2016. 
  2. Blitz3D-projektGitHub
  3. BlitzPlus-projektGitHub

Litteratur

  • Lär dig programmera 2D-spel i Blitz Basic av John "Krylar" Logsdon, (2003)
  • Game Programming for Teens av Maneesh Sethi, (2003), ISBN 1-59200-068-1
  • Spelprogrammering för den absoluta nybörjaren med BlitzMax av Sloan Kelly, ISBN 0-9553771-0-2
  • 3D-spelprogrammering för tonåringar av Eric Grebler, (2006) ISBN 1-59200-900-X
  • 3D Game Programming for Teens, 2:a upplagan av Maneesh Sethi, (2009) ISBN 1-59863-843-2

Se även

  • Xors3D - modern 3D-motor för BlitzMax
  • Monkey är ett nytt plattformsoberoende programmeringsspråk från Blitz Research Ltd

Länkar