1 / 43

BlitzPlus Blitz3D,BlitzPlus,BLitzMax

BlitzPlus Blitz3D,BlitzPlus,BLitzMax. 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 .

lamar-good
Download Presentation

BlitzPlus Blitz3D,BlitzPlus,BLitzMax

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BlitzPlusBlitz3D,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# = 200.125 (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) ;loobmassiivi 3-e integeriga ; massiivielementide 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$ = "KliazianWarbird" • 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 • Rekursioonlubatud • 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: • Flexibleentity system, Meshes, Terrains,Sprites,Cameras,Lights,Flexiblebrush 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] või Local int_array[]=[1,2,3,4,5]

  27. BlitzMax ühilduvus • Programmi teksti alguses kasutadaStrict 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 kujulmuutuja: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 • Short • Int • Long • Float • Double • String • Object • Array • Function • Pointer • Variable

  33. BlitzMax literaalid • Integer 100 'decimal literaal $CAFEBABE 'hexadecimal (16) literaal %10101010 '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 $8000000000000000:Long

  35. BlitzMax muutujad • DeclarationIdentifier: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() Throw "Bingo!" End Function Try ExTest() Catch ex:Object Print ex.ToString() End Try • TNullMethodException • TNullFunctionException • TNullObjectException • TArrayBoundsException • TRuntimeException

  37. BlitzMax functioonid • FunctionIdentifier:ReturnType(Parameters)Function statements...End Function

  38. BlitzMax struktuurid1 • WhileExpressionStatementsWend • RepeatStatementsUntilExpression • RepeatStatementsForever

  39. BlitzMax struktuurid2 • ForIndexVariable=FirstValueToLastValueStepStepValueStatementsNext • ForIndexVariable=FirstValueUntilLastValueStepStepValuestatementsNext

  40. BlitzMax struktuurid3 • IfExpressionThenStatementsElseStatements • IfExpressionStatementsElse IfExpressionStatementsElseStatementsEndIf

  41. BlitzMax struktuurid4 • SelectExpressionCaseExpressionsStatementsDefaultStatementsEnd Select

  42. BlitzMax operaatorid my_var:+1VÕI my_var=my_var+1 my_var:Shl 4VÕI my_var=my_var Shl 4 • :+Addition • :-Subtraction : • *Multiplication • :/Division • :ModRemainder • :&Bitwise and • :|Bitwise or • :~Bitwise exclusive or • :ShlBitwise shift left • :ShrBitwise shift right • :SarArithmetic shift right Võrdlemine: =, <, >, <=, >=, <>

  43. BlitzMax kasutaja defineeritud tüübid • TypeTypenameExtendsTypename Global muutja1 Field muutja2 Function Identifier:ReturnType(Parameters) EndFunction Mehtod Identifier:ReturnType(Parameters) Endmethod EndType

More Related