Пример #1
0
        static void Main(string[] args)
        {
            List <Båt> HamnRegister = new List <Båt>();

            Kaj.initKaj();

            for (int day = 1; day < 6; day++)
            {
                Console.WriteLine($"Dag {day}");

                for (int i = 0; i < 5; i++)
                {
                    Båt b = new Båt(day);
                    b.kajPlats = Kaj.insertBåt(b.hamnplats);

                    HamnRegister.Add(b);

                    Console.WriteLine(b.message1());

                    Kaj.stampa();

                    Console.ReadLine();
                }
            }
        }
Пример #2
0
        static void Main(string[] args)
        {
            int avvisadeBåtar;
            int kPlats;

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

            for (int day = 1; day < 100; day++)
            {
                avvisadeBåtar = 0;
                Register.skrivaAvvisadeBåtar(0);
                Skärm.skrivaDay(day);     // skriver ut day inkommande och utgående båtar
                Skärm.cancelday();
                do
                {
                } while (Register.båtarnaLämnarHamnen(day)); //Alla båtar som behöver åka tas bort

                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.typ} [{b.båtId}] -> plats {b.kajPlats}");      //  dessa är båtarna som kom till hamnen

                        Register.SkrivutHamnaregister(day);
                    }
                    else
                    {
                        avvisadeBåtar++;
                        Register.skrivaAvvisadeBåtar(avvisadeBåtar);
                        Console.ForegroundColor = ConsoleColor.Red;
                        Skärm.skrivaIngående($"{b.typ} har ingen plats på kajen");
                        Console.Beep();
                        Console.ForegroundColor = ConsoleColor.White;
                    }
                    if (Skärm.pausa(500))
                    {
                        break;                           //Thread.Sleep(1000);
                    }
                }


                if (Skärm.pausa(1000))
                {
                    break;                           //Thread.Sleep(1800);   // ny dag
                }
            }


            Disk.sparaRegisterIfilen(Register.HamnRegister); //spara Register på disken


            //!! Register.HamnRegister = Disk.läsRegisterFrånFil();    //läser registret från disken
        }
Пример #3
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
 }
Пример #4
0
        public static void statistik(int day)
        {
            var totalVikt = (from b in HamnRegister
                             where (day - b.aDag) < b.dagarIhamnen
                             select b.vikt).Sum();


            var medelHastighet = (from b in HamnRegister
                                  where (day - b.aDag) < b.dagarIhamnen
                                  select b.maxHastighet).Average();

            double ledigaPlatser = Kaj.ledigaPlatser();

            Console.SetCursorPosition(2, 36);
            // Console.Write($"Lediga Platser: {ledigaPlatser}  Total Vikt: {totalVikt}  Medelhastighet: {medelHastighet}  ");
            Console.Write("Lediga Platser: {0,2}  Total Vikt: {1,-7}  Medelhastighet: {2, 6:N1}  ", ledigaPlatser, totalVikt, medelHastighet);
        }
Пример #5
0
        public static void statistik(IEnumerable <Båt> dagensRegister)


        {
            double Media = (from b in dagensRegister
                            select b.vikt).Average();

            double totalVikt = (from b in dagensRegister
                                select b.vikt).Sum();

            double medelHastighet = (from b in dagensRegister
                                     select b.maxHastighet).Average();

            double ledigaPlatser = Kaj.ledigaPlatser();

            Console.SetCursorPosition(2, 32);
            Console.Write($"Lediga Platser: {ledigaPlatser}  Total Vikt: {totalVikt}  Medelhastighet: {medelHastighet}  ");
        }
Пример #6
0
        public static void statistik(int day)
        {
            var totalVikt = (from b in HamnRegister
                             //where (day - b.aDag) < b.dagarIhamnen
                             select b.vikt).Sum();

            var medelHastighet = (from b in HamnRegister
                                  //where (day - b.aDag) < b.dagarIhamnen
                                  select b.maxHastighet).Average();

            double ledigaPlatser = Kaj.ledigaPlatser();

            Console.BackgroundColor = ConsoleColor.White;
            Console.ForegroundColor = ConsoleColor.Black;
            Console.SetCursorPosition(xPosStatistik, yPosStatistik);
            // Console.Write($"Lediga Platser: {ledigaPlatser}  Total Vikt: {totalVikt}  Medelhastighet: {medelHastighet}  ");
            Console.Write("STATISTIK => Lediga Platser: {0,2}  Total Vikt: {1,-7}  Medelhastighet: {2, 6:N1}  ", ledigaPlatser, totalVikt, medelHastighet);
            Console.BackgroundColor = ConsoleColor.Black;
            Console.ForegroundColor = ConsoleColor.White;
        }
Пример #7
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
            }
        }