protected int m_nbClients; //Le nombre de clients (passagers ou marchandises) dans l'avion /**Constructeur * p_posDepart: la position de départ * p_posActuelle: la position actuelle * p_posDestination: la position de destination * p_temps: le temps avant le prochain etat * p_vehicule: le véhicule qui contient l'etat */ public Aller(PosCarte p_posDepart, PosCarte p_posActuelle, PosCarte p_posDestination, int p_nbClients, int p_temps, Vehicule p_vehicule) : base(p_posDepart, p_posActuelle, p_posDestination, p_temps, p_vehicule) //Constructeur { m_nbClients = p_nbClients; }
/**Créer un Etat d'AllerRetour sans intensité * p_posDepart: la position de départ * p_posActuelle: la position actuelle * p_posDestination: la position de destination * p_temps: le temps avant le prochain etat * p_surplus: le temps de surplus * p_vehicule: le véhicule qui contient l'etat */ public AllerRetour creerAllerRetour(PosCarte p_posDepart, PosCarte p_posActuelle, PosCarte p_posDestination, int p_temps, int p_surplus, Vehicule p_vehicule) { return(new AllerRetour(p_posDepart, p_posActuelle, p_posDestination, p_temps - p_surplus, 1, p_vehicule)); }
/**Créer un Etat d'observation * p_posDepart: la position de départ * p_posActuelle: la position actuelle * p_posDestination: la position de destination * p_temps: le temps avant le prochain etat * p_surplus: le temps de surplus * p_vehicule: le véhicule qui contient l'etat */ public Observer creerObserver(PosCarte p_posDepart, PosCarte p_posActuelle, PosCarte p_posDestination, int p_temps, int p_surplus, Vehicule p_vehicule) { return(new Observer(p_posDepart, p_posActuelle, p_posDestination, p_temps - p_surplus, p_vehicule)); }
/**Créer un Etat de d'embarquement * p_temps: le temps avant le prochain etat * p_surplus: le temps de surplus * p_vehicule: le véhicule qui contient l'etat */ public Embarquement creerEmbarquement(int p_temps, int p_surplus, Vehicule p_vehicule) { return(new Embarquement(p_temps - p_surplus, p_vehicule)); }
/**Créer un Etat de débarquement * p_nbClients: le nombre de clients à bord * p_temps: le temps avant le prochain etat * p_surplus: le temps de surplus * p_vehicule: le véhicule qui contient l'etat */ public Debarquement creerDebarquement(int p_nbClients, int p_temps, int p_surplus, Vehicule p_vehicule) { return(new Debarquement(p_nbClients, p_temps - p_surplus, p_vehicule)); }
public void ajouterVehicule(Vehicule p_vehicule) //Ajouter le véhicule dans l'aéroport { m_vehicules.Add(p_vehicule); p_vehicule.Aeroport = this; p_vehicule.PositionCarte = this.Pos; }
/**Créer un Etat de Hangar * p_vehicule: le véhicule qui contient l'etat */ public Hangar creerHangar(Vehicule p_vehicule) { return(new Hangar(0, p_vehicule)); }
protected int m_nbClients; //Le nombre de clients (passagers ou marchandises) dans l'avion /**Constructeur * p_nbClients: le nombre de clients à bord * p_temps: le temps avant le prochain Etat * p_vehicule: référence au véhicule qui contient l'état */ public Debarquement(int p_nbClients, int p_temps, Vehicule p_vehicule) : base(p_temps, p_vehicule) //Constructeur { m_nbClients = p_nbClients; }
PosCarte m_depart; //La coordonnée de départ /**Constructeur * p_temps: le temps avant le prochain Etat * p_vehicule: référence au véhicule qui contient l'état */ public Embarquement(int p_temps, Vehicule p_vehicule) : base(p_temps, p_vehicule) //Constructeur { }
/**Constructeur * p_temps: le temps avant le prochain Etat * p_vehicule: référence au véhicule qui contient l'état */ public Maintenance(int p_temps, Vehicule p_vehicule) : base(p_temps, p_vehicule) //Constructeur { }
/**Constructeur * p_posDepart: la position de départ * p_posActuelle: la position actuelle * p_posDestination: la position de destination * p_temps: le temps avant le prochain etat * p_vehicule: le véhicule qui contient l'etat */ public AllerRetour(PosCarte p_posDepart, PosCarte p_posActuelle, PosCarte p_posDestination, int p_temps, Vehicule p_vehicule) : base(p_posDepart, p_posActuelle, p_posDestination, p_temps, p_vehicule) //Constructeur { m_posDestination = p_posDestination; m_compteur = 1; }
/**Constructeur * p_temps: le temps avant le prochain Etat * p_vehicule: référence au véhicule qui contient l'état */ public Hangar(int p_temps, Vehicule p_vehicule) : base(p_temps, p_vehicule) { }
public void transfererVehicule(Vehicule p_vehicule, PosCarte p_posAero) //Transférer le véhicule entre aéroports { Aeroport aeroport = aeroportCorrespondant(p_posAero); aeroport.ajouterVehicule(p_vehicule); }
protected Vehicule m_vehicule; //Associé à quel véhicule /**Constructeur * p_temps: le temps avant le prochain Etat * p_vehicule: référence au véhicule qui contient l'état */ public Etat(int p_temps, Vehicule p_vehicule) { m_temps = p_temps; m_vehicule = p_vehicule; m_surplus = 0; }
protected PosCarte m_posDestination; //La coordonnée de destination /**Constructeur d'un Etat de vol * p_posDepart: la position de départ * p_posActuelle: la position actuelle * p_posDestination: la position de destination * p_temps: le temps restant au vol * p_vehicule: référence au véhicule */ public Vol(PosCarte p_posDepart, PosCarte p_posActuelle, PosCarte p_posDestination, int p_temps, Vehicule p_vehicule) : base(p_temps, p_vehicule) { m_posDepart = p_posDepart; m_posActuelle = p_posActuelle; m_posDestination = p_posDestination; }
/**Créer un Etat de maintenance * p_temps: le temps avant le prochain etat * p_surplus: le temps de surplus * p_vehicule: le véhicule qui contient l'etat */ public Maintenance creerMaintenance(int p_temps, int p_surplus, Vehicule p_vehicule) { return(new Maintenance(p_temps - p_surplus, p_vehicule)); }
protected string statut; //Variable contrôle d'aller retour /**Constructeur * p_posDepart: la position de départ * p_posActuelle: la position actuelle * p_posDestination: la position de destination * p_temps: le temps avant le prochain etat * p_vehicule: le véhicule qui contient l'etat */ public Observer(PosCarte p_posDepart, PosCarte p_posActuelle, PosCarte p_posDestination, int p_temps, Vehicule p_vehicule) : base(p_posDepart, p_posActuelle, p_posDestination, p_temps, p_vehicule) { statut = "aller"; }
public void transfererVehicule(Vehicule p_vehicule, PosCarte p_posAero) //Transférer le véhicule entre aéroports { m_scenario.transfererVehicule(p_vehicule, p_posAero); m_vehicules.Remove(p_vehicule); }