Blitz Plus Blitz 3 D Blitz Plus BLitz
Blitz. Plus Blitz 3 D, Blitz. Plus, BLitz. Max Tauri Vahar
Ü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
Üldised käsu katekooriad: • Basic, math, string, text, input, bank, file, stream, network, TCP, UDP, Direct. Play, Direct. Show, sound, 2 D and 3 D graphics, graphics buffers, image, time, system, debug.
Ajalugu Disainitud Mark Sibly poolt Amigale. (Blitz) Blitz 2 mõni aeg hiljem Blitz Basic/Blitz 2 D väljalase Oct 2000 Edu aluseks olid tasuta versioonid, mis Inglismaal kaasati koos ajakirjaga PC Format. • Blitz 3 D väljalse September 2001 • Blit. Plus väljalase Veebruar 2003 • Blitz. Max väljalase 2004 • •
Blitz. Basic/Blitz 2 D • 2 D 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.
Blitz. Plus • Otsene Blitz 2 D järeltulija. • Kogu Blitz 2 D funktsionaalsus ja lisaks käsud GUI jaoks.
Blitz. Plus üldiselt • BASIC/C hübriid. • Sisse ehitatud IDE ja kompilaator, koos väga korraliku silujaga. • 2 D graafika mootor • Lihtsad heli, sõne, pildi, faili, võrgu, matemaatika, kokkupõrke funktsioonid. Ühesõnaga kõik vajalik lihtsamate mängude tegemiseks.
Blitz. Plus ü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.
Blitz. Plus muutujad i. Number (default to integer) i. Number% = 200 (int) f. Number# = 200. 125 (float) s. Number$ = "Hello!" (string) Global i. Number(int mis on kättesaadav igal pool programmis) • Local i. Number(int mis on kättesaadav ainult deklareeritud skoobis nt funktsioonis) • Const i. Number(int muutuja mida ei saa muuta) • • •
Blitz. Plus massiivid • ; märk alustab real commentaari osa • Dim Data. X%(3) ; loob massiivi 3 -e integeriga ; massiivi elementide väärtustamine For x = 0 To 3 Data. X(x) = x Next ; lõpetab For tsükli.
Blitz. Plus struktuurid 1 • 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 Ship. Name$ Field i. X, i. Y End Type
Blitz. Plus struktuurid 2 • Objecti loomine ja väljale juurdepääs Player. Ship = New Ship Player. ShipShip. Name$ = "Kliazian Warbird" • Iga tüübi prototüübi nimi(Ship) käitub, kui Linked List. (täpsemalt järgmine slaid) • Muutuja nimi(Player. Ship. ) on põhimõtteliselt pointer objektile.
Blitz. Plus struktuurid 3 • Ship listi kasutamine ja kasutude objektide kustutamine For Enemy. Ships. Ship = Each Ship If Enemy. Shipsi. Alive = 0 Delete Enemy. Ships End. If Next
Blitz. Plus struktuurid 4 • • • If. . . Then. . . Else. If. . . End. If Select. . . Case. . . Default. . . End Select Repeat. . . Until. . . Forever While. . . Wend For. . . To. . . Step. . . Next • Exit-väljub loobist
Blitz. Plus 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)+(#, $)
Blitz. Plus operaatorid • • Aritmeetika: +, -, ~, *, /, ^, Mod Võrdlemine: =, <, >, <=, >=, <> Loogika: Not, And, Or, Xor Shl, Shr, Sar
Blitz 3 D Süntaks oma olemuselt sama, mis Blitz. Plus-il. Omab kogu Blitz. Plus funktsionaalsust va. GUI. Lisatud sisse 3 D mootor ja käsustik selle jaoks. entities, brushes, meshes, terrains, sprites, cameras, lights, multitexturing and environment mapping. • Ainult Direct. X • Võimalik kasutada DLL-e • •
Blitz 3 D üldiselt • 3 D mootor toetab järgmist: • Flexible entity system, Meshes, Terrains, Sprites, Cameras, Lights, Flexible brush system, Multitexturing, Environment mapping, 3 D audio
Blitz. Max • • • Keelele tehti reset : D. Uuendatud süntaks Lisati OOP Kiirem kompilaator Linux, Mac, Windows
Blitz. Max 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 UTF 16 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++/Objective. C or assembly code • • •
Blitz. Max • Erinevatele platformidele Win, Mac, Linux • Moduaalrne disain, mis lubab luua käskude raamatukogusi. • Kergesti kasutatav 2 D 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.
Blitz. Max moodulid Kaasas on järgmised moodulid: Audio, Streams, Reflection, Basic, Graphics, GUI, Events, System, Networking, User Input, Data Structres, Math
Blitz. Max keel On erinevalt eelmistest keeltest olemas ka continue line character, milleks on kaks punkti “. . ”
Blitz. Max 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. • Mem. Alloc, Mem. Free, Mem. Extend, Mem. Clear käskudega.
Blitz. Max pointers • Pointeritega saab opereerida samamoodi nagu C keeltes. • Ainuke miinus on, et Type-i ehk Klassi meetodite pointereid ei saa kasutada.
Blitz. Max massiivid • Int tüüpi massiivi loomine Local int_array[10] või Local int_array: Int[] int_array=New Int[10] või Local int_array[]=[1, 2, 3, 4, 5]
Blitz. Max ühilduvus • Programmi teksti alguses kasutada Strict või Super. Strict. • Reguleerib kui vabalt saab koodi kirjutada. • Strict tüüpi programmides tuleb kõik muutujad deklareerida kas Local, Const või Global muutujateks • Super. Stricti puhul tuleb ka kindlasti määrata tüüp kujul muutuja: Float, muutuja: Int, muutuja: obj
Blitz. Max collektisoonid • Kaasas on ainult List, Map moodulid, seega tuleb nii mõnigi ise kirjutada. • Lisades kasutaja poolt defineeritud tüübile meetodi Object. Enumerator() on võimalik luua ise endale vajalikke kollektsioone. Üldiselt saab hakkama laiendades juba olemasolevaid kollektsiooni tüüpe.
Blitz. Max kommentaarid • Ühele reale annab kommentaari kirjutada ‘ ehk ülakoma abil. • Koodi blokke saab Rem. . . End. Rem abil kommenteerida.
Blitz. Max kommentaarid • Ühele reale annab kommentaari kirjutada ‘ ehk ülakoma abil. • Koodi blokke saab Rem. . . End. Rem abil kommenteerida.
Blitz. Max 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.
Blitz. Max andmetüübid • • Byte Short Int Long Float Double String • • • Object Array Function Pointer Variable
Blitz. Max literaalid • Integer 100 'decimal literaal $CAFEBABE 'hexadecimal (16) literaal %1010 'binaar (2) literaal • Float 10. 0 ‘kümme koma null 1. 5 e-6 '1. 5 korda(10 astems -6)
Blitz. Max literaalid 2 • Mõlemad viisid on õiged muutuja: Float = muutuja# muutuja: String=muutuja$ Hexakoodis Long tüüpi täisarv $800000000: Long
Blitz. Max 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 • •
Blitz. Max erindid • Function Ex. Test() Throw "Bingo!" End Function Try Ex. Test() Catch ex: Object Print ex. To. String() End Try • TNull. Method. Exception • • TNull. Function. Exception TNull. Object. Exception TArray. Bounds. Exception TRuntime. Exception
Blitz. Max functioonid • Function Identifier : Return. Type ( Parameters ) Function statements. . . End Function
Blitz. Max struktuurid 1 • While Expression Statements Wend • Repeat Statements Until Expression • Repeat Statements Forever
Blitz. Max struktuurid 2 • For Index. Variable = First. Value To Last. Value Step. Value Statements Next • For Index. Variable = First. Value Until Last. Value Step. Value statements Next
Blitz. Max struktuurid 3 • If Expression Then Statements Else Statements • If Expression Statements Else Statements End. If
Blitz. Max struktuurid 4 • Select Expression Case Expressions Statements Default Statements End Select
Blitz. Max operaatorid • • • : +Addition : -Subtraction : *Multiplication : /Division : Mod. Remainder : &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: =, <, >, <=, >=, <>
Blitz. Max kasutaja defineeritud tüübid • Typename Extends Typename Global muutja 1 Field muutja 2 Function Identifier : Return. Type ( Parameters) End. Function Mehtod Identifier : Return. Type ( Parameters) Endmethod End. Type
- Slides: 43