Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

I denne øvingen består verdenen av objekter (asteroider og en sol) som svever fritt i rommet og et romskip med motorer som kan snurre og skyve. Alle objekter har en posisjon, fart og masse, og virker på hverandre i henhold til formelen for gravitasjon. Romskipet har i tillegg vinkelfart og mulighet for å fyre av motorer bak (dytter) og på siden (snurrer).

Del 1 - rom-objekter

 

Det er i hovedsak to typer rom-objekter, de som svever fritt (planeter, asteroider og stjerner) og romskipet, som har motorkraft. Det som er felles for alle rom-objektene ønsker vi å samle i superklassen SpaceObject, som de to mer spesialiserte typene Asteroid og SpaceShip arver fra. Dette er illustrert i diagrammet til høyre.
PlantUML Macro
class SpaceObject {
	position
 	speed
	mass
}
class Asteroid {
	density
	radius
}
class SpaceShip {
	angleSpeed
}
SpaceObject <|-- Asteroid
SpaceObject <|-- SpaceShip
PlantUML Macro
class Polygon {
	position
}
class BaseSpaceObject {
}
class SpaceObject {
 	speed
	mass
}
Polygon <|-- BaseSpaceObject
BaseSpaceObject <|-- SpaceObject
class Asteroid {
	density
	radius
}
class SpaceShip {
	angleSpeed
}
SpaceObject <|-- Asteroid
SpaceObject <|-- SpaceShip