예제 #1
0
 public CarteDestinationExpert(Ville villeA, Ville villeB, int valeurPoints, TypeTrajet typeTrajet, int noteExpert) : base(villeA, villeB, valeurPoints)
 {
     _typeTrajet = typeTrajet;
     _noteExpert = noteExpert;
 }
예제 #2
0
파일: Program.cs 프로젝트: AdeBarros/Git
        static void Main(string[] args)
        {
            //TYPES DE TRAJET
            TypeTrajet Horizontale      = new TypeTrajet("Horizontale");
            TypeTrajet Horizontale_Nord = new TypeTrajet("Horizontale Nord");
            TypeTrajet Horizontale_Sud  = new TypeTrajet("Horizontale Sud");
            TypeTrajet Verticale        = new TypeTrajet("Verticale");
            TypeTrajet Verticale_Ouest  = new TypeTrajet("Verticale Ouest");
            TypeTrajet Verticale_Est    = new TypeTrajet("Verticale Est");


            //COMBINAISONS

            //COMBINSAISONS TRES BIEN
            CombinaisonTrajets Verticale_Ouest_Verticale_Ouest   = new CombinaisonTrajets(Verticale_Ouest, Verticale_Ouest, 5);
            CombinaisonTrajets Verticale_Ouest_Verticale         = new CombinaisonTrajets(Verticale_Ouest, Verticale, 5);
            CombinaisonTrajets Verticale_Verticale               = new CombinaisonTrajets(Verticale, Verticale, 5);
            CombinaisonTrajets Verticale_Horizontale_Nord        = new CombinaisonTrajets(Verticale, Horizontale_Nord, 5);
            CombinaisonTrajets Horizontale_Nord_Horizontale_Nord = new CombinaisonTrajets(Horizontale_Nord, Horizontale_Nord, 5);

            //COMBINAISONS BIEN
            CombinaisonTrajets Verticale_Ouest_Horizontale_Nord = new CombinaisonTrajets(Verticale_Ouest, Horizontale_Nord, 4);
            CombinaisonTrajets Verticale_Ouest_Horizontale      = new CombinaisonTrajets(Verticale_Ouest, Horizontale, 4);
            CombinaisonTrajets Verticale_Ouest_Horizontale_Sud  = new CombinaisonTrajets(Verticale_Ouest, Horizontale_Sud, 4);
            CombinaisonTrajets Horizontale_Horizontale_Sud      = new CombinaisonTrajets(Horizontale, Horizontale_Sud, 4);
            CombinaisonTrajets Horizontale_Sud_Horizontale_Sud  = new CombinaisonTrajets(Horizontale_Sud, Horizontale_Sud, 4);

            //COMBINAISONS MOYEN
            CombinaisonTrajets Verticale_Est_Horizontale_Nord = new CombinaisonTrajets(Verticale_Est, Horizontale_Nord, 3);
            CombinaisonTrajets Horizontale_Horizontale        = new CombinaisonTrajets(Horizontale, Horizontale, 3);
            CombinaisonTrajets Triple_Verticale_Est           = new CombinaisonTrajets(Verticale_Est, Verticale_Est, Verticale_Est, 3);

            //COMBINAISONS NUL
            CombinaisonTrajets Verticale_Verticale_Est   = new CombinaisonTrajets(Verticale, Verticale_Est, 2);
            CombinaisonTrajets Verticale_Horizontale     = new CombinaisonTrajets(Verticale, Horizontale, 2);
            CombinaisonTrajets Verticale_Horizontale_Sud = new CombinaisonTrajets(Verticale, Horizontale_Sud, 2);

            //COMBINAISONS TRES NUL
            CombinaisonTrajets Verticale_Ouest_Verticale_Est    = new CombinaisonTrajets(Verticale_Ouest, Verticale_Est, 1);
            CombinaisonTrajets Verticale_Est_Verticale_Est      = new CombinaisonTrajets(Verticale_Est, Verticale_Est, 1);
            CombinaisonTrajets Verticale_Est_Horizontale        = new CombinaisonTrajets(Verticale_Est, Horizontale, 1);
            CombinaisonTrajets Verticale_Est_Horizontale_Sud    = new CombinaisonTrajets(Verticale_Est, Horizontale_Sud, 1);
            CombinaisonTrajets Horizontale_Nord_Horizontale     = new CombinaisonTrajets(Horizontale, Horizontale_Nord, 1);
            CombinaisonTrajets Horizontale_Nord_Horizontale_Sud = new CombinaisonTrajets(Horizontale, Horizontale_Sud, 1);


            //LISTE DES COMBINAISONS
            List <CombinaisonTrajets> listeCombinaisonsTrajets = new List <CombinaisonTrajets>
            {
                Verticale_Ouest_Verticale_Ouest, Verticale_Ouest_Verticale, Verticale_Verticale, Verticale_Horizontale_Nord, Horizontale_Nord_Horizontale_Nord,
                Verticale_Ouest_Horizontale_Nord, Verticale_Ouest_Horizontale, Verticale_Ouest_Horizontale_Sud, Horizontale_Horizontale_Sud, Horizontale_Sud_Horizontale_Sud,
                Verticale_Est_Horizontale_Nord, Horizontale_Horizontale, Triple_Verticale_Est,
                Verticale_Verticale_Est, Verticale_Horizontale, Verticale_Horizontale_Sud,
                Verticale_Ouest_Verticale_Est, Verticale_Est_Verticale_Est, Verticale_Est_Horizontale, Verticale_Est_Horizontale_Sud, Horizontale_Nord_Horizontale, Horizontale_Nord_Horizontale_Sud
            };


            //VILLES
            Ville Denver          = new Ville("Denver");
            Ville El_Paso         = new Ville("El Paso");
            Ville Duluth          = new Ville("Duluth");
            Ville Pittsburgh      = new Ville("Pittsburgh");
            Ville Winnipeg        = new Ville("Winnipeg");
            Ville Houston         = new Ville("Houston");
            Ville Calgary         = new Ville("Calgary");
            Ville Los_Angeles     = new Ville("Los Angeles");
            Ville Chicago         = new Ville("Chicago");
            Ville Vancouver       = new Ville("Vancouver");
            Ville Montreal        = new Ville("Montréal");
            Ville Seattle         = new Ville("Seattle");
            Ville New_York        = new Ville("New York");
            Ville Helena          = new Ville("Helena");
            Ville Salt_Lake_City  = new Ville("Salt Lake City");
            Ville Santa_Fe        = new Ville("Santa Fe");
            Ville Portland        = new Ville("Portland");
            Ville Phoenix         = new Ville("Phoenix");
            Ville Little_Rock     = new Ville("Little Rock");
            Ville Miami           = new Ville("Miami");
            Ville San_Francisco   = new Ville("San Francisco");
            Ville Atlanta         = new Ville("Atlanta");
            Ville Nashville       = new Ville("Nashville");
            Ville Sault_Ste_Marie = new Ville("Sault Ste-Marie");
            Ville Oklahoma_City   = new Ville("Oklahoma City");
            Ville Toronto         = new Ville("Toronto");
            Ville Kansas_City     = new Ville("Kansas City");
            Ville New_Orleans     = new Ville("New Orleans");
            Ville Dallas          = new Ville("Dallas");
            Ville Boston          = new Ville("Boston");


            //CARTES DESTINATION

            //TRES BIEN
            CarteDestinationExpert Denver_El_Paso      = new CarteDestinationExpert(Denver, El_Paso, 4, Verticale, 5);  //+verticaleOuest !
            CarteDestinationExpert Helena_Los_Angeles  = new CarteDestinationExpert(Helena, Los_Angeles, 8, Verticale_Ouest, 5);
            CarteDestinationExpert Duluth_El_Paso      = new CarteDestinationExpert(Duluth, El_Paso, 10, Verticale, 5); //+verticaleOuest !
            CarteDestinationExpert Denver_Pittsburgh   = new CarteDestinationExpert(Denver, Pittsburgh, 11, Horizontale, 5);
            CarteDestinationExpert Winnipeg_Houston    = new CarteDestinationExpert(Winnipeg, Houston, 12, Verticale, 5);
            CarteDestinationExpert Calgary_Phoenix     = new CarteDestinationExpert(Calgary, Phoenix, 13, Verticale_Ouest, 5);
            CarteDestinationExpert Los_Angeles_Chicago = new CarteDestinationExpert(Los_Angeles, Chicago, 16, Horizontale, 5);
            CarteDestinationExpert Vancouver_Montreal  = new CarteDestinationExpert(Vancouver, Montreal, 20, Horizontale_Nord, 5);
            CarteDestinationExpert Seattle_New_York    = new CarteDestinationExpert(Seattle, New_York, 22, Horizontale_Nord, 5);

            //BIEN
            CarteDestinationExpert Calgary_Salt_Lake_City = new CarteDestinationExpert(Calgary, Salt_Lake_City, 7, Verticale_Ouest, 4);
            CarteDestinationExpert Duluth_Houston         = new CarteDestinationExpert(Duluth, Houston, 8, Verticale, 4);
            CarteDestinationExpert Chicago_Santa_Fe       = new CarteDestinationExpert(Chicago, Santa_Fe, 9, Horizontale, 4);
            CarteDestinationExpert Portland_Phoenix       = new CarteDestinationExpert(Portland, Phoenix, 11, Verticale_Ouest, 4);
            CarteDestinationExpert Winnipeg_Little_Rock   = new CarteDestinationExpert(Winnipeg, Little_Rock, 11, Verticale, 4);
            CarteDestinationExpert Vancouver_Santa_Fe     = new CarteDestinationExpert(Vancouver, Santa_Fe, 13, Verticale_Ouest, 4);
            CarteDestinationExpert Los_Angeles_Miami      = new CarteDestinationExpert(Los_Angeles, Miami, 20, Horizontale_Sud, 4);
            CarteDestinationExpert Los_Angeles_New_York   = new CarteDestinationExpert(Los_Angeles, New_York, 21, Horizontale, 4);

            //MOYEN
            CarteDestinationExpert Seattle_Los_Angeles   = new CarteDestinationExpert(Seattle, Los_Angeles, 9, Verticale_Ouest, 3);
            CarteDestinationExpert San_Francisco_Atlanta = new CarteDestinationExpert(San_Francisco, Atlanta, 17, Horizontale_Sud, 3);
            CarteDestinationExpert Portland_Nashville    = new CarteDestinationExpert(Portland, Nashville, 17, Horizontale, 3);

            //NUL
            CarteDestinationExpert Sault_Ste_Marie_Nashville     = new CarteDestinationExpert(Sault_Ste_Marie, Nashville, 8, Verticale_Est, 2);
            CarteDestinationExpert Sault_Ste_Marie_Oklahoma_City = new CarteDestinationExpert(Sault_Ste_Marie, Oklahoma_City, 9, Verticale, 2);
            CarteDestinationExpert Toronto_Miami = new CarteDestinationExpert(Toronto, Miami, 10, Verticale_Est, 2);

            //TRES NUL
            CarteDestinationExpert Kansas_City_Houston  = new CarteDestinationExpert(Kansas_City, Houston, 5, Verticale, 1);
            CarteDestinationExpert New_York_Atlanta     = new CarteDestinationExpert(New_York, Atlanta, 6, Verticale_Est, 1);
            CarteDestinationExpert Chicago_New_Orleans  = new CarteDestinationExpert(Chicago, New_Orleans, 7, Verticale_Est, 1);
            CarteDestinationExpert Montreal_Atlanta     = new CarteDestinationExpert(Montreal, Atlanta, 9, Verticale_Est, 1);
            CarteDestinationExpert Dallas_New_York      = new CarteDestinationExpert(Dallas, New_York, 11, Verticale_Est, 1);
            CarteDestinationExpert Boston_Miami         = new CarteDestinationExpert(Boston, Miami, 12, Verticale_Est, 1);
            CarteDestinationExpert Montreal_New_Orleans = new CarteDestinationExpert(Montreal, New_Orleans, 13, Verticale_Est, 1);

            List <CarteDestinationExpert> PileDesDestinations = new List <CarteDestinationExpert>
            {
                //Itinéraires TB
                Denver_El_Paso,         //Itinéraire 0
                Helena_Los_Angeles,     //Itinéraire 1
                Duluth_El_Paso,         //Itinéraire 2
                Denver_Pittsburgh,      //Itinéraire 3
                Winnipeg_Houston,       //Itinéraire 4
                Calgary_Phoenix,        //Itinéraire 5
                Los_Angeles_Chicago,    //Itinéraire 6
                Vancouver_Montreal,     //Itinéraire 7
                Seattle_New_York,       //Itinéraire 8

                //Itinéraires B
                Calgary_Salt_Lake_City, //Itinéraire 9
                Duluth_Houston,         //Itinéraire 10
                Chicago_Santa_Fe,       //Itinéraire 11
                Portland_Phoenix,       //Itinéraire 12
                Winnipeg_Little_Rock,   //Itinéraire 13
                Vancouver_Santa_Fe,     //Itinéraire 14
                Los_Angeles_Miami,      //Itinéraire 15
                Los_Angeles_New_York,   //Itinéraire 16

                //Itinéraires M
                Seattle_Los_Angeles,    //Itinéraire 17
                San_Francisco_Atlanta,  //Itinéraire 18
                Portland_Nashville,     //Itinéraire 19

                //Itinéraires N
                Sault_Ste_Marie_Nashville,      //Itinéraire 20
                Sault_Ste_Marie_Oklahoma_City,  //Itinéraire 21
                Toronto_Miami,                  //Itinéraire 22

                //Itinéraires TN
                Kansas_City_Houston,    //Itinéraire 23
                New_York_Atlanta,       //Itinéraire 24
                Chicago_New_Orleans,    //Itinéraire 25
                Montreal_Atlanta,       //Itinéraire 26
                Dallas_New_York,        //Itinéraire 27
                Boston_Miami,           //Itinéraire 28
                Montreal_New_Orleans    //Itinéraire 29
            };

            //=====================
            //SIMULATION D'UN CHOIX
            //=====================


            //SIMULATION DE PIOCHE ALEATOIRE
            Console.WriteLine("\nPIOCHE ALEATOIRE");
            List <int> piocheAleatoire = Generer3int();

            SimuleChoixExpert(PileDesDestinations, listeCombinaisonsTrajets, piocheAleatoire);

            //SIMULATION DE PIOCHE DETERMINEE : ENTRER 3 NOMBRES DISTINCTS DANS [|0,29|]
            Console.WriteLine("\nPIOCHE DETERMINEE");
            List <int> choixCartesPiochees = new List <int> {
                3, 5, 7
            };

            SimuleChoixExpert(PileDesDestinations, listeCombinaisonsTrajets, choixCartesPiochees);

            //SIMULATION DE PIOCHE ALEATOIRE *n

            /*
             * List<int> piocheAleatoire;
             * for (int i = 0; i<n; i++)
             * {
             *  piocheAleatoire = Generer3int();
             *  SimuleChoixExpert(PileDesDestinations, listeCombinaisonsTrajets, piocheAleatoire);
             * }
             */

            ///TESTS
            ///
            /// TEST 1 AVEC 100 PIOCHES ALEATOIRES : 15% DE CHOIX ARBITRAIRE AVEC POINTS
            /// TEST 2 AVEC 100 PIOCHES ALEATOIRES : 11% DE CHOIX ARBITRAIRE AVEC POINTS
            /// TEST 3 AVEC 100 PIOCHES ALEATOIRES : 10% DE CHOIX ARBITRAIRE AVEC POINTS
            /// TEST 4 AVEC 100 PIOCHES ALEATOIRES : 21% DE CHOIX ARBITRAIRE AVEC POINTS
            /// TEST 5 AVEC 100 PIOCHES ALEATOIRES : 10% DE CHOIX ARBITRAIRE AVEC POINTS
            ///
            /// MOYENNE EMPIRIQUE : 13.4% DE CHOIX ARBITRAIRE PAR LES POINTS
            /// SOIT 86.6% DE CAS POUR LESQUELS UN MAXIMUM EST DISTINGUE SUR 500 CARTES PIOCHEES
        }