Esempio n. 1
0
        //Vérifie si toutes les positions du navire sont touchées
        bool bateauEstCoule(Navire nav)
        {
            bool estCoule = true;

            for (int p = 0; p < nav._pos.Length && estCoule == true; ++p)
            {
                if (nav._pos[p]._estTouche == false)
                {
                    estCoule = false;
                }
            }
            return(estCoule);
        }
Esempio n. 2
0
        //Trouver où cette position est (son indice) dans le tableau de positions du navire.
        int trouverIndicePosition(Navire nav, Pos p)
        {
            int indice = 0;

            while ((nav._pos[indice]._x != p._x || nav._pos[indice]._y != p._y) && indice < nav._pos.Length)
            {
                ++indice;
            }
            if (indice >= nav._pos.Length)
            {
                //position non trouvée
                return(-1);
            }
            return(indice);
        }
Esempio n. 3
0
        private void Form1_Load(object sender, EventArgs e)
        {
            _chargementencours = true;
            Navire navire = new Navire(1, "K34");

            _blocActuel = new Bloc(4444, navire, "0112", new DateTime(2017, 01, 01), new DateTime(2017, 01, 01), new DateTime(2018, 01, 01), true, true, true, "", true, true);

            cb_dateDebut.Items.Add("");
            cb_dateFin.Items.Add("");
            cb_dateDebut.SelectedIndex = 0;
            cb_dateFin.SelectedIndex   = 0;

            rbt_pm.PerformClick();



            _chargementencours = false;
        }
Esempio n. 4
0
        //Analyse le tir et retourne un message selon le protocol établi avec le client
        String analyserTir(Pos tir)
        {
            String resultat = "";

            //vérifie si l'espace est occupée
            if (CaseTireeEstOccupee(tir))
            {
                //Trouver le navire attaqué dans la flotte attaquée
                Navire navireAttaque = trouverNavireAttaque(nombateauToucheEst(tir));
                //marquer le navire touché
                toucherBateau(navireAttaque, tir);

                //Vérifie si navire est coulé
                if (bateauEstCoule(navireAttaque))
                {
                    //marquer le navire coulé
                    navireAttaque._estCoule = true;
                    //Vérifie si tous les bateaux coulés
                    _partieEstFinie = PartieEstTerminee(_flotteAttaquee);
                    resultat        = "Coule=" + navireAttaque.ToPos();
                    if (_partieEstFinie)
                    {
                        resultat = "" + tir._x + tir._y; //position qui a fait ganger
                    }
                }
                else
                {
                    //touché, non coulé
                    resultat = "Touche=" + tir._x + tir._y;
                }
            }
            else
            {
                resultat = "Manque=" + tir._x + tir._y;
            }
            return(resultat);
        }
Esempio n. 5
0
        static void Main(string[] args)
        {

            Navire monNavire = new Navire("2321", "BlackPearl", "BP", 200);



            Console.WriteLine(monNavire.NomNavire + " " + monNavire.QteFret);

            List<Stockage> Stockages = new List<Stockage>();
            Stockages.Add(new Stockage(200));
            Stockages.Add(new Stockage(200));
            Stockages.Add(new Stockage(200));


            Port unPort = new Port(Stockages);

            unPort.dechargement(monNavire);

            Console.WriteLine(monNavire.NomNavire + " " + monNavire.QteFret);

            Console.WriteLine("End.");
            Console.Read();
        }
Esempio n. 6
0
        void toucherBateau(Navire nav, Pos p)
        {
            int indice = trouverIndicePosition(nav, p);

            nav._pos[indice]._estTouche = true;
        }
