public class Facade
extends java.lang.Object
implements asteroids.part3.facade.IFacade
| Constructor and Description |
|---|
Facade() |
| Modifier and Type | Method and Description |
|---|---|
void |
addAsteroidToWorld(World world,
Asteroid asteroid)
Add
asteroid to world. |
void |
addBulletToWorld(World world,
Bullet bullet)
Add
bullet to world. |
void |
addPlanetoidToWorld(World world,
Planetoid planetoid)
Add
planetoid to world. |
void |
addShipToWorld(World world,
Ship ship)
Add
ship to world. |
Asteroid |
createAsteroid(double x,
double y,
double xVelocity,
double yVelocity,
double radius)
ASTEROID: Basic methods
|
Bullet |
createBullet(double x,
double y,
double velocityX,
double velocityY,
double radius)
BULLET: Basic methods
|
Planetoid |
createPlanetoid(double x,
double y,
double xVelocity,
double yVelocity,
double radius,
double totalTraveledDistance)
PLANETOID: Basic methods
|
asteroids.part3.programs.IProgramFactory<?,?,?,? extends Program> |
createProgramFactory()
Creates a new program factory.
|
Ship |
createShip()
SHIP: Basic methods
|
Ship |
createShip(double positionX,
double positionY,
double velocityX,
double velocityY,
double radius,
double angle)
This method is deprecated; you should not implement nor use it.
|
Ship |
createShip(double x,
double y,
double xVelocity,
double yVelocity,
double radius,
double direction,
double mass)
Create a new non-null ship with the given position, velocity, radius,
direction and mass.
|
World |
createWorld(double width,
double height)
WORLD: Basic methods
|
void |
evolve(World world,
double dt,
asteroids.part2.CollisionListener collisionListener)
Advance
world by dt |
java.util.List<java.lang.Object> |
executeProgram(Ship ship,
double dt)
Execute the program loaded on the given ship during the given period of
time.
|
void |
fireBullet(Ship ship)
ship fires a bullet. |
double |
getAsteroidMass(Asteroid asteroid)
Return the mass of
asteroid. |
double[] |
getAsteroidPosition(Asteroid asteroid)
Return the position of
asteroid as an array containing the
x-coordinate, followed by the y-coordinate. |
double |
getAsteroidRadius(Asteroid asteroid)
Return the radius of
asteroid. |
double[] |
getAsteroidVelocity(Asteroid asteroid)
Return the velocity of
asteroid as an array containing the
velocity along the X-axis, followed by the velocity along the Y-axis. |
World |
getAsteroidWorld(Asteroid asteroid)
Return the world in which
asteroid is positioned. |
double |
getBulletMass(Bullet bullet)
Return the mass of
bullet. |
double[] |
getBulletPosition(Bullet bullet)
Return the position of
ship as an array containing the
x-coordinate, followed by the y-coordinate. |
double |
getBulletRadius(Bullet bullet)
Return the radius of
bullet. |
Ship |
getBulletShip(Bullet bullet)
Return the ship in which
bullet is positioned. |
java.util.Set<? extends Bullet> |
getBulletsOnShip(Ship ship)
SHIP: Methods related to loaded bullets
|
Ship |
getBulletSource(Bullet bullet)
Return the ship that fired
bullet. |
double[] |
getBulletVelocity(Bullet bullet)
Return the velocity of
ship as an array containing the
velocity along the X-axis, followed by the velocity along the Y-axis. |
World |
getBulletWorld(Bullet bullet)
Return the world in which
bullet is positioned. |
double[] |
getCollisionPosition(Ship ship1,
Ship ship2)
Return the first position where
ship1 and ship2
collide, or null if they never collide. |
double |
getDistanceBetween(Ship ship1,
Ship ship2)
Return the distance between
ship1 and ship2. |
java.util.Set<? extends java.lang.Object> |
getEntities(World world)
Return a set of all the entities in the given world.
|
java.lang.Object |
getEntityAt(World world,
double x,
double y)
Return the entity at the given
position in the given
world. |
int |
getNbBulletsOnShip(Ship ship)
Return the number of bullets loaded on
ship. |
int |
getNbStudentsInTeam()
ADMINISTRATIVE STUFF
|
double |
getPlanetoidMass(Planetoid planetoid)
Return the mass of
planetoid. |
double[] |
getPlanetoidPosition(Planetoid planetoid)
Return the position of
planetoid as an array containing the
x-coordinate, followed by the y-coordinate. |
double |
getPlanetoidRadius(Planetoid planetoid)
Return the radius of
planetoid. |
double |
getPlanetoidTotalTraveledDistance(Planetoid planetoid)
Return the total traveled distance of
planetoid. |
double[] |
getPlanetoidVelocity(Planetoid planetoid)
Return the velocity of
planetoid as an array containing the
velocity along the X-axis, followed by the velocity along the Y-axis. |
World |
getPlanetoidWorld(Planetoid planetoid)
Return the world in which
planetoid is positioned. |
double[] |
getPositionCollisionBoundary(java.lang.Object object)
Return the first position at which the given entity will collide with the
boundaries of its world.
|
double[] |
getPositionCollisionEntity(java.lang.Object entity1,
java.lang.Object entity2)
Return the first position at which the first entity will collide with the
second entity.
|
double[] |
getPositionNextCollision(World world)
Return the position of the first boundary collision or entity collision
that will take place in the given world.
|
double |
getShipAcceleration(Ship ship)
Return the acceleration of
ship. |
double |
getShipMass(Ship ship)
Return the total mass of
ship (i.e., including bullets
loaded onto the ship). |
double |
getShipOrientation(Ship ship)
Return the orientation of
ship (in radians). |
double[] |
getShipPosition(Ship ship)
Return the position of
ship as an array of length 2, with the
x-coordinate at index 0 and the y-coordinate at index 1. |
Program |
getShipProgram(Ship ship)
PROGRAMS
|
double |
getShipRadius(Ship ship)
Return the radius of
ship. |
double[] |
getShipVelocity(Ship ship)
METHODS PART 1
|
World |
getShipWorld(Ship ship)
Return the world of
ship. |
double |
getTimeCollisionBoundary(java.lang.Object object)
COLLISIONS
|
double |
getTimeCollisionEntity(java.lang.Object entity1,
java.lang.Object entity2)
Return the shortest time in which the first entity will collide with the
second entity.
|
double |
getTimeNextCollision(World world)
Return the time that must pass before a boundary collision or an entity
collision will take place in the given world.
|
double |
getTimeToCollision(Ship ship1,
Ship ship2)
Return the number of seconds until the first collision between
ship1 and ship2, or Double.POSITIVE_INFINITY if
they never collide. |
java.util.Set<? extends Asteroid> |
getWorldAsteroids(World world)
WORLD: Asteroids and planetoids
|
java.util.Set<? extends Bullet> |
getWorldBullets(World world)
Return all bullets located in
world. |
java.util.Set<? extends Planetoid> |
getWorldPlanetoids(World world)
Return all planetoids located in
world. |
java.util.Set<? extends Ship> |
getWorldShips(World world)
Return all ships located within
world. |
double[] |
getWorldSize(World world)
Return the size of
world as an array containing the width,
followed by the height. |
boolean |
isShipThrusterActive(Ship ship)
Return whether
ship's thruster is active. |
boolean |
isTerminatedAsteroid(Asteroid asteroid)
Check whether
asteroid is terminated. |
boolean |
isTerminatedBullet(Bullet bullet)
Check whether
bullet is terminated. |
boolean |
isTerminatedPlanetoid(Planetoid planetoid)
Check whether
planetoid is terminated. |
boolean |
isTerminatedShip(Ship ship)
Check whether
ship is terminated. |
boolean |
isTerminatedWorld(World world)
Check whether
world is terminated. |
void |
loadBulletOnShip(Ship ship,
Bullet bullet)
Load
bullet on ship. |
void |
loadBulletsOnShip(Ship ship,
java.util.Collection<Bullet> bullets)
Load
bullet on ship. |
void |
loadProgramOnShip(Ship ship,
Program program)
Load the given program on the given ship.
|
void |
move(Ship ship,
double dt)
This method is deprecated; you should not implement nor use it.
|
boolean |
overlap(Ship ship1,
Ship ship2)
Check whether
ship1 and ship2 overlap. |
void |
removeAsteroidFromWorld(World world,
Asteroid asteroid)
Remove
asteroid from world. |
void |
removeBulletFromShip(Ship ship,
Bullet bullet)
Remove
ship from ship. |
void |
removeBulletFromWorld(World world,
Bullet bullet)
Remove
ship from world. |
void |
removePlanetoidFromWorld(World world,
Planetoid planetoid)
Remove
planetoid from world. |
void |
removeShipFromWorld(World world,
Ship ship)
Remove
ship from world. |
void |
setThrusterActive(Ship ship,
boolean active)
Enables or disables
ship's thruster depending on the value
of the parameter active. |
void |
terminateAsteroid(Asteroid asteroid)
Terminate
asteroid. |
void |
terminateBullet(Bullet bullet)
Terminate
bullet. |
void |
terminatePlanetoid(Planetoid planetoid)
Terminate
planetoid. |
void |
terminateShip(Ship ship)
Terminate
ship. |
void |
terminateWorld(World world)
Terminate
world. |
void |
thrust(Ship ship,
double amount)
This method is deprecated; you should not implement nor use it.
|
void |
turn(Ship ship,
double angle)
Update the direction of
ship by adding angle
(in radians) to its current direction. |
public Ship createShip() throws asteroids.util.ModelException
createShip in interface asteroids.part1.facade.IFacadeasteroids.util.ModelExceptionpublic Ship createShip(double positionX, double positionY, double velocityX, double velocityY, double radius, double angle) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadecreateShip in interface asteroids.part1.facade.IFacadeasteroids.util.ModelExceptionpublic Ship createShip(double x, double y, double xVelocity, double yVelocity, double radius, double direction, double mass) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeasteroids.util.ModelExceptionpublic void terminateShip(Ship ship) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeship.asteroids.util.ModelExceptionpublic boolean isTerminatedShip(Ship ship) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeship is terminated.asteroids.util.ModelExceptionpublic double getShipMass(Ship ship) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeship (i.e., including bullets
loaded onto the ship).asteroids.util.ModelExceptionpublic World getShipWorld(Ship ship) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeship.asteroids.util.ModelExceptionpublic boolean isShipThrusterActive(Ship ship) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeship's thruster is active.asteroids.util.ModelExceptionpublic void setThrusterActive(Ship ship, boolean active) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeship's thruster depending on the value
of the parameter active.asteroids.util.ModelExceptionpublic double getShipAcceleration(Ship ship) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeship.asteroids.util.ModelExceptionpublic void move(Ship ship, double dt) throws asteroids.util.ModelException
asteroids.part2.facade.IFacademove in interface asteroids.part1.facade.IFacadeasteroids.util.ModelExceptionpublic Bullet createBullet(double x, double y, double velocityX, double velocityY, double radius) throws asteroids.util.ModelException
asteroids.util.ModelExceptionpublic void terminateBullet(Bullet bullet) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadebullet.asteroids.util.ModelExceptionpublic boolean isTerminatedBullet(Bullet bullet) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadebullet is terminated.asteroids.util.ModelExceptionpublic double[] getBulletPosition(Bullet bullet) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeship as an array containing the
x-coordinate, followed by the y-coordinate.asteroids.util.ModelExceptionpublic double[] getBulletVelocity(Bullet bullet) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeship as an array containing the
velocity along the X-axis, followed by the velocity along the Y-axis.asteroids.util.ModelExceptionpublic double getBulletRadius(Bullet bullet) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadebullet.asteroids.util.ModelExceptionpublic double getBulletMass(Bullet bullet) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadebullet.asteroids.util.ModelExceptionpublic World getBulletWorld(Bullet bullet) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadebullet is positioned.
This method must return null if a bullet is not positioned in a world, or
if it is positioned on a ship.asteroids.util.ModelExceptionpublic Ship getBulletShip(Bullet bullet) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadebullet is positioned.
This method must return null if a bullet is not positioned on a ship.asteroids.util.ModelExceptionpublic Ship getBulletSource(Bullet bullet) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadebullet.asteroids.util.ModelExceptionpublic World createWorld(double width, double height) throws asteroids.util.ModelException
asteroids.util.ModelExceptionpublic void terminateWorld(World world) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeworld.asteroids.util.ModelExceptionpublic boolean isTerminatedWorld(World world) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeworld is terminated.asteroids.util.ModelExceptionpublic double[] getWorldSize(World world) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeworld as an array containing the width,
followed by the height.asteroids.util.ModelExceptionpublic java.util.Set<? extends Ship> getWorldShips(World world) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeworld.asteroids.util.ModelExceptionpublic java.util.Set<? extends Bullet> getWorldBullets(World world) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeworld.asteroids.util.ModelExceptionpublic void addShipToWorld(World world, Ship ship) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeship to world.asteroids.util.ModelExceptionpublic void removeShipFromWorld(World world, Ship ship) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeship from world.asteroids.util.ModelExceptionpublic void addBulletToWorld(World world, Bullet bullet) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadebullet to world.asteroids.util.ModelExceptionpublic void removeBulletFromWorld(World world, Bullet bullet) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeship from world.asteroids.util.ModelExceptionpublic java.util.Set<? extends Bullet> getBulletsOnShip(Ship ship) throws asteroids.util.ModelException
asteroids.util.ModelExceptionpublic int getNbBulletsOnShip(Ship ship) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeship.asteroids.util.ModelExceptionpublic void loadBulletOnShip(Ship ship, Bullet bullet) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadebullet on ship.asteroids.util.ModelExceptionpublic void loadBulletsOnShip(Ship ship, java.util.Collection<Bullet> bullets) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadebullet on ship.
For students working alone, this method must not do anything.asteroids.util.ModelExceptionpublic void removeBulletFromShip(Ship ship, Bullet bullet) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeship from ship.asteroids.util.ModelExceptionpublic void fireBullet(Ship ship) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeship fires a bullet.asteroids.util.ModelExceptionpublic double[] getShipPosition(Ship ship) throws asteroids.util.ModelException
asteroids.part1.facade.IFacadeship as an array of length 2, with the
x-coordinate at index 0 and the y-coordinate at index 1.getShipPosition in interface asteroids.part1.facade.IFacadeasteroids.util.ModelExceptionpublic double getTimeCollisionBoundary(java.lang.Object object)
throws asteroids.util.ModelException
asteroids.util.ModelExceptionpublic double[] getPositionCollisionBoundary(java.lang.Object object)
throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeasteroids.util.ModelExceptionpublic double getTimeCollisionEntity(java.lang.Object entity1,
java.lang.Object entity2)
throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeasteroids.util.ModelExceptionpublic double[] getPositionCollisionEntity(java.lang.Object entity1,
java.lang.Object entity2)
throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeasteroids.util.ModelExceptionpublic double getTimeNextCollision(World world) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeasteroids.util.ModelExceptionpublic double[] getPositionNextCollision(World world) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeasteroids.util.ModelExceptionpublic void evolve(World world, double dt, asteroids.part2.CollisionListener collisionListener) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeworld by dt seconds.
To enable explosions within the UI, notify collisionListener
whenever an entity collides with a boundary or another entity during this
method. collisionListener may be null. If
collisionListener is null, do not call its
notify methods.asteroids.util.ModelExceptionpublic java.lang.Object getEntityAt(World world, double x, double y) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeposition in the given
world.asteroids.util.ModelExceptionpublic java.util.Set<? extends java.lang.Object> getEntities(World world) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadeasteroids.util.ModelExceptionpublic void thrust(Ship ship, double amount) throws asteroids.util.ModelException
asteroids.part2.facade.IFacadethrust in interface asteroids.part1.facade.IFacadeasteroids.util.ModelExceptionpublic double[] getShipVelocity(Ship ship) throws asteroids.util.ModelException
getShipVelocity in interface asteroids.part1.facade.IFacadeasteroids.util.ModelExceptionpublic double getShipRadius(Ship ship) throws asteroids.util.ModelException
asteroids.part1.facade.IFacadeship.getShipRadius in interface asteroids.part1.facade.IFacadeasteroids.util.ModelExceptionpublic double getShipOrientation(Ship ship) throws asteroids.util.ModelException
asteroids.part1.facade.IFacadeship (in radians).getShipOrientation in interface asteroids.part1.facade.IFacadeasteroids.util.ModelExceptionpublic void turn(Ship ship, double angle) throws asteroids.util.ModelException
asteroids.part1.facade.IFacadeship by adding angle
(in radians) to its current direction. angle may be
negative.turn in interface asteroids.part1.facade.IFacadeasteroids.util.ModelExceptionpublic double getDistanceBetween(Ship ship1, Ship ship2) throws asteroids.util.ModelException
asteroids.part1.facade.IFacadeship1 and ship2.
The absolute value of the result of this method is the minimum distance
either ship should move such that both ships are adjacent. Note that the
result must be negative if the ships overlap. The distance between a ship
and itself is 0.getDistanceBetween in interface asteroids.part1.facade.IFacadeasteroids.util.ModelExceptionpublic boolean overlap(Ship ship1, Ship ship2) throws asteroids.util.ModelException
asteroids.part1.facade.IFacadeship1 and ship2 overlap. A ship
always overlaps with itself.overlap in interface asteroids.part1.facade.IFacadeasteroids.util.ModelExceptionpublic double getTimeToCollision(Ship ship1, Ship ship2) throws asteroids.util.ModelException
asteroids.part1.facade.IFacadeship1 and ship2, or Double.POSITIVE_INFINITY if
they never collide. A ship never collides with itself.getTimeToCollision in interface asteroids.part1.facade.IFacadeasteroids.util.ModelExceptionpublic double[] getCollisionPosition(Ship ship1, Ship ship2) throws asteroids.util.ModelException
asteroids.part1.facade.IFacadeship1 and ship2
collide, or null if they never collide. A ship never
collides with itself.
The result of this method is either null or an array of length 2, where
the element at index 0 represents the x-coordinate and the element at
index 1 represents the y-coordinate.getCollisionPosition in interface asteroids.part1.facade.IFacadeasteroids.util.ModelExceptionpublic int getNbStudentsInTeam()
public java.util.Set<? extends Asteroid> getWorldAsteroids(World world) throws asteroids.util.ModelException
asteroids.util.ModelExceptionpublic void addAsteroidToWorld(World world, Asteroid asteroid) throws asteroids.util.ModelException
asteroids.part3.facade.IFacadeasteroid to world.asteroids.util.ModelExceptionpublic void removeAsteroidFromWorld(World world, Asteroid asteroid) throws asteroids.util.ModelException
asteroids.part3.facade.IFacadeasteroid from world.asteroids.util.ModelExceptionpublic java.util.Set<? extends Planetoid> getWorldPlanetoids(World world) throws asteroids.util.ModelException
asteroids.part3.facade.IFacadeworld.asteroids.util.ModelExceptionpublic void addPlanetoidToWorld(World world, Planetoid planetoid) throws asteroids.util.ModelException
asteroids.part3.facade.IFacadeplanetoid to world.asteroids.util.ModelExceptionpublic void removePlanetoidFromWorld(World world, Planetoid planetoid) throws asteroids.util.ModelException
asteroids.part3.facade.IFacadeplanetoid from world.asteroids.util.ModelExceptionpublic Asteroid createAsteroid(double x, double y, double xVelocity, double yVelocity, double radius) throws asteroids.util.ModelException
asteroids.util.ModelExceptionpublic void terminateAsteroid(Asteroid asteroid) throws asteroids.util.ModelException
asteroids.part3.facade.IFacadeasteroid.asteroids.util.ModelExceptionpublic boolean isTerminatedAsteroid(Asteroid asteroid) throws asteroids.util.ModelException
asteroids.part3.facade.IFacadeasteroid is terminated.asteroids.util.ModelExceptionpublic double[] getAsteroidPosition(Asteroid asteroid) throws asteroids.util.ModelException
asteroids.part3.facade.IFacadeasteroid as an array containing the
x-coordinate, followed by the y-coordinate.asteroids.util.ModelExceptionpublic double[] getAsteroidVelocity(Asteroid asteroid) throws asteroids.util.ModelException
asteroids.part3.facade.IFacadeasteroid as an array containing the
velocity along the X-axis, followed by the velocity along the Y-axis.asteroids.util.ModelExceptionpublic double getAsteroidRadius(Asteroid asteroid) throws asteroids.util.ModelException
asteroids.part3.facade.IFacadeasteroid.asteroids.util.ModelExceptionpublic double getAsteroidMass(Asteroid asteroid) throws asteroids.util.ModelException
asteroids.part3.facade.IFacadeasteroid.asteroids.util.ModelExceptionpublic World getAsteroidWorld(Asteroid asteroid) throws asteroids.util.ModelException
asteroids.part3.facade.IFacadeasteroid is positioned.asteroids.util.ModelExceptionpublic Planetoid createPlanetoid(double x, double y, double xVelocity, double yVelocity, double radius, double totalTraveledDistance) throws asteroids.util.ModelException
asteroids.util.ModelExceptionpublic void terminatePlanetoid(Planetoid planetoid) throws asteroids.util.ModelException
asteroids.part3.facade.IFacadeplanetoid.asteroids.util.ModelExceptionpublic boolean isTerminatedPlanetoid(Planetoid planetoid) throws asteroids.util.ModelException
asteroids.part3.facade.IFacadeplanetoid is terminated.asteroids.util.ModelExceptionpublic double[] getPlanetoidPosition(Planetoid planetoid) throws asteroids.util.ModelException
asteroids.part3.facade.IFacadeplanetoid as an array containing the
x-coordinate, followed by the y-coordinate.asteroids.util.ModelExceptionpublic double[] getPlanetoidVelocity(Planetoid planetoid) throws asteroids.util.ModelException
asteroids.part3.facade.IFacadeplanetoid as an array containing the
velocity along the X-axis, followed by the velocity along the Y-axis.asteroids.util.ModelExceptionpublic double getPlanetoidRadius(Planetoid planetoid) throws asteroids.util.ModelException
asteroids.part3.facade.IFacadeplanetoid.asteroids.util.ModelExceptionpublic double getPlanetoidMass(Planetoid planetoid) throws asteroids.util.ModelException
asteroids.part3.facade.IFacadeplanetoid.asteroids.util.ModelExceptionpublic double getPlanetoidTotalTraveledDistance(Planetoid planetoid) throws asteroids.util.ModelException
asteroids.part3.facade.IFacadeplanetoid.asteroids.util.ModelExceptionpublic World getPlanetoidWorld(Planetoid planetoid) throws asteroids.util.ModelException
asteroids.part3.facade.IFacadeplanetoid is positioned.asteroids.util.ModelExceptionpublic Program getShipProgram(Ship ship) throws asteroids.util.ModelException
asteroids.util.ModelExceptionpublic void loadProgramOnShip(Ship ship, Program program) throws asteroids.util.ModelException
asteroids.part3.facade.IFacadeasteroids.util.ModelExceptionpublic java.util.List<java.lang.Object> executeProgram(Ship ship, double dt) throws asteroids.util.ModelException
asteroids.part3.facade.IFacadeIFacade.evolve(World, double, asteroids.part2.CollisionListener) method.asteroids.util.ModelExceptionpublic asteroids.part3.programs.IProgramFactory<?,?,?,? extends Program> createProgramFactory() throws asteroids.util.ModelException
asteroids.part3.facade.IFacadeasteroids.util.ModelException