Пример #1
0
 static void Main(string[] args)
 {
     GameAndMethods.Run();
 }
Пример #2
0
        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: ");
        }