BlitzPlus Blitz3D,BlitzPlus,BLitzMax

Slides:



Advertisements
Similar presentations
C Programming Getting Started Getting Started Hello World Hello World Data types and variables Data types and variables main() main() I/O routines I/O.
Advertisements

Overview of programming in C C is a fast, efficient, flexible programming language Paradigm: C is procedural (like Fortran, Pascal), not object oriented.
Programming Languages and Paradigms The C Programming Language.
Operators & Identifiers The Data Elements. Arithmetic Operators exponentiation multiplication division ( real ) division ( integer quotient ) division.
Files in C Rohit Khokher. Files in C Real life situations involve large volume of data and in such cases, the console oriented I/O operations pose two.
ITI praktikum 2/16 Ago Luberg. Ülevaade Esimene kodutöö Vajalikud põhielemendid I kodutöö jaoks – STDIO – kontroll-struktuurid – massiivid – Stringid.
IntroductionIntroduction  Computer program: an ordered sequence of statements whose objective is to accomplish a task.  Programming: process of planning.
©2004 Brooks/Cole Chapter 2 Variables, Values and Operations.
1 Chapter 4 Language Fundamentals. 2 Identifiers Program parts such as packages, classes, and class members have names, which are formally known as identifiers.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Outline Variables 1.
CoE3DJ4 Digital Systems Design
Cross-Platform Low-Level Language CPL 3 - Language Overview Brian Westphal.
General Features of Java Programming Language Variables and Data Types Operators Expressions Control Flow Statements.
C Tokens Identifiers Keywords Constants Operators Special symbols.
Java ja.NET Framework programmide kompileerimine masinkoodi Siim Karus.
1 Programs Composed of Several Functions Syntax Templates Legal C++ Identifiers Assigning Values to Variables Declaring Named Constants String Concatenation.
Hello.java Program Output 1 public class Hello { 2 public static void main( String [] args ) 3 { 4 System.out.println( “Hello!" ); 5 } // end method main.
Intro to Programming in C. Motivation for Using C  High level, compiler language  Efficiency over user-friendliness  Allows programmer greater freedom,
C++ Programming Basic Learning Prepared By The Smartpath Information systems
VARIABLES, CONSTANTS, OPERATORS ANS EXPRESSION
Copyright Curt Hill Variables What are they? Why do we need them?
Slides created by: Professor Ian G. Harris Hello World #include main() { printf(“Hello, world.\n”); }  #include is a compiler directive to include (concatenate)
School of Computer Science & Information Technology G6DICP - Lecture 4 Variables, data types & decision making.
Arithmetic Expressions Addition (+) Subtraction (-) Multiplication (*) Division (/) –Integer –Real Number Mod Operator (%) Same as regular Depends on the.
VISUAL C++ PROGRAMMING: CONCEPTS AND PROJECTS Chapter 2A Reading, Processing and Displaying Data (Concepts)
PROGRAM ESSENTIALS. TOKENS  SMALLEST UNITS OF A PROGRAM LANGUAGE  Special Symbols  Mathematical Operators  Punctuation  Word Symbols  Key Words.
By Mr. Muhammad Pervez Akhtar
C LANGUAGE Characteristics of C · Small size
C++ Basics Programming. COMP104 Lecture 5 / Slide 2 Introduction to C++ l C is a programming language developed in the 1970s with the UNIX operating system.
Java Basics. Tokens: 1.Keywords int test12 = 10, i; int TEst12 = 20; Int keyword is used to declare integer variables All Key words are lower case java.
 It is a pure oops language and a high level language.  It was developed at sun microsystems by James Gosling.
1 ENERGY 211 / CME 211 Lecture 3 September 26, 2008.
C++ Lesson 1.
Information and Computer Sciences University of Hawaii, Manoa
Key Words / Reserved Words
‘C’ Programming Structures and Commands
The Machine Model Memory
JAVA MULTIPLE CHOICE QUESTION.
Introduction to C Programming
Data types Data types Basic types
A bit of C programming Lecture 3 Uli Raich.
BASIC ELEMENTS OF A COMPUTER PROGRAM
Lecture 2: Data Types, Variables, Operators, and Expressions
Introduction to C CSE 2031 Fall /3/ :33 AM.
C Short Overview Lembit Jürimägi.
Computing with C# and the .NET Framework
C Basics.
Java Programming: From Problem Analysis to Program Design, 4e
Visit for more Learning Resources
Süsteemprogrammeerimine keeles C ja C#
Starting JavaProgramming
Introduction to Programming
Perl Practical Extraction and Report Language
An overview of Java, Data types and variables
The Building Blocks Classes: Java class library, over 1,800 classes:
C keel AVR mikrokontrolleril
PHP.
C keel AVR mikrokontrolleril
Introduction to Primitive Data types
University of Kurdistan
C Programming Getting started Variables Basic C operators Conditionals
Comp Org & Assembly Lang
Engineering Problem Solving with C++ An Object Based Approach
OPERATORS in C Programming
C Language B. DHIVYA 17PCA140 II MCA.
Course Outcomes of Programming In C (PIC) (17212, C203):
SEEM 4540 Tutorial 4 Basic PHP based on w3Schools
OPERATORS in C Programming
Introduction to Primitive Data types
Introduction to C CS 3410.
Presentation transcript:

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. Ükski keel pole tõusutundlik

Ü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.

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

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.

BlitzPlus Otsene Blitz2D järeltulija. Kogu Blitz2D funktsionaalsus ja lisaks käsud GUI jaoks.

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.

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.

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)

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.

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

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.

BlitzPlus struktuurid3 Ship listi kasutamine ja kasutude objektide kustutamine For EnemyShips.Ship = Each Ship If EnemyShips\iAlive = 0 Delete EnemyShips EndIf Next

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

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)+(#,$)

BlitzPlus operaatorid Aritmeetika: +, -, ~,*, /, ^, Mod Võrdlemine: =, <, >, <=, >=, <> Loogika: Not, And, Or,Xor Shl,Shr,Sar

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

Blitz3D üldiselt 3D mootor toetab järgmist: Flexible entity system, Meshes, Terrains, Sprites, Cameras, Lights, Flexible brush system, Multitexturing, Environment mapping, 3D audio

BlitzMax Keelele tehti reset :D. Uuendatud süntaks Lisati OOP Kiirem kompilaator Linux,Mac,Windows

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

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.

BlitzMax moodulid Kaasas on järgmised moodulid: Audio,Streams,Reflection,Basic,Graphics,GUI, Events,System,Networking,User Input, Data Structres,Math

BlitzMax keel On erinevalt eelmistest keeltest olemas ka continue line character, milleks on kaks punkti “..”

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.

BlitzMax pointers Pointeritega saab opereerida samamoodi nagu C keeltes. Ainuke miinus on, et Type-i ehk Klassi meetodite pointereid ei saa kasutada.

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]

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

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.

BlitzMax kommentaarid Ühele reale annab kommentaari kirjutada ‘ ehk ülakoma abil. Koodi blokke saab Rem...EndRem abil kommenteerida.

BlitzMax kommentaarid Ühele reale annab kommentaari kirjutada ‘ ehk ülakoma abil. Koodi blokke saab Rem...EndRem abil kommenteerida.

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.

BlitzMax andmetüübid Byte Object Short Array Int Function Long Pointer Float Double String Object Array Function Pointer Variable

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)

