PacMan
Gammel øving. Brukt som eksempel i forelesning høsten 2003.
PacMan er et enkelt brettspill. Oppgaven er å designe og modellere
spillet ved hjelp av UML.
Figur 1, Skjermbilde fra en tekst-basert
PacMan.
En kort beskrivelse av programmet:
- Figur 1 er et godt utgangspunkt for å forstå hva som skjer. Spillet består
av to "PacMan" (P1 og P2) som kan beveges på et brett. Disse styres fra tastaturet
med h.h.v. piler og bokstaver. PacMan P1 beveges med pilene, mens PacMan P2
beveges med bokstavene "U","D","L" og "R" for Up, Down, Left og Right.
- På brettet befinner det seg også mat som PacMan'ene spiser. Maten er enten
rund (s), firkantet (f) eller triangulær (t).Hver PacMan sanker poeng ved å
spise mat. Når en PacMan går over mat, spiser den maten, og øker sine poeng
tilsvarende som matens verdi: sirkel=30, firkant = 40, trekant= 50.
Begge PacMan starter med 0 poeng.
- Maten blir laget av såkalte matprodusenter. Disse beveger seg også rundt på
brettet. Matprodusentene er gjengitt med samme bokstav som maten de produserer,
bare med store bokstaver (S, F og T). Vurder selv hvor mye mat det bør være på
brettet (hvor ofte produsentene skal produsere). Maten blir liggende i ro på brettet
der hvor produsenten laget den.
- En Pacman vinner når den har oppnåd en viss poengsum.
- En Pacman kan ikke stå i samme rute som en annen Pacman eller matprodusent. Vurder
selv hva som skjer når en Pacman møter veggen...
Oppgavene som følger skal leveres som utskrifter fra Rational Rose:
- Tegn klassediagrammet for spillet som en områdemodell, dvs. uten metoder, men
med assosiasjoner.
- Fra figur 1: Tegn objektene som befinner seg i minnet i gitt øyeblikk.
- Tegn sekvensdiagram ("sequense diagram" = "interaction diagram") og samhandlingsdiagram
("collaboration diagram") for følgende scenario. (Merk: I Rational Rose kan
samhandlingsdiagramet generes automatisk fra sekvensdiagrammet):
- En Pacman får beskjed om å flytte seg ett steg opp og to til venstre.
- En Pacman får beskjed om å flytte seg ett steg til venstre og ett steg ned. Der
havner den i samme rute som en mat t.
- En Pacman står helt til høyre på brettet. Den får beskjed om å flytte seg et steg til
høyre.
- Matprodusent F produserer en mat.
- En Pacman får beskjed om å flytte seg et steg ned. Der står en annen Pacman.
- Tegn et fullstendig klassediagram for spillet.
Avslutter med to oppgaver som skal beskrives med tekst (leveres sammen med utskriftene fra Rose):
- Beskriv hver klasse og forholdet mellom dem.
- Noter mulige problemområder du har merket deg gjennom arbeidet med designet. Ta også med
egne avklaringer du har måttet gjøre.
Last modified: Thu Sep 18 11:27:16 MEST 2003