Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdJuliana van den Brink Laatst gewijzigd meer dan 6 jaar geleden
1
Gameprogrammeren: Variabelen, declaraties en toekenningen
Arjan Egges Paul Bergervoet Wouter van Toll
2
Variabelen Variabele: geheugenplaats met een naam
Declaratie: aangifte van het type van de variabele Toekenningsopdracht: variabele krijgt waarde int x, y; x y 20 x = 20;
3
Toekenningsopdrachten
Expressie aan de rechterkant mag andere variabelen gebruiken Vorige waarde gaat verloren int x, y; x = 20 ; x y 50 20 25 26 y = x + 5 ; x = y * 2 ; y = y + 1 ;
4
Syntax van opdracht (toekenning)
5
Syntax van opdracht
6
Declaratie en toekenningen
Eén keer declarareren Mogelijk meerdere toekenningen Declaratie en eerste toekenning int x; int x = 100; x = 100; x = 100; x = 250; x = x + 1; x = 2 * x;
7
Syntax van declaratie
8
Type van variabelen int geheel getal double benadering van reëel getal
int x; double d; x 10 3 x = 10 ; d = ; d 10.0 d = 10 ; x = x / 3 ; d = d / 3 ;
9
Const declaratie const double pi = 3.1415926535897938;
Latere toekenningen verboden pi = 4.0; double straal = 2.0; double oppervlakte = pi * straal * straal;
10
Syntax van declaratie
11
Plaats van een declaratie
12
Standaardtypes Gehele getallen: Getallen met een decimale punt: 1 byte
sbyte ± 127 byte 0..255 28-1 2 bytes short ± 32767 ushort 216-1 4 bytes int ± 2 miljard uint 0..4 miljard 232-1 8 bytes long ± 1018 ulong 264-1 Getallen met een decimale punt: 4 bytes float 7 cijfers, afgerond, ≤1038 8 bytes double 15 cijfers, afgerond, ≤10300 16 bytes decimal 28 cijfers, exact, ≤1028
13
Constanten Geheel getal (kleinst passende) Getal met een decimale punt
string (tekst) hexadecimaal 137 –25 0x1A 0xFF 26 255 0.5 –273.15 6.02E23 1E3 3E–11 1000 "Hallo!" "A" "" "een \"citaat\"" "\n" "\\"
14
Typering van operatoren
Beide argumenten geheel resultaatwaarde geheel Minstens één floating resultaatwaarde floating bij + operator ook: Minstens één string resultaatwaarde string 2 + 5 3 * 4 5 / 2 0.5 * 7 10 / * 2.5 “ga” + “me” “€” + bedrag
15
Verschillende typen int en double zijn voorbeelden van een primitief of built-in type C# kent ook `complexere’ types Color GameTime GraphicsDevice … Deze zitten in libraries zoals MonoGame, .NET, ...
16
Syntax van primitieve types
17
Enumerated type Wordt gebruikt om een verzameling verschillende toestanden aan te duiden Bijvoorbeeld: En voor ButtonState (Pressed/Released): enum CharacterClan { Warrior, Wizard, Elf, Spy }; CharacterClan myClan = CharacterClan.Warrior; ButtonState someState = ButtonState.Released;
18
Enumerated type Nog een voorbeeld:
enum MonthType { January, February, March, April, May, June, July, August, September, October, November, December }; enum DayType { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }; MonthType currentMonth = MonthType.February; DayType today = DayType.Tuesday;
19
Type Vector2 Het Vector2-type wordt gebruikt om vectoren in 2D te bewaren. Bijvoorbeeld: Vector2 positie = new Vector2(150.0f, 300.0f); positie = Vector2.Zero; positie = positie + new Vector2(300.0f, 300.0f); float x_waarde = positie.X; positie.Y = 350.0f;
20
Kleuren Color(...) (0,255,0) (255,0,0) (0,0,255) (0,0,0) (255,255,0)
(255,255,255) (0,255,255) (255,0,255) (0,0,255) (0,0,0)
21
Variabelen van het type Color
Variabelenamen Color blueColor, greenColor, redColor, grayColor, whiteColor; blueColor = new Color(0, 0, 255); greenColor = new Color(0, 255, 0); redColor = new Color(255, 0, 0); grayColor = new Color(200, 200, 200); whiteColor = new Color(255, 255, 255); Declaraties Toekenningen We gebruiken `new’ voor niet-primitieve typen Informatie om de kleur te kunnen maken
22
Mengkleuren new Color(255, 0, 0) new Color(255, 64, 0)
23
Scope van een variabele
In een methode: kan alleen in die methode gebruikt worden In een klasse: kan in alle methoden van de klasse gebruikt worden Die variabelen noemen we dan attributen of membervariabelen De plekken waar een variabele gebruikt kan worden noemen we de scope (het bereik) van een variabele
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.