/// <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; }
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; }
/// <summary> /// Проверка необходимости замены лампы. /// </summary> /// <param name="broken">Объект лампы, подозреваемой в поломке.</param> /// <param name="bulb">Объект новой лампочки.</param> private void Fix(Bulb broken, Bulb bulb) { if (broken.IsBroken()) { broken = bulb; } }
/// <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); }
/// <summary> /// Метод замены ламп. /// </summary> /// <param name="bulb">Лампа на замену.</param> public void FixBulbs(Bulb bulb) { Fix(_red, bulb); ///----Поочередно проверяем и при необходимости заменям элементы Fix(_yellow, bulb); Fix(_green, bulb); }
/// <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; }
/// <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"); }