예제 #1
0
        /// <summary>
        /// Ajoute un aéronef dans l'aéroport sélectionner
        /// </summary>
        /// <param name="nom">Nom de l'aéronef</param>
        /// <param name="type">Type de l'aéronef</param>
        /// <param name="vitesse">Vitesse de l'aéronef</param>
        /// <param name="entretien">Temps de maintenance de l'aéronef</param>
        /// <param name="charger">Temps d'embarquement de l'aéronef</param>
        /// <param name="decharger">Temps de débarquement de l'aéronef</param>
        /// <param name="change">Nombre qui représente la capacité ou le rayon de l'aéronef selon le type</param>
        /// <param name="aeroports">Nom de l'aéroport de l'aéronef</param>
        /// <returns>Retourne l'aéronef avec ses informations sous forme de texte</returns>
        public string ajouterAeronef(string nom, string type, int vitesse, int entretien, int charger, int decharger, int change, string aeroports)
        {
            PositionGeo origine = null;

            int temp = 0;

            for (int i = 0; i < listAreoport.Count; i++)
            {
                if (listAreoport[i].m_nom == aeroports)
                {
                    origine = listAreoport[i].m_localisation;
                    temp    = i;
                }
            }

            string areonef;
            string changement;

            listAreoport[temp][0] = usine.creerAvion(nom, type, vitesse, entretien, charger, decharger, change, origine);


            //Transforme l'aéronef sous forme de texte
            if ((type == "Passagers") | (type == "Marchandises"))
            {
                changement = "Capacité";
            }
            else
            {
                changement = "Rayon";
            }

            areonef = nom + "   |   (" + type + ")   |   Vitesse: " + vitesse + "   |   Temps d'entretien: " + entretien + "   |   Temps chargement: " + charger + "   |   Temps déchargement: " + decharger + "   |   " + changement + ": " + change;
            return(areonef);
        }
예제 #2
0
 /// <summary>
 /// Constructeur vide d'aeronef.
 /// </summary>
 public Aeronef()
 {
     m_nom          = "null";
     m_vitesse      = 0;
     m_tempsEnt     = 0;
     m_localisation = new PositionGeo();
     m_origine      = new PositionGeo();
 }
예제 #3
0
 /// <summary>
 /// Constructeur vide d'Aeroport
 /// </summary>
 public Areoport()
 {
     m_nom              = "null";
     m_localisation     = new PositionGeo();
     m_listAeronef      = new List <Aeronef>();
     m_achalPassager    = 0;
     m_achalMarchandise = 0;
 }
예제 #4
0
 /// <summary>
 /// Constructeur d'Aeroport
 /// </summary>
 /// <param name="p_nom">Nom de l'aeroport</param>
 /// <param name="p_achalMarchandise">Nombre représentant l'achalandage des marchandises de l'aeroport</param>
 /// <param name="p_achalPassager">Nombre représentant l'achalandage des passagers de l'aeroport</param>
 /// <param name="p_positionGeo">Position géographique de l'aeroport</param>
 public Areoport(string p_nom, int p_achalMarchandise, int p_achalPassager, TextBox p_positionGeo)
 {
     m_listAeronef      = new List <Aeronef>();
     m_nom              = p_nom;
     m_achalPassager    = p_achalPassager;
     m_achalMarchandise = p_achalMarchandise;
     m_localisation     = new PositionGeo(p_positionGeo);
     m_image            = Properties.Resources.airport;
 }
예제 #5
0
        }                                          //Localisation d'origine de l'aeronef

        /// <summary>
        /// Constructeur d'aeronef.
        /// </summary>
        /// <param name="nom">Nom de l'aeronef</param>
        /// <param name="vitesse">Vitesse de l'aeronef</param>
        /// <param name="entretien">Temps d'entretien de l'aeronef</param>
        /// <param name="origine">Point d'origine de l'aeronef</param>
        /// <param name="type">Type de l'areonef</param>
        public Aeronef(string nom, string type, int vitesse, int entretien, PositionGeo origine)
        {
            this.m_nom          = nom;
            this.m_type         = type;
            this.m_vitesse      = vitesse;
            this.m_tempsEnt     = entretien;
            this.m_localisation = null;
            this.m_origine      = origine;
        }