BlitzMax literaalid2 Mõlemad viisid on õiged muutuja:Float = muutuja# muutuja:String=muutuja$ Hexakoodis Long tüüpi täisarv $8000000000000000:Long

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

BlitzMax erindid Function ExTest() TNullMethodException Throw "Bingo!" End Function Try ExTest() Catch ex:Object Print ex.ToString() End Try TNullMethodException TNullFunctionException TNullObjectException TArrayBoundsException TRuntimeException

BlitzMax functioonid Function Identifier : ReturnType ( Parameters )    Function statements... End Function

BlitzMax struktuurid1 While Expression Statements Wend Repeat    Statements Until Expression Repeat    Statements Forever

BlitzMax struktuurid2 For IndexVariable = FirstValue To LastValue Step StepValue    Statements Next For IndexVariable = FirstValue Until LastValue Step StepValue    statements Next

BlitzMax struktuurid3 If Expression Then Statements Else Statements If Expression    Statements Else If Expression    Statements Else    Statements EndIf

BlitzMax struktuurid4 Select Expression Case Expressions    Statements Default    Statements End Select

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: =, <, >, <=, >=, <>

BlitzMax kasutaja defineeritud tüübid Type Typename Extends Typename Global muutja1 Field muutja2 Function Identifier : ReturnType ( Parameters) EndFunction Mehtod Identifier : ReturnType ( Parameters) Endmethod EndType