예제 #1
0
파일: SailBoat.cs 프로젝트: AdinSar/Hamnen
        public static SailBoat CreateSailBoat()
        {
            StringBuilder stringBuilder = new StringBuilder();
            Random        r             = new Random();
            char          letter;
            int           lenght = 3;

            for (int i = 0; i < lenght; i++)
            {
                double flt   = r.NextDouble();
                int    shift = Convert.ToInt32(Math.Floor(25 * flt));
                letter = Convert.ToChar(shift + 65);
                stringBuilder.Append(letter);
            }
            SailBoat sailBoat = new SailBoat();

            sailBoat.IDNumber          = "S-" + stringBuilder.ToString();
            sailBoat.MaxSpeed          = r.Next(1, 12 + 1);
            sailBoat.Weight            = r.Next(800, 6000 + 1);
            sailBoat.AmountOfDockPlace = 2;
            sailBoat.UniqueProperty    = "BåtLängd: " + Math.Round(r.Next(10, 60 + 1) * 0.3048, 1) + "m";
            sailBoat.DaysInDock        = 4;
            sailBoat.BoatType          = "Segelbåt";
            sailBoat.InDock            = true;


            return(sailBoat);
        }
예제 #2
0
        public static List <Boat> CreateFiveMoreBoats() //skapar 5 båtar
        {
            List <Boat> boats = new List <Boat>();

            for (int i = 0; i < 5; i++)
            {
                int r = random.Next(0, 4);
                if (r == 0)
                {
                    RowBoat rb = new RowBoat();
                    boats.Add(rb);
                }
                if (r == 1)
                {
                    MotorBoat mb = new MotorBoat();
                    boats.Add(mb);
                }
                if (r == 2)
                {
                    SailBoat sb = new SailBoat();
                    boats.Add(sb);
                }
                if (r == 3)
                {
                    CargoShip cg = new CargoShip();
                    boats.Add(cg);
                }
            }
            return(boats);
        }
예제 #3
0
        public void AddSailBoatArrival(Boat[] harbourList, List <Boat> rejectedBoats, int currentDay)
        {
            SailBoat sailBoat = new SailBoat();

            sailBoat.DayOfArrival = currentDay;
            sailBoat.DayToLeave   = currentDay + sailBoat.DaysInHarbour;
            RegisterBoat(harbourList, rejectedBoats, sailBoat);
        }
예제 #4
0
        private Boat CreateSailBoat()
        {
            SailBoat sailBoat = new SailBoat(
                name: $"S-{RegistrationLetters()}",
                type: "Segelbåt",
                portSpaceRequired: 2,
                daysLeftInHarbor: 4
                );

            return(sailBoat);
        }
예제 #5
0
파일: Program.cs 프로젝트: AdinSar/Hamnen
        private static void AddSailBoatToList(List <Boat> boatlist)
        {
            for (int i = 24; i < boatlist.Count - 1; i++)
            {
                if (boatlist[i].InDock is false && boatlist[i + 1].InDock is false && boatlist[i].Place % 1 == 0 && boatlist[i + 1].Place % 1 == 0)
                {
                    SailBoat sailBoat = SailBoat.CreateSailBoat();

                    boatlist[i].BoatType              = sailBoat.BoatType;
                    boatlist[i].IDNumber              = sailBoat.IDNumber;
                    boatlist[i].Weight                = sailBoat.Weight;
                    boatlist[i].MaxSpeed              = sailBoat.MaxSpeed;
                    boatlist[i].DaysInDock            = sailBoat.DaysInDock;
                    boatlist[i].AmountOfDockPlace     = sailBoat.AmountOfDockPlace;
                    boatlist[i].InDock                = sailBoat.InDock;
                    boatlist[i].UniqueProperty        = sailBoat.UniqueProperty;
                    boatlist[i + 1].BoatType          = sailBoat.BoatType;
                    boatlist[i + 1].IDNumber          = sailBoat.IDNumber;
                    boatlist[i + 1].Weight            = sailBoat.Weight;
                    boatlist[i + 1].MaxSpeed          = sailBoat.MaxSpeed;
                    boatlist[i + 1].DaysInDock        = sailBoat.DaysInDock;
                    boatlist[i + 1].AmountOfDockPlace = sailBoat.AmountOfDockPlace;
                    boatlist[i + 1].InDock            = sailBoat.InDock;
                    boatlist[i + 1].UniqueProperty    = sailBoat.UniqueProperty;

                    return;
                }
            }
            for (int i = 24; i >= 1; i--)
            {
                if (boatlist[i].InDock is false && boatlist[i - 1].InDock is false && boatlist[i].Place % 1 == 0 && boatlist[i - 1].Place % 1 == 0)
                {
                    SailBoat sailBoat = SailBoat.CreateSailBoat();
                    boatlist[i].BoatType              = sailBoat.BoatType;
                    boatlist[i].IDNumber              = sailBoat.IDNumber;
                    boatlist[i].Weight                = sailBoat.Weight;
                    boatlist[i].MaxSpeed              = sailBoat.MaxSpeed;
                    boatlist[i].DaysInDock            = sailBoat.DaysInDock;
                    boatlist[i].AmountOfDockPlace     = sailBoat.AmountOfDockPlace;
                    boatlist[i].InDock                = sailBoat.InDock;
                    boatlist[i].UniqueProperty        = sailBoat.UniqueProperty;
                    boatlist[i - 1].BoatType          = sailBoat.BoatType;
                    boatlist[i - 1].IDNumber          = sailBoat.IDNumber;
                    boatlist[i - 1].Weight            = sailBoat.Weight;
                    boatlist[i - 1].MaxSpeed          = sailBoat.MaxSpeed;
                    boatlist[i - 1].DaysInDock        = sailBoat.DaysInDock;
                    boatlist[i - 1].AmountOfDockPlace = sailBoat.AmountOfDockPlace;
                    boatlist[i - 1].InDock            = sailBoat.InDock;
                    boatlist[i - 1].UniqueProperty    = sailBoat.UniqueProperty;

                    return;
                }
            }
        }
예제 #6
0
        public static SailBoat CreateSailBoat()
        {
            SailBoat sb = new SailBoat();

            sb.Id                    = GenerateId("S");
            sb.Weight                = GenerateWeight(800, 6000);
            sb.MaxSpeed              = GenerateMaxSpeed(12);
            sb.BoatLengthInFeet      = GenerateLength(10, 60);
            sb.NumberOfDaysInHarbour = 4;
            sb.NumberOfSlots         = 2;

            return(sb);
        }