示例#1
0
 public static bool båtarnaLämnarHamnen(int day)
 {   // metoden letar efter en båt som måste ut, tar bort den från kaj och registret
     foreach (var b in HamnRegister)
     {
         if ((day - b.aDag) == b.dagarIhamnen)
         {
             Kaj.RemoveBåt(b.kajPlats, b.antalPlatser);
             HamnRegister.Remove(b);    //Båten tas bort från hamnaregistret
             Skärm.skrivautgående($"{b.typ} [{b.båtId}]  plats {b.kajPlats} -> ");
             SkrivutHamnaregister(day); //hamnaregistret skrivs om utan denna båt
             Skärm.pausa(300);
             return(true);              //"true" för att indikera att andra båtar kan åka ut
         }
     }
     return(false);//"false"  eftersom det inte finns några båtar som måste ut
 }
示例#2
0
        static void Main(string[] args)
        {
            //List<Båt> HamnRegister = new List<Båt>();   // registret av hamnen i vilken alla inkommande båtar läggs in. ( i början är tom)
            int kPlats;

            Kaj.initKaj();  // skriver ut "." dvs att befriar alla platser av kajen

            Skärm.Titel();  //   skriver ut titeln på console

            for (int day = 1; day < 30; day++)

            {
                Skärm.skrivaDay(day);     // skriver ut day inkommande och utgående båtar

                Skärm.cancelday();



                foreach (var b in Register.HamnRegister)  //Båtarna lämnar hamnen
                {
                    if ((day - b.aDag) == b.dagarIhamnen) // Båtar lämnar hamnen med följande villkoret
                    {
                        Kaj.RemoveBåt(b.kajPlats, b.antalPlatser);

                        Skärm.skrivautgående(b.message1());
                        Register.SkrivutHamnaregister(day);
                        Thread.Sleep(900);
                    }
                }

                for (int i = 0; i < 5; i++)  // det finns 5 båtar som kommer in varje dag
                {
                    Båt b = new Båt(day);    // structorn anråpas   // skapar objekt båt.  ( b är en slumpmässig båt )
                    kPlats = Kaj.insertBåt(b.hamnplats);
                    if (kPlats >= 0)         //båten har placerats i kajen
                    {
                        b.kajPlats = kPlats;

                        Register.HamnRegister.Add(b);
                        Skärm.skrivaIngående(b.message1());      //  dessa är båtarna som kom till hamnen



                        //Kaj.stampa();

                        Register.SkrivutHamnaregister(day);
                    }
                    else
                    {
                        Skärm.skrivaIngående($"{b.typ} har ingen plats på kajen");
                        Console.Beep();
                    }
                    if (Skärm.pausa(500))
                    {
                        break;
                    }

                    //Thread.Sleep(1000);
                }
                Register.flotta(day);
                Register.statistik(day);

                //  Register.statistik(dagensRegister);

                if (Skärm.pausa(1000))
                {
                    break;
                }


                //Thread.Sleep(1800);   // ny dag
            }
        }