Methods of Development #3: Objecten
* Staat op USAT weblog
Vorige week Schrijf in LOGO de pseudocode voor een figuur naar keuze (met iig een lus of conditie). Maak tevens een screenshot van het resultaat.
Objecten -Encapsulatie -Overerving -(Polymorphisme)
THIS IS NOT Sten Stoutarm Dialog Dispenser Class NPC OnClick() GetDistance() Initialize() Destroy() Update()
Auto Encapsulatie
Attributen
-Encapsulatie OBJECT Gebouw ATTRIBUTES Naam Prijs IncasseringsPunten Stroomkosten * positie * grootte
-Encapsulatie OBJECT Racer ATTRIBUTES Naam Acceleratie TopSnelheid Wendbaarheid * positie * gefinished
-Encapsulatie OBJECT Bomberman ATTRIBUTES Kleur AantalBommen Powerups * positie * richting * snelheid * explosieGrootte
-Encapsulatie OBJECT Sonic ATTRIBUTES ?
Encapsulatie typedef struct _Actor { signed short xpos; // X position (worldspace) signed short ypos; // Y position (worldspace) unsigned char size; // Width of the sprite unsigned char frame; // Current frame in the animation unsigned char flip; // Enabled when the sprite needs to be mirrored unsigned char oam; // OAM index, sorted unsigned short tile; // Tile index unsigned short startlocation[2]; // Location before moving unsigned short destination[2]; // Destination when moving unsigned char speed; // Animation speed; unsigned char currentevent; // Current event unsigned char eventstate; // State of the event unsigned long eventtime; // Event timer unsigned long signtime; // Sign time unsigned char initiate; // Whether the actor has to start a new event or not unsigned char trigger; // Event trigger unsigned char **idle; // Idle animation unsigned char idleframes; // Number of frames in idle animation unsigned char attitude; // Attitude to Brad unsigned char effectradius; // Visibility radius (to see if an action has effect on others) unsigned char item; // Current item the actor is using (for dropping) } Actor;
Overerving
-Overerving OBJECT Windtrap EXTENDS Gebouw ATTRIBUTES StroomCapaciteit OBJECT Rafinaderij EXTENDS Gebouw ATTRIBUTES SpecieCapaciteit AantalHarvesters OBJECT Gebouw ATTRIBUTES Naam Prijs HitPoints Stroomkosten
-Overerving OBJECT Racer ATTRIBUTES Naam Acceleratie TopSnelheid Wendbaarheid OBJECT Speler EXTENDS Racer ATTRIBUTES ControllerNummer PowerUp AantalMuntjes OBJECT CPU EXTENDS Racer ATTRIBUTES AI_Patroon
-Overerving OBJECT Speler EXTENDS Bomberman ATTRIBUTES ControllerNummer OBJECT CPU EXTENDS Bomberman ATTRIBUTES AI_Patroon MoeilijkheidsGraad OBJECT Bomberman ATTRIBUTES Kleur AantalBommen Powerups
-Overerving OBJECT Sonic ATTRIBUTES ? OBJECT Tails EXTENDS Sonic ATTRIBUTES ? OBJECT Knuckles EXTENDS Sonic ATTRIBUTES ?
Methoden
-Methoden OBJECT Gebouw ATTRIBUTES Naam Prijs HitPoints Stroomkosten METHODS Build Destroy Sell
-Methoden OBJECT Racer ATTRIBUTES Naam Acceleratie TopSnelheid Wendbaarheid METHODS Drift GebruikVoorwerp GlijdtUit
-Methoden OBJECT Bomberman ATTRIBUTES Kleur AantalBommen Powerups METHODS LegBom GebruikPowerUp Sterf
-Methoden OBJECT Sonic ATTRIBUTES ? METHODS ?
Polymorphisme
Tentamen Het tentamen gaat over dit college, zorg dus dat je goed onderscheid kan maken tussen attributen en methoden, en dat je begrijpt wat overerving inhoudt. * Week 49
Eindopdracht De eindopdracht houdt in dat je mij een link stuurt naar de twee vorige huiswerkopdrachten. Ik verwacht daarbij de volgende uitbreidingen: Opdracht 1: aanvullen met dingen die je gehoord hebt in het college en specificeren met welke andere discipline je het meest denkt samen te werken. Opdracht 2: naast een procedurele tekening (gebruikmakend van ‘repeat’) verwacht ik ook een doelgerichte (zie slide met sneeuwpop, alien, etc). (dinsdag 7 december)
OOP I did it again
* Als je ook zo’n liedje maakt over de inhoud van Methods of Development dan heb je automatisch een voldoende voor de eindopdracht =)