Add ref to Camp in Bus ...
- Ref to Camp in Bus. - Override arrive() in bus to notify camp. - isAllArrived() changed to implement camp.isDone(). Should be a bit faster Signed-off-by: HeshamTB <hishaminv@gmail.com>
This commit is contained in:
parent
f6209c669d
commit
d5891ad2d1
15
src/Bus.java
15
src/Bus.java
@ -2,6 +2,7 @@
|
|||||||
public class Bus extends CivilVehicle {
|
public class Bus extends CivilVehicle {
|
||||||
|
|
||||||
private String UID;
|
private String UID;
|
||||||
|
private Campaign campaign;
|
||||||
private static int numeberOfBuses;
|
private static int numeberOfBuses;
|
||||||
private final int TIME_TO_FIX = 20; //in minutes
|
private final int TIME_TO_FIX = 20; //in minutes
|
||||||
public static final int MAX_FORWARD = 900; //Meter/Min
|
public static final int MAX_FORWARD = 900; //Meter/Min
|
||||||
@ -13,6 +14,12 @@ public class Bus extends CivilVehicle {
|
|||||||
generateUID();
|
generateUID();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void arrive() {
|
||||||
|
super.arrive();
|
||||||
|
campaign.busArived(this);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getTimeToFix() {
|
public int getTimeToFix() {
|
||||||
return TIME_TO_FIX;
|
return TIME_TO_FIX;
|
||||||
@ -26,4 +33,12 @@ public class Bus extends CivilVehicle {
|
|||||||
public String getUID(){
|
public String getUID(){
|
||||||
return this.UID;
|
return this.UID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Campaign getCampaign() {
|
||||||
|
return campaign;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCampaign(Campaign campaign) {
|
||||||
|
this.campaign = campaign;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ import java.util.Date;
|
|||||||
public class Campaign {
|
public class Campaign {
|
||||||
|
|
||||||
private String UID;
|
private String UID;
|
||||||
|
private int numberOfAriivedBuses;
|
||||||
//private int housingNumber;
|
//private int housingNumber;
|
||||||
//private String name;
|
//private String name;
|
||||||
private District hotelDistrict;
|
private District hotelDistrict;
|
||||||
@ -30,6 +31,16 @@ public class Campaign {
|
|||||||
generateUID();
|
generateUID();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void busArived(Bus bus) {
|
||||||
|
if(numberOfAriivedBuses < vehicles.size())
|
||||||
|
numberOfAriivedBuses++;
|
||||||
|
//Check if it is in list before increment?
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isDone() {
|
||||||
|
return numberOfAriivedBuses == vehicles.size();
|
||||||
|
}
|
||||||
|
|
||||||
public Route getHousingToDestRoute() {
|
public Route getHousingToDestRoute() {
|
||||||
return housingToDestRoute;
|
return housingToDestRoute;
|
||||||
}
|
}
|
||||||
@ -90,7 +101,9 @@ public class Campaign {
|
|||||||
|
|
||||||
private void generateBusses(int number){
|
private void generateBusses(int number){
|
||||||
for (int i = 1; i <= number; i++) {
|
for (int i = 1; i <= number; i++) {
|
||||||
vehicles.add(new Bus());
|
Bus bus = new Bus();
|
||||||
|
vehicles.add(bus);
|
||||||
|
bus.setCampaign(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -371,8 +371,7 @@ public class MakkahCity {
|
|||||||
|
|
||||||
private static boolean isAllArrived() {
|
private static boolean isAllArrived() {
|
||||||
for (Campaign campaign : listOfCampaigns)
|
for (Campaign campaign : listOfCampaigns)
|
||||||
for (Vehicle vehicle : campaign.getVehicles())
|
if (!campaign.isDone())
|
||||||
if (!vehicle.isArrivedToDest())
|
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
Reference in New Issue
Block a user