static void Main(string[] args) { GameAndMethods.Run(); }
public static void WriteOutHarbour() { int number = 1; for (int i = 0; i < x; i++) { Console.Write("|"); if (number < 10) { Console.Write($" {number}"); } else { Console.Write(number); } number++; } Console.WriteLine("|"); Console.Write("|"); for (int i = 0; i < x; i++) { if (harbour[i] is RowingBoat) { Console.Write($"{harbour[i].TokenSign} |"); } else if (harbour[i] is MotorBoat) { Console.Write($"{harbour[i].TokenSign} |"); } else if (harbour[i] is SailingBoat) { Console.Write($"{harbour[i].TokenSign} |> |"); i++; } else if (harbour[i] is Catamaran) { Console.Write($"{harbour[i].TokenSign} |- |> |"); i += 2; } else if (harbour[i] is CargoShip) { Console.Write($"{harbour[i].TokenSign} |- |- |> |"); i += 3; } else { Console.Write($"{harbour[i].TokenSign} |"); } } Console.WriteLine(); Console.Write("|"); for (int i = 0; i < x; i++) { if (secondaryHarbour[i] is RowingBoat) { Console.Write($"{secondaryHarbour[i].TokenSign}"); } else { Console.Write($"{secondaryHarbour[i].TokenSign}"); } Console.Write(" |"); } Console.WriteLine($"\n\nPasserade dagar: {daysPassed}\n"); Console.Write($"Antal båtar i hamn: {NumberOfBoats('R') + NumberOfBoats('M') + NumberOfBoats('S') + NumberOfBoats('K') + NumberOfBoats('L')}" + $"\t|Avvisade båtar: {Harbour.rejectedBoats}" + $"\n\t\t\t|\nRoddbåtar: {NumberOfBoats('R')}\t\t|Total vikt i hamnen: \t{GameAndMethods.WeightCheck()} kg" + $"\nMotorbåtar: {NumberOfBoats('M')}\t\t|Medeltal toppfart: \t{GameAndMethods.KnotToKMH(GameAndMethods.AvarageTopSpeed())} km/h" + $"\nSegelbåtar: {NumberOfBoats('S')}\t\t|Antal lediga platser: \t{EmptySlots()}, plus {EmptyRowBoatSlot()} extra roddbåtsplats" + $"\nKatamaraner: {NumberOfBoats('K')}\t\t|" + $"\nLastfartyg: {NumberOfBoats('L')}\t\t|\n"); Console.WriteLine($"\nPlats\tBåttyp\t\tID-nr\tVikt/KG\tMaxhastighet\tÖvrigt\t\t|"); Console.WriteLine("-------------------------------------------------------------------------"); int listNumber = 1; foreach (var item in harbour) { if (harbour[listNumber - 1] is RowingBoat) { Console.WriteLine($"{listNumber}\t{item.Type}\t{item.IdentityNumber}\t{item.Weight}\t{GameAndMethods.KnotToKMH(item.TopSpeed)} km/h\t{item.SpecialProperty} passagerare\t|"); } if (secondaryHarbour[listNumber - 1] is RowingBoat) { RowingBoat extraRowingBoat = (RowingBoat)secondaryHarbour[listNumber - 1]; Console.WriteLine($"{listNumber}\t{extraRowingBoat.Type}\t{extraRowingBoat.IdentityNumber}\t{extraRowingBoat.Weight}\t{GameAndMethods.KnotToKMH(extraRowingBoat.TopSpeed)} km/h\t{extraRowingBoat.SpecialProperty} passagerare\t|"); } if (harbour[listNumber - 1] is MotorBoat) { Console.WriteLine($"{listNumber}\t{item.Type}\t{item.IdentityNumber}\t{item.Weight}\t{GameAndMethods.KnotToKMH(item.TopSpeed)} km/h \t{item.SpecialProperty} hk\t\t|"); } if (harbour[listNumber - 1] is SailingBoat) { Console.WriteLine($"{listNumber}-{listNumber + 1}\t{item.Type}\t{item.IdentityNumber}\t{item.Weight}\t{GameAndMethods.KnotToKMH(item.TopSpeed)} km/h\t{GameAndMethods.FeetToMetres(item.SpecialProperty)} meter lång\t|"); harbour[listNumber].FreeSlot = false; } if (harbour[listNumber - 1] is Catamaran) { Console.WriteLine($"{listNumber}-{listNumber + 2}\t{item.Type}\t{item.IdentityNumber}\t{item.Weight}\t{GameAndMethods.KnotToKMH(item.TopSpeed)} km/h\t{item.SpecialProperty} bäddplatser\t|"); harbour[listNumber].FreeSlot = false; harbour[listNumber + 1].FreeSlot = false; } if (harbour[listNumber - 1] is CargoShip) { Console.WriteLine($"{listNumber}-{listNumber + 3}\t{item.Type}\t{item.IdentityNumber}\t{item.Weight}\t{GameAndMethods.KnotToKMH(item.TopSpeed)} km/h\t{item.SpecialProperty} containrar\t|"); harbour[listNumber].FreeSlot = false; harbour[listNumber + 1].FreeSlot = false; harbour[listNumber + 2].FreeSlot = false; } listNumber++; } Console.WriteLine("-------------------------------------------------------------------------"); Console.Write("\n[ENTER]:Nästa dag\n[1]:\tStarta om\n[2]:\tAvsluta\nVälj: "); }