예제 #6
0
 /// <summary>
 /// Constructeur vide d'aeroincendie.
 /// </summary>
 public AeroIncendie() : base()
 {
     m_nom        = "null";
     m_vitesse    = 0;
     m_tempsEnt   = 0;
     this.m_dispo = true;
     m_origine    = new PositionGeo();
     m_image      = null;
     m_nbAller    = 0;
 }
예제 #7
0
 /// <summary>
 /// Constructeur vide d'AeroObservateur
 /// </summary>
 public AeroObservateur() : base()
 {
     m_nom      = "null";
     m_vitesse  = 0;
     m_tempsEnt = 0;
     m_dispo    = true;
     m_origine  = new PositionGeo();
     m_image    = null;
     m_nbAller  = 0;
     m_rayon    = 0;
 }
예제 #8
0
 /// <summary>
 /// Constructeur vide pour AeroPassager
 /// </summary>
 public AeroPassager() : base()
 {
     m_nom      = "null";
     m_vitesse  = 0;
     m_tempsEnt = 0;
     m_origine  = new PositionGeo();
     m_tempsEmb = 0;
     m_tempsDeb = 0;
     m_capacite = 0;
     m_image    = null;
 }
예제 #9
0
        Bitmap m_image; //Image de l'aeroincendie

        /// <summary>
        /// Constructeur complex AeroIncendie.
        /// </summary>
        /// <param name="nom">Nom de l'aeronef</param>
        /// <param name="vitesse">Vitesse de l'aeronef</param>
        /// <param name="entretien">Temps d'entretien de l'aeronef</param>
        /// <param name="origine">Point d'origine de l'aeronef</param>
        /// <param name="type">Type de l'areonef</param>
        public AeroIncendie(string nom, string type, int vitesse, int entretien, PositionGeo origine) : base(nom, type, vitesse, entretien, origine)
        {
            this.m_nom      = nom;
            this.m_type     = type;
            this.m_vitesse  = vitesse;
            this.m_tempsEnt = entretien;
            this.m_origine  = origine;
            this.m_dispo    = true;
            this.m_image    = Properties.Resources.incendie;
            this.m_nbAller  = 0;
        }
예제 #10
0
        Bitmap m_image; //Image de l'aeronef

        /// <summary>
        ///  Constructeur d'Aeronef de secours
        /// </summary>
        /// <param name="nom">Nom de l'aeronef</param>
        /// <param name="type">Type de l'aeronef</param>
        /// <param name="vitesse">Vitesse de l'aeronef</param>
        /// <param name="entretien">Temps d'entretien de l'aeronef</param>
        /// <param name="origine">Origine de l'aeronef</param>
        /// <param name="nbAller">Nombre d'aller retour que l'aeronef doit effectuer</param>
        public AeroSecours(string nom, string type, int vitesse, int entretien, PositionGeo origine, int nbAller) : base(nom, type, vitesse, entretien, origine)
        {
            this.m_nom      = nom;
            this.m_type     = type;
            this.m_vitesse  = vitesse;
            this.m_tempsEnt = entretien;
            this.m_dispo    = true;
            this.m_origine  = origine;
            this.m_image    = m_image = Properties.Resources.chopper;
            this.m_nbAller  = nbAller;
        }
예제 #11
0
        }                         //Rayon du cercle que l'aeronef doit faire a la fin de sa destination

        /// <summary>
        /// Constructeur complex d'AeroObservateur
        /// </summary>
        /// <param name="nom">Nom de l'aeronef</param>
        /// <param name="vitesse">Vitesse de l'aeronef</param>
        /// <param name="entretien">Temps d'entretien de l'aeronef</param>
        /// <param name="origine">Point d'origine de l'aeronef</param>
        /// <param name="nbAller">Nombre d'aller que l'aeronef fait</param>
        /// <param name="rayon">Rayon d'un tour complet de l'aeronef</param>
        /// <param name="type">Type de l'areonef</param>
        public AeroObservateur(string nom, string type, int vitesse, int entretien, PositionGeo origine, int nbAller, int rayon) : base(nom, type, vitesse, entretien, origine)
        {
            this.m_nom      = nom;
            this.m_type     = type;
            this.m_vitesse  = vitesse;
            this.m_tempsEnt = entretien;
            this.m_origine  = origine;
            this.m_dispo    = true;
            this.m_image    = Properties.Resources.observateur;
            this.m_nbAller  = nbAller;
            this.m_rayon    = rayon;
        }