Esempio n. 7
0
        static void Main(string[] args)
        {
            #region CHARGER DONNEES
            List <Navire>         collectionNavire   = Persistance.ChargeNavire();
            List <ZoneDeStockage> collectionStockage = Persistance.ChargeZoneDeStockage();
            #endregion

            #region VARIABLES ==> Utilisées pour la structure WHILE (menu)
            int  choix;
            bool sortir = false;
            #endregion

            #region VARIABLES ==> Utilisées pour stocker les données métiers
            Navire         unNavire = null;
            ZoneDeStockage zoneDeStockage = null;
            string         numCin, nomNavire, libelleFret;
            int            quantiteFret, numZoneDeStockage, capaciteMaxiamelDeStockage, capaciteStockageDisponible;

            #endregion

            #region VARIABLES (dénombrements et structures itératives)

            #endregion

            #region VARIABLES DIVERSES

            #endregion

            do
            {
                Console.Clear();
                textM("------------------------------------------------------------------------");
                textM("0 - Sortir du programme.");
                textM("1 - Ajouter un  Navire.");
                textM("2 - Ajouter une Zone de stockage.");
                textM("3 - Afficher la liste des navire.");
                textM("4 - Afficher la liste des zone de stockage.");
                textM("5 - Supprimer un navire.");
                textM("6 - Supprimer une zone de stockage.");

                textM("------------------------------------------------------------------------");
                Console.WriteLine("");


                choix = Convert.ToInt32(Console.ReadLine());


                switch (choix)
                {
                case 1:

                    Console.Clear();

                    textM("------------------------------------------------------------------------");
                    textM("Saisir le numéro CIN.");
                    numCin = Console.ReadLine();
                    textM("Saisir le nom du navire.");
                    nomNavire = Console.ReadLine();
                    textM("Saisir le nom de la marchandise.");
                    libelleFret = Console.ReadLine();
                    textM("Saisir la quantite de marchandise.");
                    quantiteFret = Convert.ToInt32(Console.ReadLine());

                    unNavire              = new Navire(numCin, nomNavire);
                    unNavire.LibelleFret  = libelleFret;
                    unNavire.QuantiteFret = quantiteFret;
                    collectionNavire.Add(unNavire);
                    textM("Le navire a été ajouter.");
                    textM("------------------------------------------------------------------------");
                    break;

                case 2:

                    textM("------------------------------------------------------------------------");
                    textM("Saisir le numéro de la zone de stockage.");
                    numZoneDeStockage = Convert.ToInt32(Console.ReadLine());
                    textM("Saisir la capactité de stockage maximale.");
                    capaciteMaxiamelDeStockage = Convert.ToInt32(Console.ReadLine());
                    textM("Saisir la capacite de stockage disponible.");
                    capaciteStockageDisponible = Convert.ToInt32(Console.ReadLine());


                    zoneDeStockage = new ZoneDeStockage(numZoneDeStockage, capaciteMaxiamelDeStockage);
                    zoneDeStockage.CapaciteStockageDisponible = capaciteStockageDisponible;
                    collectionStockage.Add(zoneDeStockage);

                    textM("La zone de stockage a été ajouter.");
                    textM("------------------------------------------------------------------------");
                    break;

                case 3:
                    Console.Clear();
                    AffichageCollectionNavire(collectionNavire);
                    Console.ReadKey();
                    break;

                case 4:
                    Console.Clear();
                    AffichageCollectionZoneDeStockage(collectionStockage);
                    Console.ReadKey();
                    break;

                case 5:
                    Console.Clear();
                    AffichageCollectionNavire(collectionNavire);

                    textM("------------------------------------------------------------------------");
                    textM("Saisir le numéros  ");
                    numCin = Console.ReadLine();
                    textM("------------------------------------------------------------------------");



                    break;

                case 0:

                    #region SAUVEGARDE DES DONNEES
                    Persistance.Sauvegarde(collectionNavire);
                    Persistance.Sauvegarde(collectionStockage);
                    #endregion

                    sortir = true;
                    break;

                default:
                    sortir = true;
                    break;
                }
            } while (!sortir);
        }
