26.07.2013 Views

Rapport Objektorienteret Pacman - Portfolio - Tommy Andersen

Rapport Objektorienteret Pacman - Portfolio - Tommy Andersen

Rapport Objektorienteret Pacman - Portfolio - Tommy Andersen

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Rapport</strong> – Objekt Orienteret <strong>Pacman</strong> spil<br />

5.3.1.2. Entiteter<br />

Selve klassediagrammet over vores entiteter. Vores entititer i spillet består af de levende objekter<br />

som kræver noget grafik og logisk behandling. Måden selve strukturen virker på er at alle objekter<br />

nedarver fra ’Interfacet’ CGameEntity således at alle underklasser er tvunget til at have metoden<br />

Draw() og Handle(). Så kort sagt er et interface blevet bestemt som alle skal overholde.<br />

Den næste klasse i arkivet er ’CGameObject’ som håndterer standard egenskaberne i et spil objekt.<br />

Dette er ting som kollision check op mod banen og bevægelse af objektet. Denne klasse er<br />

’Abstrakt’ da den indeholder en del kode og attributter i forhold til interfacet. Selve klassen kan<br />

man dog ikke oprette en instance af da den er abstrakt og kræver at et andet objekt har nedarvet og<br />

overskrevet nogle af dens metoder.<br />

Dette kan vi se på klassediagramet hvor en masse klasse objekter nedarver og overloader med deres<br />

egne metoder. Dette er ting som <strong>Pacman</strong>, Frugt, Powerup, Teleport og spøgelserne. Det smarte ved<br />

hele denne struktur er at man ved overordnet at alle klasser har Draw() og Handle() metoderne da<br />

interfacet tvinger dem ind. Dette kan man udnytte i koden og bruge når man skal tegne og opdaterer<br />

alle objekter på en gang. Så behøver man ikke spekulerer på hvilke type objekt det er, da de alle har<br />

egenskaberne fra CGameEntity.<br />

Side 35 af 50

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!