示例#1
0
文件: Form1.cs 项目: Mc-Pain/OOP3
 public CFlight(string id, CAirport new_start, CAirport new_end, DateTime new_takeoff, DateTime new_landing)
 { //создание рейса
     name    = id;
     start   = new_start;
     end     = new_end;
     takeoff = new_takeoff;
     landing = new_landing;
 }
示例#2
0
文件: Form1.cs 项目: Mc-Pain/OOP3
 public CPlane(CAirport airport, int seats)
 { //создание самолёта
     landed      = true;
     landed_in   = airport;
     num_engaged = 0;
     flight      = null;
     passengers  = new CPassenger[seats];
 }
示例#3
0
文件: Form1.cs 项目: Mc-Pain/OOP3
 public void Takeoff()
 {     //взлёт
     if (landed)
     { //самолёт не в воздухе
         landed_in = null;
         landed    = false;
     }
     else
     { //самолёт в воздухе
         _Exception exc = new _Exception("Самолет уже летит, а ты его запустить хочешь");
         throw (exc);
     }
 }
示例#4
0
文件: Form1.cs 项目: Mc-Pain/OOP3
 public void Land(CAirport airport)
 {     //приземление
     if (!landed)
     { //самолёт в воздухе
         landed    = true;
         landed_in = airport;
         for (int i = 0; i < 100; i++)
         {
             this.kick_passenger(i); //высаживаем i-го пассажира
         }
         airport.busy = false;
         flight       = null; //задание выполнено
     }
     else
     { //самолёт не в воздухе
         _Exception exc = new _Exception("Только Чаке может сажать самолёт два раза подряд");
         throw (exc);
     }
 }
示例#5
0
文件: Form1.cs 项目: Mc-Pain/OOP3
        private void Init()
        {
            Thread thr_model = new Thread(new ThreadStart(Modelling));

            thr_model.IsBackground = true;
            Thread thr_time = new Thread(new ThreadStart(Timing));

            thr_time.IsBackground = true;
            airports = new CAirport[planescount];
            planes   = new CPlane[planescount];
            for (int i = 0; i < planescount; i++)
            { //создаём аэропорты и самолёты
                airports[i] = new CAirport(i.ToString());
                planes[i]   = new CPlane(airports[i], seats);

                Invoke(new OutputDelegate(Output), new object[] { String.Format("Работа... {0}", globaltime.ToString("f")) });
            }
            thr_model.Start();
            thr_time.Start();
            button1.Text = "Остановить";
        }