am making a Elevator SImulation. I have to make this code using scenebuilder and javafx. This is the code I have how can I turn this to code I need in scene builder. The SceneBuilder should have 4 different types of passenger and elevator. And the building they are in need to have 30 floors. Any help is appreciated This what I could to think off public class SimulatorSettings { SimulatorSettings(String fileName){ } private int nofloors;
Help, I am making a Elevator SImulation. I have to make this code using scenebuilder and javafx. This is the code I have how can I turn this to code I need in scene builder. The SceneBuilder should have 4 different types of passenger and elevator. And the building they are in need to have 30 floors. Any help is appreciated
This what I could to think off
public class SimulatorSettings {
SimulatorSettings(String fileName){
}
private int nofloors;
public int getNofloors() {
return nofloors;
}
public void setNofloors(int nofloors) {
this.nofloors = nofloors;
}
}
import java.util.Random;
public abstract class Passenger {
public static int passengerCounter = 0;
private String passengerID;
protected int startFloor;
protected int endFloor;
Passenger() {
this.passengerID = "" + passengerCounter;
passengerCounter++;
}
public abstract boolean requestElevator(SimulatorSettings settings);
}
class StandardPassenger extends Passenger {
public StandardPassenger() {
super();
}
@Override
public boolean requestElevator(SimulatorSettings settings) {
Random rand = new Random();
this.startFloor = rand.nextInt(settings.getNofloors());
this.endFloor = rand.nextInt(settings.getNofloors());
while (this.startFloor == this.endFloor) {
this.endFloor = rand.nextInt(settings.getNofloors());
}
return true;
}
}
class VIPPassenger extends Passenger {
public VIPPassenger() {
super();
}
@Override
public boolean requestElevator(SimulatorSettings settings) {
// Request an express elevator
int expressElevator = settings.getNofloors() / 2;
this.startFloor = expressElevator;
this.endFloor = expressElevator;
return true;
}
}
class FreightPassenger extends Passenger {
public FreightPassenger() {
super();
}
@Override
public boolean requestElevator(SimulatorSettings settings) {
Random rand = new Random();
this.startFloor = rand.nextInt(settings.getNofloors());
this.endFloor = rand.nextInt(settings.getNofloors());
while (this.startFloor == this.endFloor) {
this.endFloor = rand.nextInt(settings.getNofloors());
}
return true;
}
}
class GlassPassenger extends Passenger {
public GlassPassenger() {
super();
}
@Override
public boolean requestElevator(SimulatorSettings settings) {
Random rand = new Random();
this.startFloor = rand.nextInt(settings.getNofloors());
this.endFloor = rand.nextInt(settings.getNofloors());
while (this.startFloor == this.endFloor) {
this.endFloor = rand.nextInt(settings.getNofloors());
}
return true;
}
}
public abstract class Elevator{
private int currentFloor;
private int maxCapacity;
private int passengersCount;
public Elevator(int maxCapacity) {
this.currentFloor = 0; // assuming initial floor is 0
this.maxCapacity = maxCapacity;
this.passengersCount = 0;
}
public abstract void moveUp();
public abstract void moveDown();
public abstract void addPassenger(Passenger passenger);
public abstract void removePassenger(Passenger passenger);
}
class StandardElevator extends Elevator{
public StandardElevator() {
super(10); // max capacity is 10 for StandardElevator
}
@Override
public void moveUp() {
// implementation for moving up for StandardElevator
}
@Override
public void moveDown() {
// implementation for moving down for StandardElevator
}
@Override
public void addPassenger(Passenger passenger) {
// implementation for adding passenger to StandardElevator
}
@Override
public void removePassenger(Passenger passenger) {
// implementation for removing passenger from StandardElevator
}
}
class ExpressElevator extends Elevator{
public ExpressElevator() {
super(8); // max capacity is 8 for ExpressElevator
}
@Override
public void moveUp() {
// implementation for moving up for ExpressElevator
}
@Override
public void moveDown() {
// implementation for moving down for ExpressElevator
}
@Override
public void addPassenger(Passenger passenger) {
// implementation for adding passenger to ExpressElevator
}
@Override
public void removePassenger(Passenger passenger) {
// implementation for removing passenger from ExpressElevator
}
}
public class SimulatorSettings {
private int nofloors;
private int noExpressElevators;
public SimulatorSettings(int nofloors, int noExpressElevators) {
this.nofloors = nofloors;
this.noExpressElevators = noExpressElevators;
}
public int getNofloors() {
return nofloors;
}
public int getNoExpressElevators() {
return noExpressElevators;
}
}


Trending now
This is a popular solution!
Step by step
Solved in 3 steps









