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(); } } }
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 }
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 }
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); }
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} "); }
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; }
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 } }