Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Tutankhamons Grav Et modellerings eksempel

Lignende præsentationer


Præsentationer af emnet: "Tutankhamons Grav Et modellerings eksempel"— Præsentationens transcript:

1 Tutankhamons Grav Et modellerings eksempel
Virtuel rundvisning Tutankhamons Grav Et modellerings eksempel

2 Introducerende Objektorienteret Programmering
Vores opgave Det Egyptiske museum i Cairo har bedt os om at lave en Web-baseret præsentation af Howard Carters udgravning af Tutankhamons grav, Man skal kunne bevæge sig mellem de forskellige kamre i graven, se billeder fra udgravningen af disse kamre, samt få en detaljeret beskrivelse af det enkelte kammer. DAIMI Introducerende Objektorienteret Programmering

3 Vores Web præsentation
DAIMI Introducerende Objektorienteret Programmering

4 Introducerende Objektorienteret Programmering
Tutankhamons grav Problembeskrivelse: Ens ‘virtuelle’ jeg; kan flyttes ved angivelse af en kompasretning, e.g. “west” flytter “jeg’et” til forrummet. Annex Grav- kammer Forrum Skatkam. N Korridor Trappe (passer ikke, men hva’...) DAIMI Introducerende Objektorienteret Programmering

5 Introducerende Objektorienteret Programmering
Problemstilling I datalogien har man lært nytten af at have ”skidt for sig og snot for sig”—at skille tingene af. En af de (dyrtkøbte) erfaringer i software udvikling er vigtigheden af at skille ens program af i to dele: brugergrænseflade og interaktion med brugeren modellen (basale elementer og begreber) Vi har i dette kursus fokuseret meget stærkt på modelbyggeri! DAIMI Introducerende Objektorienteret Programmering

6 Det er jo hele tre opgaver!
Altså: Opgave 1: Et systemdesign som er en model der beskriver et antal forbundne rum samt et ’virtuelt’ jeg, som kan bevæge sig imellem rummene. Opgave 2: Et systemdesign for en brugergrænseflade som kan vise billeder, tekst og som har et redskab til navigation. Hvad er opgave 3  ? I denne lektion vil vi kigge på modellen—en senere lektion vil kigge på brugergrænsefladen. DAIMI Introducerende Objektorienteret Programmering

7 Introducerende Objektorienteret Programmering
Opgave 1: Domænet Til at løse opgave 1 bruger vi Arnow&Weiss’ udmærkede model til system-design §5: Problembeskrivelse Find primære klasser/objekter Definere opførsel og samspil (testscenarie) Realisere de enkelte klasser. Nogle bud? DAIMI Introducerende Objektorienteret Programmering

8 <<testprogram>>
UML klassediagram Er forbundet med 1 Kammer 1..4 Billede Beskrivelse 1 <<testprogram>> GravPræsentation Bevæger sig i/ befinder sig i 1 1 flytter 1 Virtuelle jeg præsenterer indtryk position Programlag DAIMI Introducerende Objektorienteret Programmering

9 Implementation, domæne...
class Room { Vector exit; public Room( ... ) { ... exit = new Vector(); exit.addElement( null ); // north exit.addElement( null ); // east exit.addElement( null ); // south exit.addElement( null ); // west public Room leadsTo( int direction ) { return (Room) exit.elementAt(direction); } Er forbundet med 1 Kammer 1..4 Billede Beskrivelse Konvention: 0 = nord, 1 = øst, 2 = syd, 3 = vest DAIMI Introducerende Objektorienteret Programmering

10 Introducerende Objektorienteret Programmering
Implementation... Forrum Annex annex Gravk. Korridor exit: Annex Grav- kammer forrum Forrum gravkammer Skatkam. Korridor korridor Trappe DAIMI Introducerende Objektorienteret Programmering

11 Introducerende Objektorienteret Programmering
Implementation Det er svært at huske sådanne talværdier: Hvad var 2? Syd eller øst? Bedre at udtrykke dem ved hjælp af konstanter: class Room { public final static int NORTH = 0; public final static int EAST = 1; public final static int SOUTH = 2; public final static int WEST = 3; } I klassen TutankhamonPresentation: public void northButtonPressed() { guest.move(Room.NORTH); } DAIMI Introducerende Objektorienteret Programmering

12 Implementation... Oprettelse af kamre og layout:
Hvad med konsistens af referencer??? Room antechamber = new Room("You are a dark room known as the antechamber. "+ "There are a lot of precious antiques here, but ...”, "tutantechamber.jpg" ); antechamber.connectTo( staircase, Room.SOUTH ); antechamber.connectTo( annex, Room.NORTH ); antechamber.connectTo( tomb, Room.EAST ); DAIMI Introducerende Objektorienteret Programmering


Download ppt "Tutankhamons Grav Et modellerings eksempel"

Lignende præsentationer


Annoncer fra Google