protected Aeroport m_aeroport; //Référence à l'aeroport /**Constructeur de véhicule * p_nom: le nom du véhicule * p_KMH: la vitesse de déplacement du véhicule * p_tempsMaintenance: le temps de maintenance du véhicule * p_couleur: la couleur de la ligne à l'affichage * p_posAeroport: position de l'aeroport qui le contient * p_scenario: référence sur le scenario * p_aeroport: référence sur l'aeroport dans lequel il est */ public Vehicule(string p_nom, int p_KMH, int p_tempsMain, Color p_couleur, PosCarte p_posAeroport, Scenario p_scenario, Aeroport p_aeroport) { m_nom = p_nom; m_KMH = p_KMH; m_tempsMaintenance = p_tempsMain; m_couleur = p_couleur; Usine usine = Usine.obtenirUsine(); m_etat = usine.creerHangar(this); m_etat.eventEtatFini += new DelegateEtatFini(ChangerEtat); m_posDepart = p_posAeroport; m_scenario = p_scenario; m_aeroport = p_aeroport; }
private Aeroport aeroportCorrespondant(PosCarte p_pos) //Trouver l'aéroport correspondant aux coordonnées { Aeroport aeroport = null; //Aéroport for (int i = 0; i < m_aeroports.Count; i++) { PosCarte posAero = m_aeroports[i].Pos; //Emplacement aéroport if ((posAero.X == p_pos.X) && (posAero.Y == p_pos.Y)) //Si c'est le même emplacement { aeroport = m_aeroports[i]; } } return(aeroport); }
private bool assignerClient(Client p_client) //Assigner le client à un aéroport proche { Aeroport AeroportProche = null; //Aéroport la plus proche int PosX = p_client.PositionX; //X du client int PosY = p_client.PositionY; //Y du client int DistancesX = 0; //Distance entre les X int DistancesY = 0; //Distance entre les Y int Distance = 0; //Distance entre le client et l'aéroport int DistanceProche = 9999999; //La distance la moins grande for (int i = 0; i < m_aeroports.Count; i++) { int PosXAeroport = m_aeroports[i].Pos.X; //X de l'aéroport int PosYAeroport = m_aeroports[i].Pos.Y; //Y de l'aéroport DistancesX = Math.Abs(PosX - PosXAeroport); DistancesY = Math.Abs(PosY - PosYAeroport); Distance = DistancesX + DistancesY; if (Distance < DistanceProche && m_aeroports[i].assignerClientPossible(p_client)) //Si moins loin { DistanceProche = Distance; AeroportProche = m_aeroports[i]; } } if ((AeroportProche != null) && (AeroportProche.assignerClientPossible(p_client))) //Si un véhicule est disponible { AeroportProche.assignerClient(p_client); return(true); } return(false); }
protected Observateur m_client; //Le client observateur /** Constructeur d'un avion observateur * p_nom: le nom du véhicule * p_KMH: la vitesse de déplacement de l'avion * p_tempsMain: le temps de maintenance * p_couleur: la couleur de la ligne à l'affichage * p_posAeroport: l'aeroport qui le contient (pour extraire ses coordonnées) * p_tempsEmb: le temps d'embarquement de l'avion * p_tempsDeb: le temps de debarquement de l'avion * p_scenario: référence sur le scenario * p_aeroport: référence sur l'aeroport dans lequel il est */ public AvionObservateur(string p_nom, int p_KMH, int p_tempsMain, PosCarte p_posAeroport, Scenario p_scenario, Aeroport p_aeroport) //Constructeur : base(p_nom, p_KMH, p_tempsMain, Color.Gray, p_posAeroport, p_scenario, p_aeroport) { }
protected ClientTransport m_client; //Le client du véhicule /** Constructeur d'un avion de transport * p_nom: le nom du véhicule * p_KMH: la vitesse de déplacement de l'avion * p_tempsMain: le temps de maintenance * p_couleur: la couleur de la ligne à l'affichage * p_posAeroport: l'aeroport qui le contient * p_tempsEmb: le temps d'embarquement de l'avion * p_tempsDeb: le temps de debarquement de l'avion * p_scenario: référence au scenario * p_aeroport: référence à l'aeroport dans lequel il est */ public AvionTransport(string p_nom, int p_KMH, int p_tempsMain, int p_tempsEmb, int p_tempsDeb, Color p_couleur, PosCarte p_posAeroport, Scenario p_scenario, Aeroport p_aeroport) //Constructeur : base(p_nom, p_KMH, p_tempsMain, p_couleur, p_posAeroport, p_scenario, p_aeroport) { m_tempsEmbarquement = p_tempsEmb; m_tempsDebarquement = p_tempsDeb; }
protected Feu m_client; //Le client Feu /** Constructeur d'un avion citerne * p_nom: le nom du véhicule * p_KMH: la vitesse de déplacement de l'avion * p_tempsMain: le temps de maintenance * p_couleur: la couleur de la ligne à l'affichage * p_posAeroport: position de l'aeroport qui le contient (pour extraire ses coordonnées) * p_tempsCharg: le temps d'embarquement de l'avion * p_tempsLarg: le temps de debarquement de l'avion * p_scenario: référence sur le scenario * p_aeroport: référence sur l'aeroport dans lequel il est */ public AvionCiterne(string p_nom, int p_KMH, int p_tempsMain, int p_tempsCharg, int p_tempsLarg, PosCarte p_posAeroport, Scenario p_scenario, Aeroport p_aeroport) : base(p_nom, p_KMH, p_tempsMain, Color.Yellow, p_posAeroport, p_scenario, p_aeroport) { m_tempsChargement = p_tempsCharg; m_tempsLargage = p_tempsLarg; }
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); }
/** Constructeur d'un avion de marchandises * p_nom: le nom du véhicule * p_KMH: la vitesse de déplacement de l'avion * p_tempsMain: le temps de maintenance * p_couleur: la couleur de la ligne à l'affichage * p_aeroport: l'aeroport qui le contient (pour extraire ses coordonnées) * p_tempsEmb: le temps d'embarquement de l'avion * p_tempsDeb: le temps de debarquement de l'avion * p_scenario: référence au scenario * p_aeroport: référence à l'aeroport dans lequel il est */ public AvionPassagers(string p_nom, int p_KMH, int p_tempsMain, int p_tempsEmb, int p_tempsDeb, PosCarte p_posAeroport, Scenario p_scenario, Aeroport p_aeroport) //Constructeur : base(p_nom, p_KMH, p_tempsMain, p_tempsEmb, p_tempsDeb, Color.Green, p_posAeroport, p_scenario, p_aeroport) { }
/** Constructeur d'un avion de marchandises * p_nom: le nom du véhicule * p_KMH: la vitesse de déplacement de l'avion * p_tempsMain: le temps de maintenance * p_couleur: la couleur de la ligne à l'affichage * p_aeroport: l'aeroport qui le contient (pour extraire ses coordonnées) * p_tempsEmb: le temps d'embarquement de l'avion * p_tempsDeb: le temps de debarquement de l'avion * p_scenario: référence au scenario * p_aeroport: référence à l'aeroport dans lequel il est */ public AvionMarchandises(string p_nom, int p_KMH, int p_tempsMain, int p_tempsEmb, int p_tempsDeb, PosCarte p_posAeroport, Scenario p_scenario, Aeroport p_aeroport) //Constructeur : base(p_nom, p_KMH, p_tempsMain, p_tempsEmb, p_tempsDeb, Color.Blue, p_posAeroport, p_scenario, p_aeroport) { }
protected Secours m_client; //Le client Secours /** Constructeur d'un hélicoptère de secours * p_nom: le nom du véhicule * p_KMH: la vitesse de déplacement de l'avion * p_tempsMain: le temps de maintenance * p_couleur: la couleur de la ligne à l'affichage * p_posAeroport: l'aeroport qui le contient (pour extraire ses coordonnées) * p_scenario: référence sur le scenario * p_aeroport: référence sur l'aeroport dans lequel il est */ public HelicoSecours(string p_nom, int p_KMH, int p_tempsMain, PosCarte p_posAeroport, Scenario p_scenario, Aeroport p_aeroport) //Constructeur : base(p_nom, p_KMH, p_tempsMain, Color.Red, p_posAeroport, p_scenario, p_aeroport) { }