/// <summary> /// On décharge le bateau /// </summary> /// <param name="unNavire"></param> public void Dechargement(Navire unNavire) { int i = 0; while (!unNavire.EstDéchargé() && i < this.Stockages.Count()) { if (this.Stockages[i].ObtenirCapaDispo() > 0) // Si la capacité de stockage dispo est supérieure a 0 { Console.WriteLine(unNavire.ObtenirQtéFret() + " frets a décharger"); Console.WriteLine("Déchargement de " + Stockages[i].ObtenirCapaDispo() + " frets dans le stockage n° " + i); if (this.Stockages[i].ObtenirCapaDispo() < unNavire.ObtenirQtéFret()) // Si la capacité de la zone de stockage est plus petite que la quantité de fret du navire { unNavire.Décharger(Stockages[i].ObtenirCapaDispo()); this.Stockages[i].Stocker(this.Stockages[i].ObtenirCapaDispo()); } else { this.Stockages[i].Stocker(unNavire.ObtenirQtéFret()); unNavire.Décharger(unNavire.ObtenirQtéFret()); } Console.WriteLine("Capacité restante dans le stockage " + i + " : " + Stockages[i].ObtenirCapaDispo() + "\n"); } i++; } if (unNavire.EstDéchargé()) { Console.WriteLine("Le navire est déchargé"); } else { Console.WriteLine("La quantité de fret du bateau était plus grande que la capacité de stockages des zones de stockage"); } }
static void Main(string[] args) { try { Navire unNavire = new Navire(159, "Drogue", "Slice of Life", "1337AB"); List <Stockage> Stockages = new List <Stockage>(); Stockages.Add(new Stockage(60)); Stockages.Add(new Stockage(100)); Port unPort = new Port(Stockages); unPort.Dechargement(unNavire); } catch (Exception Ex) { Console.WriteLine(Ex); } Console.ReadLine(); }