Download presentation
Presentation is loading. Please wait.
1
BlitzPlus Blitz3D,BlitzPlus,BLitzMax
Tauri Vahar
2
Ülevaade Blitz BASIC on termin mida kasutatakse viitamaks kõikidele Blitz keeltele. Kompilaatorid tasulised Kompilaatorid erinevatele platformidele Eelkõige mängude programmeerimiseks Hea protoüüpide kirjutamiseks. Ükski keel pole tõusutundlik
3
Üldised käsu katekooriad:
Basic, math, string, text, input, bank, file, stream, network, TCP, UDP, DirectPlay, DirectShow, sound, 2D and 3D graphics, graphics buffers, image, time, system, debug.
4
Ajalugu Disainitud Mark Sibly poolt Amigale.(Blitz)
Blitz2 mõni aeg hiljem Blitz Basic/Blitz2D väljalase Oct 2000 Edu aluseks olid tasuta versioonid, mis Inglismaal kaasati koos ajakirjaga PC Format. Blitz3D väljalse September 2001 BlitPlus väljalase Veebruar 2003 BlitzMax väljalase 2004
5
BlitzBasic/Blitz2D 2D mängude loomiseks
Pole enam kättesaadav ja ei jookse uuemate OP süsteemide peal Põhimõtteliselt välja surnud ja asendatud uuemate liigikaaslastega.
6
BlitzPlus Otsene Blitz2D järeltulija.
Kogu Blitz2D funktsionaalsus ja lisaks käsud GUI jaoks.
7
BlitzPlus üldiselt BASIC/C hübriid.
Sisse ehitatud IDE ja kompilaator, koos väga korraliku silujaga. 2D graafika mootor Lihtsad heli, sõne, pildi, faili, võrgu, matemaatika, kokkupõrke funktsioonid. Ühesõnaga kõik vajalik lihtsamate mängude tegemiseks.
8
BlitzPlus üldiselt Koodil, kui tekstil puudub konstruktsioon ehk võib kirjutada nii kuidas ise tahad. Soovitav on siiski käskude vahele panna : kuid ei pea seda tegema.
9
BlitzPlus muutujad iNumber (default to integer) iNumber% = 200 (int)
fNumber# = (float) sNumber$ = "Hello!" (string) Global iNumber(int mis on kättesaadav igal pool programmis) Local iNumber(int mis on kättesaadav ainult deklareeritud skoobis nt funktsioonis) Const iNumber(int muutuja mida ei saa muuta)
10
BlitzPlus massiivid ; märk alustab real commentaari osa
Dim DataX%(3) ;loob massiivi 3-e integeriga ; massiivi elementide väärtustamine For x = 0 To 3 DataX(x) = x Next ; lõpetab For tsükli.
11
BlitzPlus struktuurid1
On ainult ühte tüüpi struktuur Type. Saab hoida ainult muutujaid, mis peavad olema märgitud sõnaga Field. Global muutujaid ei saa Type-is hoida. Loome struktuuri prototüübi. Type Ship Field ShipName$ Field iX,iY End Type
12
BlitzPlus struktuurid2
Objecti loomine ja väljale juurdepääs PlayerShip.Ship = New Ship PlayerShip\ShipName$ = "Kliazian Warbird" Iga tüübi prototüübi nimi(Ship) käitub, kui Linked List.(täpsemalt järgmine slaid) Muutuja nimi(PlayerShip.) on põhimõtteliselt pointer objektile.
13
BlitzPlus struktuurid3
Ship listi kasutamine ja kasutude objektide kustutamine For EnemyShips.Ship = Each Ship If EnemyShips\iAlive = 0 Delete EnemyShips EndIf Next
14
BlitzPlus struktuurid4
If...Then...Else...ElseIf...EndIf Select...Case...Default...End Select Repeat...Until...Forever While...Wend For...To...Step...Next Exit-väljub loobist
15
BlitzPlus funktsioonid
Function {funcname}{typetag}( {params} ) {statements} End Function Function numletters%(passedname$) Return Len(passedname$) End Function Saab kasutada operaatorina Rekursioon lubatud Tagastustüüp vaikimisi %(int)+(#,$)
16
BlitzPlus operaatorid
Aritmeetika: +, -, ~,*, /, ^, Mod Võrdlemine: =, <, >, <=, >=, <> Loogika: Not, And, Or,Xor Shl,Shr,Sar
17
Blitz3D Süntaks oma olemuselt sama, mis BlitzPlus-il.
Omab kogu BlitzPlus funktsionaalsust va. GUI. Lisatud sisse 3D mootor ja käsustik selle jaoks. entities, brushes, meshes, terrains, sprites, cameras, lights, multitexturing and environment mapping. Ainult DirectX Võimalik kasutada DLL-e
18
Blitz3D üldiselt 3D mootor toetab järgmist:
Flexible entity system, Meshes, Terrains, Sprites, Cameras, Lights, Flexible brush system, Multitexturing, Environment mapping, 3D audio
19
BlitzMax Keelele tehti reset :D. Uuendatud süntaks Lisati OOP
Kiirem kompilaator Linux,Mac,Windows
20
BlitzMax on BASIC aga lisadega
Function pointers Fully dynamic arrays Inheritance and polymorphism 'By reference' function parameters Byte, Short, Int, Long, Float and Double numeric data types Array and string slicing Flexible 'collection' system for dealing with linked lists etc Low level pointer handling UTF16 strings The ability to 'Incbin' binary data and access it as easily as if it were a regular file External language support for interfacing with C/C++/ObjectiveC or assembly code
21
BlitzMax Erinevatele platformidele Win,Mac,Linux
Moduaalrne disain, mis lubab luua käskude raamatukogusi. Kergesti kasutatav 2D käskude kogum Kiire ja kerge compileerimis süsteem. Kasutab palju pre-compiled võtteid, mis tagab väga kiire Test ,Debug and fix lähenemise.
22
BlitzMax moodulid Kaasas on järgmised moodulid: Audio,Streams,Reflection,Basic,Graphics,GUI, Events,System,Networking,User Input, Data Structres,Math
23
BlitzMax keel On erinevalt eelmistest keeltest olemas ka continue line character, milleks on kaks punkti “..”
24
BlitzMax memory Kasutab Garbage collectorit, mida saab ise vastavalt oma soovile sisse ja välja lülitad või muuta opereerimis stiili. Samuti on võimalik kogu mälu haldus täiesti üle võtta ja opereerida nagu C keeltes. MemAlloc, MemFree,MemExtend, MemClear käskudega.
25
BlitzMax pointers Pointeritega saab opereerida samamoodi nagu C keeltes. Ainuke miinus on, et Type-i ehk Klassi meetodite pointereid ei saa kasutada.
26
BlitzMax massiivid Int tüüpi massiivi loomine Local int_array[10] või
Local int_array:Int[] int_array=New Int[10] Local int_array[]=[1,2,3,4,5]
27
BlitzMax ühilduvus Programmi teksti alguses kasutada Strict või SuperStrict. Reguleerib kui vabalt saab koodi kirjutada. Strict tüüpi programmides tuleb kõik muutujad deklareerida kas Local, Const või Global muutujateks SuperStricti puhul tuleb ka kindlasti määrata tüüp kujul muutuja:Float, muutuja:Int,muutuja:obj
28
BlitzMax collektisoonid
Kaasas on ainult List,Map moodulid, seega tuleb nii mõnigi ise kirjutada. Lisades kasutaja poolt defineeritud tüübile meetodi ObjectEnumerator() on võimalik luua ise endale vajalikke kollektsioone. Üldiselt saab hakkama laiendades juba olemasolevaid kollektsiooni tüüpe.
29
BlitzMax kommentaarid
Ühele reale annab kommentaari kirjutada ‘ ehk ülakoma abil. Koodi blokke saab Rem...EndRem abil kommenteerida.
30
BlitzMax kommentaarid
Ühele reale annab kommentaari kirjutada ‘ ehk ülakoma abil. Koodi blokke saab Rem...EndRem abil kommenteerida.
31
BlitzMax konditsiooniline compileerimine
?Debug 'Any code here is only compiled in debug mode. ?Not Debug 'Any code here is only compiled in release mode. ? 'Code here is always compiled.
32
BlitzMax andmetüübid Byte Object Short Array Int Function Long Pointer
Float Double String Object Array Function Pointer Variable
33
BlitzMax literaalid Integer 100 'decimal literaal
$CAFEBABE 'hexadecimal (16) literaal % 'binaar (2) literaal Float 10.0 ‘kümme koma null 1.5e-6 '1.5 korda(10 astems -6)
34
BlitzMax literaalid2 Mõlemad viisid on õiged muutuja:Float = muutuja#
muutuja:String=muutuja$ Hexakoodis Long tüüpi täisarv $ :Long
35
BlitzMax muutujad Declaration Identifier : Type = Expression
Kolme tüüpi: Local ,Global ja Field Global-kehtib terves programmis Local-kehtib deklareerims skoobiks ja mõeldud ajutiste muutujate jaoks funktsioonides, loopides. Field-kasutaja poolt loodud tüüpide muutujate deklareerimiseks
36
BlitzMax erindid Function ExTest() TNullMethodException Throw "Bingo!"
End Function Try ExTest() Catch ex:Object Print ex.ToString() End Try TNullMethodException TNullFunctionException TNullObjectException TArrayBoundsException TRuntimeException
37
BlitzMax functioonid Function Identifier : ReturnType ( Parameters ) Function statements... End Function
38
BlitzMax struktuurid1 While Expression Statements Wend
Repeat Statements Until Expression Repeat Statements Forever
39
BlitzMax struktuurid2 For IndexVariable = FirstValue To LastValue Step StepValue Statements Next For IndexVariable = FirstValue Until LastValue Step StepValue statements Next
40
BlitzMax struktuurid3 If Expression Then Statements Else Statements
If Expression Statements Else If Expression Statements Else Statements EndIf
41
BlitzMax struktuurid4 Select Expression Case Expressions Statements Default Statements End Select
42
BlitzMax operaatorid my_var:+1 VÕI my_var=my_var+1
:+Addition :-Subtraction : *Multiplication :/Division :ModRemainder :&Bitwise and :|Bitwise or :~Bitwise exclusive or :Shl Bitwise shift left :Shr Bitwise shift right :Sar Arithmetic shift right my_var:+1 VÕI my_var=my_var+1 my_var:Shl 4 VÕI my_var=my_var Shl 4 Võrdlemine: =, <, >, <=, >=, <>
43
BlitzMax kasutaja defineeritud tüübid
Type Typename Extends Typename Global muutja1 Field muutja2 Function Identifier : ReturnType ( Parameters) EndFunction Mehtod Identifier : ReturnType ( Parameters) Endmethod EndType
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.