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.