initial commit

This commit is contained in:
Patrik Persson 2024-06-10 10:53:11 +02:00
commit 3aca31de74
40 changed files with 1701 additions and 0 deletions

View file

@ -0,0 +1,30 @@
import lift.LiftView;
import lift.Passenger;
public class OnePersonRidesLift {
public static void main(String[] args) {
final int NBR_FLOORS = 7, MAX_PASSENGERS = 4;
LiftView view = new LiftView(NBR_FLOORS, MAX_PASSENGERS);
Passenger pass = view.createPassenger();
int fromFloor = pass.getStartFloor();
int toFloor = pass.getDestinationFloor();
pass.begin(); // walk in (from left)
if (fromFloor != 0) {
view.moveLift(0, fromFloor);
}
view.openDoors(fromFloor);
pass.enterLift(); // step inside
view.closeDoors();
view.moveLift(fromFloor, toFloor); // ride lift
view.openDoors(toFloor);
pass.exitLift(); // leave lift
pass.end(); // walk out (to the right)
}
}

View file

@ -0,0 +1,21 @@
package lift;
public interface Passenger {
/** @return the floor the passenger starts at */
int getStartFloor();
/** @return the floor the passenger is going to */
int getDestinationFloor();
/** First, delay for 0..45 seconds. Then animate the passenger's walk, on the entry floor, to the lift. */
void begin();
/** Animate the passenger's walk from the entry floor into the lift. */
void enterLift();
/** Animate the passenger's walk out of the lift, to the exit floor. */
void exitLift();
/** Animate the passenger's walk, on the exit floor, out of view. */
void end();
}