コード例 #1
0
        public Modeling(int NOC, int NOB, int MidC)
        {
            _Idling          = 0;
            SlowPackage      = 0;
            TimeSlowPackage  = 0;
            MidCourier       = MidC;
            NumberOfCourier  = NOC;
            NumberOfBranch   = NOB;
            Branches         = new List <Branch>();
            Couriers         = new List <Courier>();
            Time             = new TIME();
            Packages         = new List <Package>();
            NumberOfPackages = 0;

            //Инициализация Филиалов
            for (int i = 0; i < NOB; i++)
            {
                Branches.Add(new Branch(i));
            }

            //Инициализация Курьеров
            for (int i = 0; i < NOC; i++)
            {
                Couriers.Add(new Courier(i, Modeling.rand.Next(NOB)));
            }
        }
コード例 #2
0
 public Courier(int N, int Br)
 {
     _Name   = N;
     _Branch = Br;
     Roster  = new List <Package>();
     Freedom = true;
     time    = new TIME();
 }
コード例 #3
0
ファイル: TIME.cs プロジェクト: KorsakovIgor/CourierService
        public static TIME operator +(TIME T1, int T2)
        {
            TIME T3 = new TIME();

            T3.minute = T1.minute + T2;
            T3.hour   = T1.hour;
            while (T3.minute > 59)
            {
                T3.hour++;
                T3.minute -= 60;
            }
            return(T3);
        }
コード例 #4
0
        public Package(int _ID, int _NumberOfBranch, int MinUrgency, int MaxUrgency)
        {
            time     = new TIME();
            DeadLine = new TIME();
            _id      = _ID;
            do
            {
                //генерация пункта отправки и пункта назначения
                _Departure   = Package.rand.Next(_NumberOfBranch);
                _Destination = Package.rand.Next(_NumberOfBranch);
            }while (_Departure == _Destination);

            //генерация срочности заявки
            _Urgency = Package.rand.Next(MinUrgency, MaxUrgency);
        }