HerhalingWat is het verschil tussen een methode op wereldniveau en op klassenniveau?
Wat betekent overerving?
Geef 2 voordelen van overerving.
Waarop moet je letten bij het gebruik van een klassenmethode?
Object georiënteerd programmeren in Alice
Sylvie Casteleyn
http://studwww.ugent.be/~slcastel
Herhaling
Geef 2 redenen om een eigen methode te schrijven.
Waarom gebruik je een parameter in een methode?
Geef 3 voorbeelden van soorten parameters in Alice.
Wat is een argument in een methode?
Geef het onderscheid met een parameter.
Herhaling
Wat is het verschil tussen een methode op wereldniveau en op klassenniveau?
Wat betekent overerving?
Geef 2 voordelen van overerving.
Waarop moet je letten bij het gebruik van een klassenmethode?
Oefening
Schrijf een methode skateAround waarin en schaatser schaatst naar een pinguïn en er een pirouette rondomheen maakt.
Maak gebruik van de wereld SkaterWorld.
Zichtbare en onzichtbare objecten
De eigenschap “opaciteit”
Opaciteit: doorzichtbaarheid van een voorwerp
Voorbeeld
Opaciteit van 100%: persoon
Opaciteit van 0%: glas
In Alice: een object met een opaciteit van 0% is onzichtbaar.
Aanpassen van de opaciteit
Simulatie van de reële wereld
Speciale effecten
Voorbeelden:
Het zicht op een vis die wegzwemt vervaagt.
Het langzaam verdwijnen van een titel.
De eigenschap “isShowing”
isShowing: heeft een Boolean waarde: waar(true) of vals(false)
Een object waarvan isShowing op false staat is onzichtbaar.
Voorbeeld
op het einde van een spel “You won!” of “Game Over…” op het scherm laten verschijnen.
Twee eigenschappen
“opaciteit” en “isShowing” zijn twee verschillende eigenschappen:
isShowing ≈ aan/uit-knop
opaciteit ≈ dimlicht
Ze zijn allebei bruikbaar om een voorwerp onzichtbaar te maken.
Je gebruikt ze best niet door elkaar.
Onzichtbare objecten
Een onzichtbaar object kan nuttig zijn als referentiepunt.
Voorbeelden:
als doel van de move-instructie
als referentiepunt voor cirkelvormige bewegingen
Oefeningen
Voeg toe aan de skaterWorld
een titelbord “The Skater World” dat langzaam verdwijnt
een aftiteling “The End…” die er onmiddellijk staat 2 seconden nadat de schaatser gedaan heeft
(Verwijder de pinguïn uit de wereld en zorg dat de schaatser toch een cirkel schaatst.)
Interactieve programma’s
Controle over de uitvoering
“Flow controle”: hoe de volgorde van de acties gecontroleerd wordt
In animatiefilmpjes wordt de volgorde van de acties vastgelegd door de programmeur.
opstellen van een verhaalbord
uitschrijven van een programma
Bij elke uitvoering worden de acties in dezelfde volgorde uitgevoerd.
Interactieve programma’s
In interactieve programma’s wordt de volgorde van de acties bepaald op het moment dat het programma loopt, “at runtime”, door de input van de gebruiker.
muisklik
indrukken van een toets
andere…
Gebeurtenissen
Bij gebruikersinput wordt een gebeurtenis gegenereerd.
Bij elke uitvoering kunnen de acties in een andere volgorde uitgevoerd worden.
Als antwoord op een gebeurtenis wordt een bepaalde actie uitgevoerd.
“Event handling” methodes
“Event handling” methode: de methode die de gebeurtenis opvangt.
Wanneer een gebeurtenis gelinkt wordt aan een methode die een actie uitvoert, wordt een gedrag gecreëerd.
Interactief programmeren
Nadenken over alle mogelijke gebeurtenissen die kunnen optreden.
Bepalen wat moet gebeuren bij een bepaalde gebeurtenis.
Methoden schrijven die de gebeurtenissen opvangen.
Gebeurtenissen linken aan die methoden.
Pas vanaf dit moment spreken we van een “event handling” methode.
Oefening 1
Bouw een air-show simulatie waarbij de gebruiker het vliegtuig kan besturen d.m.v. enkele toetsen op het toetsenbord.
Oefening 2
Een brandweerwagen werd opgeroepen om mensen te redden uit een brandend gebouw. Op elke verdieping staat een persoon. De ladder zal moeten verlengd worden zodat de personen naar de brandweerwagen kunnen klimmen.
Comments