Gameprogrammeren: Klassen en objecten

Slides:



Advertisements
Verwante presentaties
Van domeinklasse tot implementatie
Advertisements

Het type int Tekenen met Java operatoren
Klassen en objecten.
Hoofdstuk 2 Hallo, C# !.
Hoofdstuk 8 Objecten en klassen.
Static Keyword static voor functieleden functie niet voor een object aangeroepen class K {... static int minimum( int i, int j); } aanroep: K::minimum(
JAVA -- H51 CONSTRUCTOR –- COPY-CONSTRUCTOR 1Constructor: Dezelfde naam als de klasse Wordt uitgevoerd d.m.v. new Initialisatie van de (private) attributen.
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 14 Vijanden, excepties. Overzicht programmaconstructies Opdrachten Toekenning Aanroep void-methode return-opdracht while-opdracht for(each)-opdracht.
Hoorcollege 4 Objecten en methoden. Eigen methode toevoegen class Painter : Game { public void HandleInput() { … } protected override void Update(GameTime.
Hoorcollege 3 Game assets, Invoer verwerken. Tutorlunch GroepTutorStutorZaal UPaul BergervoetBob BestBBG 001 VMarries van de HoefSander VerkuilBBG 731.
Tircms03-p les 4 Klassen. Abstracte datatypes in C struct stack { char info[100]; int top; }; void reset(stack *s) { s->top = -1; } void push(stack *s,
Hoofdstuk 3 Methoden om te tekenen.
Hoofdstuk 3 Tekenen en rekenen.
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 7 Polymorfie en overerving © 2014, Gertjan Laan, versie 2.
Programma opdrachten methoden klasse variabelen en Geheugen objecten klasse zijn gegroepeerd in hebben als type veranderen bewerken.
Klasse uit library Android.App Activity Bij het starten van een app: nOperating system maakt een Activity -object aan… n…en neemt dat onderhanden met de.
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.
Herhaling: He who does not learn from history, is doomed to repeat it.
Java voor beginners Doel: Een spel maken in LWJGL Door: Jim van Leeuwen.
De definitie van een object. Een object is een verzameling van eigenschappen en bewerkingen. Veel voorkomende objecten zijn: D (display) Gui (user interface)
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Game Object Structuren
Aanroep van een methode voert opdrachten uit in de body daarvan
Objectgeoriënteerd Programmeren
Gameprogrammeren: Objecten en geheugen
Gameprogrammeren: Game Assets
Gameprogrammeren: Lists en interfaces
Gameprogrammeren: Keuzeopdrachten
Gameprogrammeren: Overerving
Hoofdstuk 9.2 Strings.
Gameprogrammeren: Char en String
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
Gameprogrammeren: Platform-games
1. Een klasse is… Een groepje opdrachten Een groepje variabelen
Gameprogrammeren: Properties
Gameprogrammeren: Game Basics
Game Assets, Invoer Verwerken
Arjan Egges & Paul Bergervoet
Libraries, Platform Games
Gameprogrammeren: Recursie
Gameprogrammeren: Exceptions
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)
Arjan Egges & Paul Bergervoet
Object Communication (Jewel Jam)
Gameprogrammeren: Enemies in Tick Tick
Gameprogrammeren: Sprite sheets
Gameprogrammeren: Arrays
Transcript van de presentatie:

Gameprogrammeren: Klassen en objecten Arjan Egges Paul Bergervoet Wouter van Toll

Klassen, objecten en methoden opdrachten variabelen veranderen zijn gegroepeerd in zijn gegroepeerd in methoden objecten bewerken zijn gegroepeerd in een hebben als type klasse klasse klasse

Klassen versus objecten Een klasse is een blauwdruk voor objecten Een object is een instantie van een klasse Voorbeeld: Een Enemy-klasse die beschrijft wat vijanden zijn/doen (in het algemeen) Een game die meerdere Enemy-objecten bevat (= instanties van de Enemy-klasse) (= objecten van het type Enemy) Variabelen + methoden

Inhoud van een klasse Onderdelen: Methoden bewerken variabelen class MyGame : Game { Color background; MyGame() background = Color.White; ... } ... Update(...) int red = gameTime…/…; background = new Color(red, 0,0); ... Draw(...) GraphicsDevice.Clear(background); Onderdelen: Opsomming van methoden Opsommingen van variabelen die een object omschrijven Methoden bewerken variabelen

Klasse Methoden bewerken variabelen van objecten Bij het object dat we nu aan het bewerken zijn! Dus: deze instantie van MyGame Maar bij welk object hoort ‘background’ dan? class MyGame : Game { GraphicsDeviceManager graphics; Color background; … protected override void Update(GameTime gameTime) int red = gameTime.TotalGameTime.Milliseconds; background = new Color(red, 0, 0); }

Waar maken we dat object? class MyGame : Game { GraphicsDeviceManager graphics; Color background; static void Main() MyGame game = new MyGame(); game.Run(); } public MyGame() graphics = new GraphicsDeviceManager(this); …

this this: speciaal woord dat het object aanduidt dat we nu aan het bewerken zijn class MyGame : Game { GraphicsDeviceManager graphics; Color background; … protected override void Update(GameTime gameTime) int red = gameTime.TotalGameTime.Milliseconds; this.background = new Color(red, 0, 0); }

Opmerkingen over ‘this’ Je mag this schrijven voor elke membervariabele Vaak overbodig, maar kan code duidelijker maken Je kunt this niet gebruiken in static methodes Waarom niet? Je kunt this meegeven in een methode-aanroep Het is ‘gewoon’ een verwijzing naar een object (Komen we later op terug)