示例#1
0
 // Affiche les informations d'un Vaisseau
 private static string ReadShip(AbstractShip s)
 {
     return("Classe '" + s.ShipClass + "' (" + s.ShipPrice + " credits) \nCargo : " + s.ShipCargoStr + " (" + s.ShipCargo + ") \nMaintenance : " + s.ShipMaintCost + " credits / Tour \n" + s.ShipDescr + "\n");
 }
示例#2
0
        static void Main(string[] args)
        {
            #region INSTANCIATIONS
            // Liste des planetes
            List <Planet> planets = new List <Planet>();

            // Types de planetes
            PlaOceanique  planeteOceanique  = new PlaOceanique();
            PlaTemperee   planeteTemperee   = new PlaTemperee();
            PlaAride      planeteAride      = new PlaAride();
            PlaVolcanique planeteVolcanique = new PlaVolcanique();
            PlaArctique   planeteArctique   = new PlaArctique();

            // Exploitations
            ExAgricole     exploitAgricole     = new ExAgricole();
            ExScientifique exploitScientifique = new ExScientifique();
            ExMiniere      exploitMiniere      = new ExMiniere();
            ExIndustrielle exploitIndustrielle = new ExIndustrielle();
            ExMegapole     exploitMegapole     = new ExMegapole();

            // Vaisseaux
            ShipPelican shipPelican = new ShipPelican();
            ShipOrca    shipOrca    = new ShipOrca();
            ShipMammoth shipMammoth = new ShipMammoth();
            ShipTitan   shipTitan   = new ShipTitan();


            // Ressources
            Ressource silicium   = new Ressource("Silicium", "Matière première utilisée pour la fabrication de tout Circuit Intégré", 15, 10, 25);
            Ressource metaux     = new Ressource("Metaux", "Aliages métaliques principalement utilisés pour la construction de structures", 25, 20, 35);
            Ressource metauxprec = new Ressource("Metaux Précieux", "Métaux souvent utilisés dans la fabrication de Composants", 100, 9, 10);
            Ressource polymeres  = new Ressource("Polymères", "Aliages de matériaux synthétiques isolants utlisés dans la construction de structures", 20, 15, 30);
            Ressource composants = new Ressource("Composants", "Nécéssaires à la frabrication et l'entretient de systèmes informatisés ou robotisés", 50, 40, 60);
            Ressource cells      = new Ressource("Cellules d'Energie", "Utiles partout et tout le temps, elles alimentent la plupart des machines", 40, 35, 50);
            Ressource mineraux   = new Ressource("Minéraux", "Utilisés dans l'Industrie, notement dans la fabrications de Cellules d'Energie", 80, 70, 95);
            Ressource cereales   = new Ressource("Céréales", "La base alimentaire de toute la galaxie", 15, 10, 20);
            Ressource viande     = new Ressource("Viande", "Complément alimentaire de ceux qui peuvent se le permettre", 30, 20, 45);
            Ressource spiritieux = new Ressource("Spiritueux", "Illégaux dans de nombreux systemes, ces substances sont pourtant très prisées", 130, 90, 180);

            // SHIP NAMES
            string[] ShipNames = { "Advenna Avis", "Argonaut", "Blue 6", "Shang 9", "Going Merry", "Thousand Sunny", "Thriller Bark", "Oro Jackson", "Moby Dick", "JDS Mirai", "JDF Ishin", "Over the Rainbow", "Pascal Magi", "Ghost Ship", "Super 99", "Tempest Junior", "Tuatha de Danaan", "Yashiromaru", "St. Aphrodite", "Blue", "Yamato", "FortreOne", "Illustria", "Asuka II", "Naked Sun", "Harekaze", "Aurora", "The Black Freighter", "Borneo Prince", "Cithara", "Cutlass", "Eagle's Shadow", "Grossadler", "Hawksub", "Karaboudjan", "Salty Space Mare", "Ramona", "Space Queen", "The Gertrude", "Sirius", "Unicorn", "Viper", "Vulkan", "Abraham Lincoln", "Academic Vladislav Volkov", "Acheron", "Aeolus", "African Queen", "Amindra", "Andes", "Angelina", "Antonia Graza", "Aquanaut 3", "Arabella", "Aspen", "Avenger", "Batavia Queen", "Bedford", "Belafonte", "Belinda", "Benthic Explorer", "Black Hawk", "Black Pearl", "Black Swan", "Brandenburg", "Britannic", "Caine", "Caledonia", "Charleston", "Chester", "Davies", "Devonshire", "Chiku Shan", "Claridon", "CompaRose", "Copperfin", "Crescent Star", "Deep Quest", "Defiant", "Disco Volante", "Dragonfish", "Dulcibella", "Echo", "Edinburgh Trader", "Elizabeth Dane", "Empress", "Endeavour", "Ergenstrasse", "Essess", "Flying Dutchman", "The Flying Wasp", "Geronimo", "Ghost", "Glencairn", "Gloria N", "Goliath", "Hahnchen Maru", "Hai Peng", "Happy Wanderer", "Haynes", "The Henrietta", "Immer Essen", "The Inferno", "Interceptor", "Intrepid", "Jenny", "Calypso", "Lansing", "Liparus", "Love Nest", "Lydia", "Mary Deare", "Minnow Johnson", "Montana", "Morning Star", "Nathan Ross", "Nautilus", "Nereid", "Ning-Po", "Oakland", "Orca", "Patna", "Pequod", "Poseidon", "PrinceIrene", "Q Boat", "Proteus", "Rachel", "Reaper", "Red Dragon", "Red Witch", "Red October", "Reluctant", "U-571", "Rights-of-Man", "Rob Roy", "San Pablo", "Saltash Castle", "Saracen", "Sawfish", "Scotia", "Space Cliff", "Space Star", "Space Tiger", "Space Witch", "SSNR Spaceview", "Shag at Space", "Sherwood", "Solent", "IJN Shinaru", "St. Georges", "Starfish", "Stingray", "Sutherland", "Thunderfish", "Tigerfish", "Tiger Shark", "Torrin", "Turtle", "Ulysses", "Valhalla", "Venture", "Venus", "Viperess", "Victoria", "The Wanderer", "Wonkatania", "Yellow Submariner" };
            #endregion

            #region MENU
menu1:
            // MENU (1 = Planetes, 2 = Ressources, 3 = Vaisseaux)
            Console.WriteLine("Actions disponibles :\n1 - Générer les planètes \n2 - Consulter les ressources\n3 - Consulter les vaisseaux \nQue faire ?");
            try
            {
                var inputMenu = Convert.ToInt32(Console.ReadLine());
                switch (inputMenu)
                {
                case 1:
                    goto inputPlanets;

                case 2:
                    goto inputRes;

                case 3:
                    goto inputShip;

                default:
                    Console.WriteLine("Erreur: Saisie non valide\n");
                    goto menu1;
                }
            }
            catch (Exception ex)
            {
                var exMsg = ex;
                Console.WriteLine("Erreur: Saisie non valide\n");
                goto menu1;
            }
            #endregion

            #region SHIP
inputShip:

            Console.WriteLine("\nActions disponibles :\n1 - Classe 'Pelican' \n2 - Classe 'Orca' \n3 - Classe 'Mammoth' \n4 - Classe 'Titan' \n \nSélectionnez une fiche de vaisseau à consulter:");

            try
            {
                var inputShip = Convert.ToInt32(Console.ReadLine());
                //var playerShip = new AbstractShip();
                AbstractShip playerShip = null;
                switch (inputShip)
                {
                case 1:
                    playerShip = shipPelican;
                    break;

                case 2:
                    playerShip = shipOrca;
                    break;

                case 3:
                    playerShip = shipMammoth;
                    break;

                case 4:
                    playerShip = shipTitan;
                    break;

                default:
                    Console.WriteLine("Erreur: Saisie non valide\n");
                    goto menu1;
                }
                Console.WriteLine(ReadShip(playerShip) + "\n");
                Console.ReadKey();
                goto menu1;
            }
            catch (Exception ex)
            {
                var exMsg = ex;
                Console.WriteLine("Erreur: Saisie non valide\n");
                goto menu1;
            }
            #endregion

            #region CONSULTATION RESOURCES
            // INPUT
inputRes:
            Console.WriteLine("\nRessources disponibles :\n1 - Silicium\n2 - Metaux\n3 - Metaux Precieux\n4 - Polymères\n5 - Composants\n6 - Cellules d'Energie\n7 - Minéraux\n8 - Céréales\n9 - Viande\n10 - Spiritueux \n \nSélectionnez une ressource à consulter:");
            try
            {
                var       res    = Convert.ToInt32(Console.ReadLine());
                Ressource ResObj = null;

                switch (res)
                {
                case 1:
                    ResObj = silicium;
                    break;

                case 2:
                    ResObj = metaux;
                    break;

                case 3:
                    ResObj = metauxprec;
                    break;

                case 4:
                    ResObj = polymeres;
                    break;

                case 5:
                    ResObj = composants;
                    break;

                case 6:
                    ResObj = cells;
                    break;

                case 7:
                    ResObj = mineraux;
                    break;

                case 8:
                    ResObj = cereales;
                    break;

                case 9:
                    ResObj = viande;
                    break;

                case 10:
                    ResObj = spiritieux;
                    break;

                default:
                    Console.WriteLine("Erreur: Saisie non valide\n");
                    goto inputRes;
                }
                Console.WriteLine(ReadResObj(ResObj) + "\n");
                Console.ReadKey();
                goto menu1;
            }
            catch (Exception ex)
            {
                var exMsg = ex;
                Console.WriteLine("Erreur: Saisie non valide\n");
                goto inputRes;
            }
            #endregion

inputPlanets:
            try
            {
                // Instance unique de Random pr eviter les redondances dans la randomization
                Random rnd = new Random();

                // Array Noms de Planètes [FR] (env. 580)
                // string[] StarNameStr = { "Acamar", "Achernar", "Achird", "Acrab", "Acrux", "Acubens", "Adara", "Adhaféra", "Adhil", "Adib", "Adkhaféra", "Agéna", "Aïn", "Ak", "Akhamar", "Akhénar", "Akrab", "Akruks", "Akubens", "Aladfar", "Alamak", "Alanf", "Alanz", "Alaraf", "Alaraph", "Alashfar", "Alathfar", "Alatik", "Albaldah", "Albali", "Albiréo", "Alcaïd", "Alchiba", "Alcor", "Alcyone", "Aldanab", "Aldébaran", "Aldhaféra", "Aldhanab", "Aldhiba", "Aldhibah", "Aldhiha", "Aldib", "Aldzhabkhakh", "Alfakka", "Alfaret", "Alfarg", "Alfard", "Alfecca", "Alférats", "Alfirk", "Alga", "Algébar", "Algédi", "Algéiba", "Algénib", "Algénubi", "Algiéba", "Algiedi", "Algol", "Algomeyla", "Algomeysa", "Algorab", "Alhajoth", "Al", "Hammam", "Alhéna", "Aliath", "Alifa", "Alioth", "Alkab", "Alkaïd", "Alkalb", "Alkalurops", "Alkand", "Alkaphrah", "Alkes", "Alkhajot", "Alkhéna", "Alkurhah", "Almaach", "Almaak", "Mankib", "Almizar", "Almucédie", "Alnaïr", "Alnath", "Alnitam", "Alnitak", "Alniyat", "Alphakka", "Alphart", "Alphératz", "Alphirk", "Alraï", "Rakis", "Alrisha", "Alruccaba", "Alsabik", "Alsafi", "Alsahm", "Alnakah", "Alschaïrn", "Alshaïn", "Alsciaukat", "Sharataïn", "Alshat", "Alshémali", "Alsuhail", "Altarf", "Altaïr", "Altaïs", "Tarf", "Alterf", "Altsione", "Aludra", "Alula", "Alwaïd", "Alwazor", "Alya", "Alzirr", "Ancha", "Angetenar", "Ankaa", "Anser", "Antarès", "Antécanis", "Anwar", "Apollo", "Arcturus", "Arich", "Aridif", "Arietis", "Arkab", "Arktur", "Arm", "Arneb", "Arraï", "Arrakis", "Arrioph", "Ascella", "Aschéré", "Asellus", "Asgard", "Ashtaroth", "Askéla", "Asmidiske", "Aspidiske", "Astérion", "Astérope", "Astsella", "Asuia", "Ataïr", "Athafi", "Atik", "Atlas", "Atria", "Auva", "Avior", "Azelfafage", "Azha", "Azimech", "Azmidiske", "Baham", "Bakham", "Baten", "Bécrux", "Beemin", "Beïd", "Békruks", "Bellatrix", "Benetnasch", "Bételgeuze", "Biham", "Boteïn", "Brachium", "Cajam", "Calx", "Canicula", "Canopus", "Capella", "Caph", "Caput", "Castor", "Cébalraï", "Céginus", "Celaeno", "Céline", "Cexing", "Chaph", "Chara", "Cheleb", "Chertan", "Chort", "Clava", "Cor", "Coxa", "Cujam", "Cursa", "Cymbae", "Cygnus", "Cynosura", "Dabih", "Dana", "Déneb", "Dénébola", "Dhalim", "Dheneb", "Diadème", "Difda", "Dikhabda", "Diphda", "Dirakh", "Dschubba", "Dsiban", "Dubhé", "Duhr", "Dzhanakh", "Dzhubba", "Dziban", "Edasich", "Eldsib", "Ehlekctra", "Ehlgomajza", "Ehlnatkh", "Ehlyakrab", "Ehrakis", "Ehtamin", "Elacrab", "Eldsich", "Électre", "Electra", "Elgébar", "ElGhoul", "Elgomaïsa", "Elkeïd", "Elkhereb", "Elkhiffa", "ElKoprah", "ElMélik", "Elmuthalleth", "ElNasl", "Elnath", "ElRakis", "ElRischa", "Eltanin", "Énif", "Épi", "Érakis", "Erraï", "Errakis", "Étanin", "Fakt", "Falx", "Ferkad", "Fidis", "Fom", "Fomalhaut", "Foramen", "Fum", "Furud", "Gacrux", "Gainsar", "Gallina", "Gamal", "Gemma", "Genam", "Giauzar", "Giénah", "Gienakh", "Gildun", "Girtab", "Gnedi", "Gnosia", "Gomeïsa", "Gorgona", "Grafias", "Granatovaya", "Grassias", "Gredi", "Grenat", "Grumium", "Hadar", "Haedus", "Hamal", "Hamul", "Haris", "Hassaleh", "Hatysa", "Heka", "Hemal", "Hercule", "Heze", "Hoedus", "Homam", "Hyadum", "Hydor", "Icalurus", "Iclarkrau", "Inkalunis", "Isida", "Isis", "Izar", "Jabbah", "Jed", "Jildun", "Juza", "Kabalraï", "Kabeleced", "Kaf", "Kaffa", "Kaffalidma", "Kaitain", "Kajam", "Kakkab", "Kalb", "KalbalAkrab", "Kalbelaphard", "Kantajn", "Kanopus", "Kapella", "Kastor", "Kastra", "Kaus", "Keïd", "KelbAlraï", "Kerb", "Khadar", "Khamal", "Khan", "Khara", "Kheka", "Kheze", "Khomam", "Khort", "Kied", "Kiffa", "Kinosura", "Kitalpha", "Kocab", "KorKaroli", "Korneferos", "Krats", "Kraz", "Ksora", "KullatNunu", "Kuma", "Kurhah", "Kursa", "Labr", "LaSuperba", "Lesath", "LucidaCymbae", "Maasym", "Mabsuthat", "Maïa", "Majya", "Manubrij", "Marchab", "Marfak", "Marfic", "Marj", "Markab", "Markeb", "Marrha", "Marsik", "Masym", "Matar", "Meboula", "Media", "Megrez", "Meïssa", "Mekbuda", "Melucta", "Menchib", "Menkab", "Menkalina", "Menkar", "Menkent", "Menkib", "Mentar", "Merak", "Merez", "Merga", "Merkab", "Mérope", "Mesartim", "Metallah", "Mezartim", "Miaplacidus", "Mifrid", "Mimosa", "Minchir", "Minelauva", "Minkar", "Mintaka", "Mira", "Miram", "Mirak", "Mirakh", "Mirfak", "Mirza", "Mismar", "Misam", "Mizar", "Monkar", "Motallakh", "Muhlifaïn", "Muliphen", "Muphrid", "Murfach", "Murzim", "Muscida", "NairalSaïf", "NaïralSaïf", "NaïralZaurak", "Naos", "Nash", "Nashira", "Nat", "Navigatoria", "Nekkar", "Nibal", "Nicolaus", "Nihal", "Nod", "Nunki", "Nusakan", "Nushaba", "Oculus", "Okda", "Okul", "Os", "Palilicium", "Paon", "Parilicium", "Pelag", "Perse", "Phacd", "Phad", "Phakt", "Pherkad", "Phurud", "Pikok", "PishPai", "Pléione", "Polaris", "Polis", "Pollux", "Polyarnaya", "Porrima", "Praecipua", "Praepes", "Praesepe", "Prezepe", "PrimaGiedi", "Printseps", "Procyon", "Propus", "Protrigetrix", "Proxima", "Propus", "Protsion", "Pulcherrima", "Rana", "Rasaben", "Rasalas", "Rasalgethi", "Rasalhague", "Raselased", "Rasehlgul", "Rashammel", "Rastaban", "Rasthaoum", "Reda", "Regor", "Régulus", "Resha", "Rigel", "Rotanen", "Rukba", "Rutilicus", "Saad", "Sabik", "Saclateni", "Sadachbia", "Sadalbari", "Sadalmelik", "Sadalsud", "Sadatoni", "Sadr", "Sadira", "Sadlamulk", "Saïdak", "Salm", "Sargas", "Sarin", "Sartan", "Scalovin", "Sceptrum", "Scheddi", "Scutulum", "Seat", "Seginus", "SerdtseCarla", "Sertan", "Shaf", "Sham", "Sharatan", "Shaula", "Shedir", "Shératan", "Shiliak", "Sinistra", "Sirius", "Situla", "Skat", "Soleil", "Spica", "Stérope", "Sualocin", "Sualotsin", "Subra", "Suhaïl", "Suhel", "Sulafat", "Svalocin", "Syrma", "Tabit", "Tajgeta", "Talita", "Tania", "Tarazed", "Tarf", "Taygète", "Tegmen", "Tejat", "Terebellum", "Teyat", "Thabit", "Theemin", "Thuban", "Toliman", "Torcularis", "Tramontana", "Tsebalraj", "Tsih", "Tsolma", "Tuban", "Tureis", "Tyl", "Unuk", "Urkab", "Vasat", "Véga", "Venabulum", "Venatici", "Vendémiatrix", "Venator", "Vespertilio", "Vezad", "Vezen", "Vildiur", "Wasat", "Wazn", "Wéga", "Wezen", "Yed", "Yildun", "Yilduz", "Zaniah", "Zarijan", "Zaurak", "Zavijah", "Zibal", "Zosma", "ZubenElakrab", "Zubenelgenubi", "Zubenesch", "Zubenhakraki", "Zubra" };

                // Array Planets Names [EN] (env. 360)
                string[] StarNameStr = { "Acamar", "Achernar", "Achird", "Acrab", "Acrux", "Acubens", "Adhafera", "Adhara", "Adhil", "Ain", "Aladfar", "Alamak", "Alathfar", "Alaraph", "Albaldah", "Albali", "Albireo", "Alchiba", "Alcor", "Alcyone", "Aldebaran", "Alderamin", "Aldhafera", "Aldhanab", "Aldhibain", "Aldib", "Al Fawaris", "Alfecca Meridiana", "Alfirk", "Al Giedi", "Algedi", "Algenib", "Algieba", "Algol", "Algorab", "Alhajoth", "Alhena", "Alioth", "Alkaid", "Al Kurud", "Al Kalb al Rai", "Alkalurops", "Al Kaphrah", "Alkes", "Alkurah", "Almach", "Al Minliar al Asad", "Alnair", "Alnasl", "Alnilam", "Alnitak", "Alniyat", "Al Niyat", "Alphard", "Alphecca", "Alpheratz", "Alrai", "Alrami", "Alrescha", "Alsafi", "Alsciaukat", "Alshain", "Alshat", "Altair", "Altais", "Altarf", "Alterf", "Al Thalimain", "Al Thalimain", "Aludra", "Alula Australis", "Alula Borealis", "Alwaid", "Alya", "Alzir", "Ancha", "Angetenar", "Ankaa", "Antares", "Arcturus", "Arich", "Arkab", "Armus", "Arneb", "Arrakis", "Ascella", "Asellus Australis", "Asellus Borealis", "Asellus Primus", "Asellus Secundus", "Asellus Tertius", "Askella", "Aspidiske", "Asterion", "Asterope", "Atik", "Atlas", "Atria", "Auva", "Avior", "Azaleh", "Azelfafage", "Azha", "Azmidiske", "Baham", "Baten Kaitos", "Beid", "Bellatrix", "Benetnasch", "Betelgeuse", "Betria", "Biham", "Botein", "Brachium", "Bunda", "Canopus", "Capella", "Caph", "Castor", "Cebalrai", "Celaeno", "Cervantes", "Chalawan", "Chara", "Chara", "Cheleb", "Chertan", "Chort", "Chow", "Copernicus", "Cor Caroli", "Cursa", "Dabih", "Decrux", "Deneb", "Deneb Algedi", "Deneb Dulfim", "Deneb el Okab", "Deneb Kaitos", "Deneb Kaitos Schemali", "Denebola", "Dheneb", "Diadem", "Diphda", "Dnoces", "Dschubba", "Dubhe", "Duhr", "Edasich", "Electra", "Elmuthalleth", "Elnath", "Eltanin", "Enif", "Errai", "Fafnir", "Fomalhaut", "Fum al Samakah", "Furud", "Gacrux", "Garnet Star", "Gatria", "Gemma", "Gianfar", "Giedi", "Gienah Gurab", "Gienah", "Girtab", "Gomeisa", "Gorgonea Tertia", "Grumium", "Hadar", "Haedus", "Haldus", "Hamal", "Hassaleh", "Helvetios", "Head of Hydrus", "Heka", "Heze", "Hoedus", "Homam", "Hyadum", "Hydrobius", "Intercrus", "Izar", "Jabbah", "Kabdhilinan", "Kaffaljidhma", "Kajam", "Kastra", "Kaus Australis", "Kaus Borealis", "Kaus Media", "Keid", "Kitalpha", "Kochab", "Kornephoros", "Kraz", "Kullat Nunu", "Kuma", "La Superba", "Lesath", "Libertas", "Lucida Anseris", "Maasym", "Mahasim", "Maia", "Marfark", "Marfik", "Markab", "Matar", "Mebsuta", "Media", "Megrez", "Meissa", "Mekbuda", "Menchib", "Menkab", "Menkalinan", "Menkar", "Menkent", "Menkib", "Merak", "Merga", "Merope", "Mesarthim", "Miaplacidus", "Mimosa", "Minchir", "Minelava", "Minkar", "Mintaka", "Mira", "Mirach", "Miram", "Mirfak", "Mirzam", "Misam", "Mizar", "Mothallah", "Muliphein", "Muphrid", "Murzim", "Muscida", "Muscida", "Musica", "Nair Al Saif", "Naos", "Nash", "Nashira", "Navi", "Nekkar", "Nembus", "Nihal", "Nunki", "Nusakan", "Ogma", "Okul", "Peacock", "Phact", "Phecda", "Pherkad", "Pherkard", "Pleione", "Polaris", "Polaris Australis", "Pollux", "Porrima", "Praecipua", "Procyon", "Propus", "Proxima Centauri", "Ran", "Rana", "Rasalgethi", "Rasalhague", "Ras Elased Australis", "Rasalas", "Rastaban", "Ras Thaoum", "Regor", "Regulus", "Rigel", "Rigil Kentaurus", "Rijl al Awwa", "Rotanev", "Ruchba", "Ruchbah", "Rukbat", "Sabik", "Sadachbia", "Sadalbari", "Sadalmelik", "Sadalsuud", "Sadatoni", "Sadr", "Saiph", "Salm", "Sargas", "Sarin", "Sarir", "Sceptrum", "Scheat", "Scheddi", "Schedar", "Segin", "Seginus", "Sham", "Shaula", "Sheliak", "Sheratan", "Sinistra", "Sirius  Dog Star", "Situla", "Skat", "Spica", "Sterope", "Sualocin", "Subra", "Suhail", "Sulafat", "Syrma", "Tabit", "Talitha Australis", "Talitha", "Tania Australis", "Tania Borealis", "Tarazed", "Taygeta", "Tegmen", "Terebellum", "Tejat Posterior", "Tejat Prior", "Thabit", "Theemin", "Thuban", "Tien Kwan", "Titawin", "Tonatiuh", "Torcularis Septentrionalis", "Tureis", "Tyl", "Unukalhai", "Vega", "Veritate", "Vindemiatrix", "Wasat", "Wazn", "Wezen", "Yed Prior", "Yed Posterior", "Yildun", "Zaniah", "Zaurak", "Zavijava", "Zosma", "Zuben-el-Akrab", "Zuben-el-Akribi", "Zubenelgenubi", "Zubeneschamali" };

                // Convert Array to List (pour pouvoir l'editer et eviter les doublons)
                var StarList = new List <string>(StarNameStr);

                // INPUT
inputPla:
                Console.WriteLine("\nEntrez le nombre de planètes à générer (max: " + StarList.Count + ") :");
                nbPla = Convert.ToInt32(Console.ReadLine());
                if (nbPla > StarList.Count || nbPla < 0)
                {
                    Console.WriteLine("Veuillez entrer un nombre compris entre 0 et " + StarList.Count + "\n");
                    goto inputPla;
                }

                #region CREATION (RANDOM) DES PLANETES
                // Création (RANDOM) des Planetes
                // on peut mieux faire, par ex. en ré-utilisant ListExploitation(), mais au moins ça marche

                for (int i = 0; i < nbPla; i++)
                {
                    // Pick a RANDOM Planet Name
                    int r = rnd.Next(StarList.Count);
                    rndStar = (string)StarList[r];
                    //string[] testArray = { "1", "2", "3" };

                    StarList.Remove(rndStar);
                    StarNameStr = StarList.ToArray();


                    int    p   = rnd.Next(1, 6); // Random Planet Type
                    object pla = new object();
                    object exp = new object();
                    switch (p)
                    {
                    case 1:
                        int e = rnd.Next(1, 3); // Random Exploitation Type OCEANIQUE
                        switch (e)
                        {
                        case 1:
                            planeteOceanique.setExploitation(exploitAgricole);
                            break;

                        case 2:
                            planeteOceanique.setExploitation(exploitScientifique);
                            break;
                        }
                        break;

                    case 2:
                        e = rnd.Next(1, 6);     // Random Exploitation Type TEMPEREE
                        switch (e)
                        {
                        case 1:
                            planeteTemperee.setExploitation(exploitAgricole);
                            break;

                        case 2:
                            planeteTemperee.setExploitation(exploitScientifique);
                            break;

                        case 3:
                            planeteTemperee.setExploitation(exploitMiniere);
                            break;

                        case 4:
                            planeteTemperee.setExploitation(exploitIndustrielle);
                            break;

                        case 5:
                            planeteTemperee.setExploitation(exploitMegapole);
                            break;
                        }
                        break;

                    case 3:
                        e = rnd.Next(1, 4);     // Random Exploitation Type ARIDE
                        switch (e)
                        {
                        case 1:
                            planeteAride.setExploitation(exploitMiniere);
                            break;

                        case 2:
                            planeteAride.setExploitation(exploitIndustrielle);
                            break;

                        case 3:
                            planeteAride.setExploitation(exploitMegapole);
                            break;
                        }
                        break;

                    case 4:
                        e = rnd.Next(1, 4);     // Random Exploitation Type VOLCANIQUE
                        switch (e)
                        {
                        case 1:
                            planeteVolcanique.setExploitation(exploitScientifique);
                            break;

                        case 2:
                            planeteVolcanique.setExploitation(exploitMiniere);
                            break;

                        case 3:
                            planeteVolcanique.setExploitation(exploitIndustrielle);
                            break;
                        }
                        break;

                    case 5:
                        e = rnd.Next(1, 3);     // Random Exploitation Type ARCTIQUE
                        switch (e)
                        {
                        case 1:
                            planeteArctique.setExploitation(exploitScientifique);
                            break;

                        case 2:
                            planeteArctique.setExploitation(exploitMiniere);
                            break;
                        }
                        break;
                    }
                    // Sleep 10ms pour tenter d'eviter les redondances dans la randomisation ?
                    // System.Threading.Thread.Sleep(10);
                    // Console.Write(".");      // Pour visualiser le delai 'Sleep'
                }
                #endregion

                Console.ReadKey();
                goto menu1;
                #region ---LEGACY---

                /* ---LEGACY---
                 * planetoceanique.setExploitation(exploitagricole);
                 * planetoceanique.setExploitation(exploitscientifique);
                 *
                 * planetetemperee.setExploitation(exploitagricole);
                 * planetetemperee.setExploitation(exploitscientifique);
                 * planetetemperee.setExploitation(exploitminiere);
                 * planetetemperee.setExploitation(exploitindustrielle);
                 * planetetemperee.setExploitation(exploitmegapole);
                 */
                #endregion
            }
            catch (BadExploitException ex)
            {
                Console.WriteLine(ex.MyMessage);
                Console.ReadKey();
            }
        }