示例#1
0
        /// <summary>
        /// Отправляем самолет на взлет.
        /// </summary>
        /// <param name="land">Взлетная полоса для самолета.</param>
        /// <returns>Разбился ли самолет при взлете.</returns>
        protected bool GoTakeOff(Land land)
        {
            // Самолет готовится ко взлету и взлетает.
            land.Free = false;
            Fuel      = _maxFuel;
            State     = AircraftState.GoToFly;
            Thread.Sleep(10000);
            if (Dead())
            {
                return(false);
            }

            // Самолет взлетел.
            State     = AircraftState.Fly;
            land.Free = true;

            return(true);
        }
示例#2
0
        /// <summary>
        /// Разрешить посадку самолету.
        /// </summary>
        /// <param name="land">Посадочная полоса аэропорта.</param>
        public void Land(Land land)
        {
            // Всегда есть шанс, что самолет разобьется...
            if (Dead())
            {
                return;
            }

            // Самолет приземлился и занял полосу.
            land.Free = false;
            Thread.Sleep(5000);
            State = AircraftState.Land;

            // Самолет уехал в ангар. Полет полностью завершен.
            Thread.Sleep(5000);
            State     = AircraftState.Sleep;
            land.Free = true;
            _flyThread.Abort();
        }