Opgave: Jeg skal lave et simpelt, turbaseret 2d-spil. I dette spil styrer man en hero, som skal samle nogle objekter for at færdiggøre en bane. Undervejs bliver han jagtet af forskellige fjender. Helten kan samle power-ups og hero-objektet kan dermed indtræde i forskellige states (max ét af gangen - så undgår jeg composite). Disse states er "speed" (dobbelt hastighed), "bad trip" (omvendt styring) og "normal".
Jeg har fundet et eksempel på brug af statepattern, som dog var noget kryptisk. Her var ikke benyttet interface, som ellers er hvad jeg mener man skal til state. Idéen er at have hero-klassen, som styrer et interface der kan implementeres i de tre forskellige states.
Et almindeligt forklarende eksempel på brug af et statepattern ville være en kæmpe hjælp.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Dvs. din spil logik behøver ikke kende til detaljer om spillets tilstand.
Jeg foretrækker at implementere State pattern som en abstrak klasse hvor subklasser overskrive de metoder som er specifikke for tilstanden. Dermed kan man samle kode som er fælles for tilstande i superklassen - hvis der da er noget der er fælles :-)
Så det vil sige, at jeg selv vælger om jeg vil benytte mig af et interface eller en abstrakt klasse? Jeg har forsøgt mig lidt frem med begge dele, uden at vide hvad der var "det korrekte".
Det korrekte er det som passer bedst til dit system i dag og 4 versioner frem i tiden ;-)
Jeg må erkende at jeg ikke har prøvet at implementere State ved brug af interface løsningen. Jeg har ikke kunne se nogle fordele frem for abstrakt klasse i mine systemer.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.