Esempio n. 8
0
        static void Main(string[] args)
        {
            bool continuer = true;
            bool trouve;

            string noCIN, nomNavire, libelleFret;
            int    quantiteFret;

            int numZoneStockage, capaciteStockageMaximale, capaciteStockageDisponible;

            Navire         unNavire;
            ZoneDeStockage uneZoneDeStockage;

            List <Navire>         collectionNavire         = Persistance.ChargeNavire();
            List <ZoneDeStockage> collectionZoneDeStockage = Persistance.ChargeZoneDeStockage();

            if (collectionNavire == null)
            {
                collectionNavire = new List <Navire>();
            }

            if (collectionZoneDeStockage == null)
            {
                collectionZoneDeStockage = new List <ZoneDeStockage>();
            }

            do
            {
                Console.WriteLine("\t0. Sauvegarder et fermer l'application");
                Console.WriteLine();
                Console.WriteLine("\t1. Ajouter un navire");
                Console.WriteLine("\t2. Supprimer un navire");
                Console.WriteLine();
                Console.WriteLine("\t3. Ajouter une zone de fret");
                Console.WriteLine("\t4. Supprimer une zone de fret");
                Console.WriteLine();
                Console.WriteLine("\t5. Afficher les informations des navires");
                Console.WriteLine("\t6. Afficher les informations des zones de stockages");

                string choixUtilisateur = Console.ReadLine();

                Console.Clear();

                switch (choixUtilisateur)
                {
                case "0":
                    Persistance.Sauvegarde(collectionNavire);
                    Persistance.Sauvegarde(collectionZoneDeStockage);

                    continuer = false;

                    break;

                case "1":
                    Console.WriteLine("Quel est son numéro:");
                    noCIN = Console.ReadLine();

                    Console.WriteLine("\nQuel est son nom:");
                    nomNavire = Console.ReadLine();

                    Console.WriteLine("\nQuel est le nom de la marchandise:");
                    libelleFret = Console.ReadLine();

                    Console.WriteLine("\nQuel est la quantité de marchandise:");
                    quantiteFret = Convert.ToInt32(Console.ReadLine());

                    unNavire              = new Navire(noCIN, nomNavire);
                    unNavire.LibelleFret  = libelleFret;
                    unNavire.QuantiteFret = quantiteFret;

                    collectionNavire.Add(unNavire);

                    break;

                case "2":
                    Console.WriteLine("Quel est le nom du navire à supprimer:");
                    nomNavire = Console.ReadLine();

                    Console.WriteLine();

                    trouve = false;

                    foreach (Navire navire in collectionNavire)
                    {
                        if (navire.NomNavire == nomNavire)
                        {
                            collectionNavire.Remove(navire);

                            Console.WriteLine($"Le navire \"{nomNavire}\" à bien été supprimé !");

                            trouve = true;

                            break;
                        }
                    }

                    if (!trouve)
                    {
                        Console.WriteLine("Le navire spécifié n'a pas été trouvé");
                    }

                    Console.ReadKey();

                    break;

                case "3":
                    Console.WriteLine("Quel est son numéro de zone de stockage:");
                    numZoneStockage = Convert.ToInt32(Console.ReadLine());

                    Console.WriteLine("\nQuel est sa capacité de stockage max:");
                    capaciteStockageMaximale = Convert.ToInt32(Console.ReadLine());

                    Console.WriteLine("\nQuel est sa capacité de stockage disponible:");
                    capaciteStockageDisponible = Convert.ToInt32(Console.ReadLine());

                    uneZoneDeStockage = new ZoneDeStockage(numZoneStockage, capaciteStockageMaximale);
                    uneZoneDeStockage.CapaciteStockageDisponible = capaciteStockageDisponible;

                    collectionZoneDeStockage.Add(uneZoneDeStockage);

                    break;

                case "4":
                    Console.WriteLine("Quel est le numéro de la zone de stockage à supprimer:");
                    numZoneStockage = Convert.ToInt32(Console.ReadLine());

                    Console.WriteLine();

                    trouve = false;

                    foreach (ZoneDeStockage zoneDeStockage in collectionZoneDeStockage)
                    {
                        if (zoneDeStockage.NumZoneStockage == numZoneStockage)
                        {
                            collectionZoneDeStockage.Remove(zoneDeStockage);

                            Console.WriteLine($"La zone de stockage \"{numZoneStockage}\" à bien été supprimé !");

                            trouve = true;

                            break;
                        }
                    }

                    if (!trouve)
                    {
                        Console.WriteLine("La zone de stockage spécifié n'a pas été trouvé");
                    }

                    Console.ReadKey();

                    break;

                case "5":
                    foreach (Navire navire in collectionNavire)
                    {
                        Console.WriteLine($"\tNo {navire.NoCIN}\tNom: {navire.NomNavire}\tMarchandise: {navire.LibelleFret}\tQte March.: {navire.QuantiteFret}");
                    }

                    Console.ReadKey();

                    break;

                case "6":
                    foreach (ZoneDeStockage zoneDeStockage in collectionZoneDeStockage)
                    {
                        Console.WriteLine($"\tNo {zoneDeStockage.NumZoneStockage}\tCapacité max: {zoneDeStockage.CapaciteStockageMaximale}\tCapacité dispo: {zoneDeStockage.CapaciteStockageDisponible}");
                    }

                    Console.ReadKey();

                    break;
                }

                Console.Clear();
            } while (continuer);
        }
Esempio n. 9
0
 /// <summary>
 /// Cette méthode guide l'usager pour qu'il place un bateau et limite ses actions pour que ça convienne au bateau courant
 /// </summary>
 /// <param name="navire"></param>
 private void placerBateaux(Navire navire)
 {
     ecrireAuLog("Veuillez placer votre " + navire._nom + "  (" + navire._pos.Length + ")");
     nomBateauCourant      = navire._nom;
     grandeurBateauCourant = navire._pos.Length;
 }