예제 #1
0
 /// <summary>
 /// Конструктор светофора с заданным набором лампочек типа <see cref="TrafficLight.Bulb"/> и характеристик светофора.
 /// </summary>
 /// <param name="red">Объект лампы типа<see cref="TrafficLight.Bulb"/>.</param>
 /// <param name="yellow">Объект лампы типа<see cref="TrafficLight.Bulb"/>.</param>
 /// <param name="green">Объект лампы типа<see cref="TrafficLight.Bulb"/>.</param>
 public Lighter(Bulb red, Bulb yellow, Bulb green, byte height, byte width, string material, DateTime dateTime)
     : base(height, width, material, dateTime)
 {
     this._green  = red;
     this._red    = yellow;
     this._yellow = green;
 }
예제 #2
0
파일: Light.cs 프로젝트: 0004072/Junkyard
        public Light()
        {
            int radius = 3;

            this.currentPattern = 3;
            bulbs = new Bulb[3];
            Bulb red    = new Bulb(ConsoleColor.Red, radius);
            Bulb orange = new Bulb(ConsoleColor.Yellow, radius);
            Bulb green  = new Bulb(ConsoleColor.Green, radius);

            bulbs[0] = red;
            bulbs[1] = orange;
            bulbs[2] = green;

            //Light Signal pattern
            int[] stopPattern  = { 0 };
            int[] readyPattern = { 0, 1 };
            int[] goPattern    = { 2 };
            int[] waitPattern  = { 1 };

            LightSignal stop  = new LightSignal(stopPattern, 10);
            LightSignal ready = new LightSignal(readyPattern, 3);
            LightSignal go    = new LightSignal(goPattern, 10);
            LightSignal wait  = new LightSignal(waitPattern, 3);

            LightSignal[] tmp = { stop, ready, go, wait };
            switchingOrder = tmp;
        }
예제 #3
0
 /// <summary>
 /// Проверка необходимости замены лампы.
 /// </summary>
 /// <param name="broken">Объект лампы, подозреваемой в поломке.</param>
 /// <param name="bulb">Объект новой лампочки.</param>
 private void Fix(Bulb broken, Bulb bulb)
 {
     if (broken.IsBroken())
     {
         broken = bulb;
     }
 }
예제 #4
0
        /// <summary>
        /// Метод починки светофора
        /// </summary>
        /// <param name="bulb">Новая лампа в новый светофор.</param>
        /// <param name="lighter">Новый светофор.</param>
        public void FixLighter(Bulb bulb, Lighter lighter)
        {
            Material     = lighter.Material;
            Height       = lighter.Height;
            CreationDate = lighter.CreationDate;

            Fix(_red, bulb);        ///----Поочередно проверяем и при необходимости заменям элементы
            Fix(_yellow, bulb);
            Fix(_green, bulb);
        }
예제 #5
0
 /// <summary>
 /// Метод замены ламп.
 /// </summary>
 /// <param name="bulb">Лампа на замену.</param>
 public void FixBulbs(Bulb bulb)
 {
     Fix(_red, bulb);        ///----Поочередно проверяем и при необходимости заменям элементы
     Fix(_yellow, bulb);
     Fix(_green, bulb);
 }
예제 #6
0
 /// <summary>
 /// Конструктор светофора с заданным набором типа лампочек.
 /// </summary>
 /// <param name="red">Объект лампы типа<see cref="TrafficLight.Bulb"/>.</param>
 /// <param name="yellow">Объект лампы типа<see cref="TrafficLight.Bulb"/>.</param>
 /// <param name="green">Объект лампы типа<see cref="TrafficLight.Bulb"/>.</param>
 public Lighter(Bulb red, Bulb yellow, Bulb green) : base()
 {
     this._green  = red;
     this._red    = yellow;
     this._yellow = green;
 }
예제 #7
0
 /// <summary>
 /// Конструктор светофора по умолчанию.
 /// </summary>
 public Lighter() : base()
 {
     this._green  = new Bulb(0, "Panasonic", 90, 200, "E45");
     this._red    = new Bulb(0, "Panasonic", 90, 200, "E45");
     this._yellow = new Bulb(0, "Panasonic", 90, 200, "E45");
 }