예제 #12
0
        Bitmap m_image; //Image de l'aeronef

        /// <summary>
        /// Constructeur d'AeroPassager
        /// </summary>
        /// <param name="nom">Nom de l'aeronef</param>
        /// <param name="vitesse">Vitesse de l'aeronef</param>
        /// <param name="entretien">Temps d'entretien de l'aeronef</param>
        /// <param name="origine">Point d'origine de l'aeronef</param>
        /// <param name="charger">Temps pour charger l'aeronef</param>
        /// <param name="decharger">Temps pour decharger l'aeronef</param>
        /// <param name="change">Capacité de passager de l'aeronef</param>
        /// <param name="type">Type de l'areonef</param>
        public AeroPassager(string nom, string type, int vitesse, int entretien, PositionGeo origine, int charger, int decharger, int change) : base(nom, type, vitesse, entretien, origine, charger, decharger)
        {
            this.m_nom      = nom;
            this.m_type     = type;
            this.m_vitesse  = vitesse;
            this.m_tempsEnt = entretien;
            this.m_origine  = origine;
            this.m_tempsEmb = charger;
            this.m_tempsDeb = decharger;
            this.m_capacite = change;
            this.m_image    = Properties.Resources.passager;
        }
예제 #13
0
        }                                   //Temps de débarquement

        /// <summary>
        /// Constructeur de la classe abstraite d'avions de transports (Passager, Marchandise)
        /// </summary>
        ///<param name = "nom" >Nom de l'aéronef</param>
        /// <param name="type">Type de l'aéronef</param>
        /// <param name="vitesse">Vitesse de l'aéronef</param>
        /// <param name="origine">Position d'origine de l'aéronef, qui est la position de l'aéroport</param>
        /// <param name="entretien">Temps de maintenance de l'aéronef</param>
        /// <param name="charger">Temps d'embarquement de l'aéronef</param>
        /// <param name="decharger">Temps de débarquement de l'aéronef</param>
        public Transport(string nom, string type, int vitesse, int entretien, PositionGeo origine, int charger, int decharger) : base(nom, type, vitesse, entretien, origine)
        {
        }
예제 #14
0
        /// <summary>
        /// Crée un nouvel aéronef, selon le type reçu et avec bonnes les informations
        /// </summary>
        /// <param name="nom">Nom de l'aéronef</param>
        /// <param name="type">Type de l'aéronef</param>
        /// <param name="vitesse">Vitesse de l'aéronef</param>
        /// <param name="entretien">Temps de maintenance de l'aéronef</param>
        /// <param name="charger">Temps de débarquement de l'aéronef</param>
        /// <param name="decharger">Temps d'embarquement de l'aéronef</param>
        /// <param name="change">Nombre qui représente la capacité ou le rayon de l'aéronef selon le type</param>
        /// <param name="origine">Position d'origine de l'aéronef, qui est la position de l'aéroport</param>
        /// <returns></returns>
        public Aeronef creerAvion(string nom, string type, int vitesse, int entretien, int charger, int decharger, int change, PositionGeo origine)
        {
            Aeronef newAeronef = null;

            switch (type)
            {
            case "Passagers":
                newAeronef = new AeroPassager(nom, type, vitesse, entretien, origine, charger, decharger, change);
                break;

            case "Marchandises":
                newAeronef = new AeroMarchandise(nom, type, vitesse, entretien, origine, charger, decharger, change);
                break;

            case "Observateurs":
                newAeronef = new AeroObservateur(nom, type, vitesse, entretien, origine, 1, change);
                break;

            case "Incendies":
                newAeronef = new AeroIncendie(nom, type, vitesse, entretien, origine);
                break;

            case "Secours":
                newAeronef = new AeroSecours(nom, type, vitesse, entretien, origine, 1);
                break;

            default:
                break;
            }

            return(newAeronef);
        }
예제 #15
0
        }                                 //Si l'aeronef est dispo ou non

        /// <summary>
        /// Constructuer de la classe parente des aeronefs de secours, observation et incendie
        /// </summary>
        /// <param name="nom">Nom du futur aeronef</param>
        /// <param name="type">Type du futur aeronef</param>
        /// <param name="vitesse">Vitesse du futur aeronef</param>
        /// <param name="entretien">Temps d'entretien du futur aeronef</param>
        /// <param name="origine">Position de l'aeroport auquel appartiendra le futur aeronef</param>
        public Distance(string nom, string type, int vitesse, int entretien, PositionGeo origine) : base(nom, type, vitesse, entretien, origine)
        {
        }