Gameprogrammeren: Char en String

Slides:



Advertisements
Verwante presentaties
Practica Computerlinguistiek Tekst en uitleg:
Advertisements

Hoofdstuk 2 Hallo, C# !.
Flow controle Keuzes maken. Het if-statement Soms moet code alleen in bepaalde situaties uit gevoerd worden Hiervoor heeft C de if-else constructie: if(voorwaarde1){
Array nDeclaratie nCreatie nOpvragen nWijzigen nLengte String [ ] a; a = new String[10]; ……a[5]…… a[5] = ……; …a.Length… …is eigenlijk overbodig! List a;
Hoofdstuk Strings en arrays. Primitieve types nint gehele getallen-17, -5, 0, 3, 178 ndouble reëele getallen3.141, 2.0, -1.5E8 nbool waarheidswaarden.
Oefeningen Hoofdstuk 3.
LauwersCollege Buitenpost Java Applet programma dat op een website zichtbaar is Java Application programma dat zelfstandig werkt Javascript Scripttaal.
Opgave 1a: void nvoid staat in de header van een methode die geen resultaatwaarde heeft nde aanroep van een void-methode is dan een opdracht i.p.v. een.
Hoorcollege 2 Basis gameprogrammeren. Soorten programma’s Console- applicatie.
Hoorcollege 4 Objecten en methoden. Eigen methode toevoegen class Painter : Game { public void HandleInput() { … } protected override void Update(GameTime.
Tircms03-p les 2 Hfdst 3,4 Meer operatoren Functies.
Bewerkingen met Strings
Hoofdstuk 11 Strings en arrays. TextArea en String class LetterTeller extends Applet { void init ( ) { invoer = new TextArea (5, 40); uitvoer = new TextField(40);
Hoofdstuk 8.5 Subklassen. versie-management problematiek Voortborduren op eerder gedaan werk nEerste poging: “knip&plak” class Twee { int x, y; int oud.
Hoofdstuk 2 Hallo, C# !. Opbouw broncode nOpdrachten om het geheugen te veranderen nOpdrachten zijn gegroepeerd in methoden nMethoden zijn gegroepeerd.
Soorten programma’s nConsole- applicatie. Soorten programma’s nConsole- applicatie nWindows- applicatie.
Aangepaste timing nTheorie (16 colleges + 2 deeltentamens) nPraktijk (16 keer, 3 inleveropdrachten) college Tent. 1 Tent. 3 college prakt. 1 prakt. 3 prakt.
Programma opdrachten methoden klasse variabelen en Geheugen objecten klasse zijn gegroepeerd in hebben als type veranderen bewerken.
Meer constructormethodes in klasse Kleur { class Kleur } public byte Rood, Groen, Blauw; public Kleur( byte r, byte g, byte b ) { } Rood=r; Groen=g; Blauw=b;
Game Object Structuren
Objectgeoriënteerd Programmeren (2)
Aanroep van een methode voert opdrachten uit in de body daarvan
Gameprogrammeren: Objecten en geheugen
Gameprogrammeren: Game Assets
Gameprogrammeren: Lists en interfaces
Gameprogrammeren: Keuzeopdrachten
Gameprogrammeren: Overerving
Hoofdstuk 9.2 Strings.
Letterfrequentie turven
Gameprogrammeren: Variabelen, declaraties en toekenningen
Gameprogrammeren: Expressies
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Gameprogrammeren: Animatie
Gameprogrammeren: Methoden
Arjan Egges & Paul Bergervoet
Gameprogrammeren: Overerving in Painter
Gameprogrammeren: Player input in Painter
Gameprogrammeren: Programmastructuur
Basis Gameprogrammeren
Gameprogrammeren: Tiles in Tick Tick
Gameprogrammeren: Afsluiting
Gameprogrammeren: Willekeurigheid (Randomness)
Gameprogrammeren: Herhalingen
Tinpro015b-les3 Hfdst 3,4 Meer operatoren Functies.
Gameprogrammeren: Properties
Arjan Egges & Paul Bergervoet
Gameprogrammeren: Game Basics
Game Assets, Invoer Verwerken
Syntax van opdracht opdracht naam naam ( expressie ) ; . , expressie
Arjan Egges & Paul Bergervoet
Voorbeeld: Simulatie van bewegende deeltjes
Voortborduren op eerder gedaan werk
Libraries, Platform Games
Gameprogrammeren: Recursie
Gameprogrammeren: Exceptions
Opdrachten herhalen public void tekenScherm (object o, PEA pea)
Gameprogrammeren: Abstracte klassen
Willekeurigheid en Herhaling
Gameprogrammeren: Interfaces
Arjan Egges Paul Bergervoet Wouter van Toll
Aanroep van een methode voert opdrachten uit in de body daarvan
Gameprogrammeren: Tiles en File I/O in Tick Tick
Game: omgaan met tijd (Jewel-Jam)
Gameprogrammeren: Klassen en objecten
Arjan Egges & Paul Bergervoet
Object Communication (Jewel Jam)
Exceptions Exception:
Gameprogrammeren: Enemies in Tick Tick
Gameprogrammeren: Sprite sheets
Gameprogrammeren: Arrays
Transcript van de presentatie:

Gameprogrammeren: Char en String Arjan Egges Paul Bergervoet Wouter van Toll

Strings string altijd tussen dubbele aanhalingstekens: Strings zijn ook een soort ‘arrays’ van karakters (type: char) string test = "Dit is een test";

Geschiedenis van char 1970s: 6 bits = 64 symbols 26 letters, 10 digits, 28 leestekens 1980s: 7 bits = 128 symbols +26 lowercase, +5 leestekens, 33 control 1990s: 8 bits = 256 symbols +letters met accenten 2000s: 16 bits = 65536 symbols +Grieks, Cyrillisch, Japans, Devangari, ... ASCII ANSI/ISO IBM/DOS Unicode

Character coding code 0 code 32 code 48 code 65 code 97 code 127

char: bijzonderheden Alfabetisch geordend Converteerbaar naar int… …en terug char c; if ( ‘A’<=c && c<=‘Z’ ) { … } int n; n = c + 32; c = (char) n;

Conversies Conversie (cast) naar “grotere” waarde kan altijd Conversie naar “kleinere” waarde is gevaarlijk double d; int n; d = n; int n; char c; n = c; ThreeColorGameObject x; Ball b = new Ball(Content); x = b; n = (int) d; c = (char) n; b=(Ball) x;

Speciale char-waarden Letterlijk symbool Speciaal symbool Het quote-symbool Het backslash-symbool ’A’ ’&’ ’\n’ ’\t’ ’\’’ ’\”’ ’\\’ twee tekens in de broncode, toch één character!

Strings zijn immutable ! Iets meer over strings Methoden en properties in de string-klasse: int Length bool Equals(string s) string Substring(int x, int y) string Concat(object s) string Insert(int p, string s) Strings zijn immutable ! Levert steeds een nieuwe string op!

concat en substring string s, t, u, v, w; s = "ham"; t = "burger"; u = s.Concat(t); v = u.Substring(3); w = u.Substring(3, 4); s t u v w ham burger hamburger burger burg s + t ; vanaf aantal karakters 012345678 hamburger

Iets meer over strings Je kunt strings uitlezen als arrays: Maar aanpassen mag niet! Dubbele aanhalingstekens gebruiken we voor strings ("), enkele aanhalingstekens voor chars (') string s = "Hallo"; char c = s[1]; s[1] = 'e';

string versus char-array Klasse Indexer: alleen getten Speciale quote-notatie Property Methoden Syntax zoals een array Index-notatie: get+set Geen speciale notatie Property Geen speciale methoden string s = new string(); char[] a = new char[10]; c = s[2]; s[3] = c; c = a[2]; a[3] = c; s = "hallo"; a.Length s.Length s.IndexOf(t); s.Substring(3,5);

Painter: Score op scherm tekenen Gebruik de methode DrawString uit de SpriteBatch-klasse public void Draw(GameTime gameTime, SpriteBatch spriteBatch) { spriteBatch.Begin(); spriteBatch.Draw(background… …. spriteBatch.DrawString(gameFont, "Score: " + score, new Vector2(20, 18), Color.White); … spriteBatch.End(); }