Пример #1
0
        static void Main1(string[] args)
        {
            //Заключается в добавлении в список нового экземпляра BouncingBall
            // Всю инициализацию положения, скорости, размера, цвета
            // BouncingBall выполняет сам в конструкторе



            //у нас есть лифт
            var elevator = new ElevatorClass();

            //подпишемся на изменение состояния лифта
            elevator.StateChanged +=
                (s, e) => Console.WriteLine($"Состояние лифта: {e}");
            //подпишемся на изменение этажа у лифта
            elevator.LevelChanged +=
                (s, e) => Console.WriteLine($"Лифт на этаже: {e}");

            //изначально лифт на 1 этаже
            Console.WriteLine($"Лифт на этаже: {elevator.Level}");
            //лифт пустой в ожидании
            Console.WriteLine($"Состояние лифта: {elevator.State}");
            Console.WriteLine(new string('-', 50));

            //поступил вызов с 6 этажа
            Console.WriteLine("Лифт поехал на 6 этаж");
            //elevator.GoTo(6).GetAwaiter().GetResult();
            Console.WriteLine("Лифт приехал на 6 этаж и открыл двери");
            Console.WriteLine($"Лифт на этаже: {elevator.Level}");
            Console.WriteLine(new string('-', 50));

            Console.WriteLine();
            Console.ReadLine();
        }
Пример #2
0
        private async void button1_ClickAsync(object sender, EventArgs e)
        {
            Data.potok  = 1;
            label5.Text = minlvl.Count.ToString();

            if (minlvl.Count > 0)
            {
                button1.Enabled = false;
                int level = this.SortAsync();
                //label1.Text = oldbutton.Text;
                var elevator = new ElevatorClass();
                elevator.StateChanged += Elevator_StateChanged;
                elevator.LevelChanged += Elevator_LevelChanged;

                l = 1;
                // await elevator.AddF();
                await Task.Delay(1000);

                await elevator.GoTo(level);
            }
            // Controls.Find
            button1.Enabled = true;
            label5.Text     = minlvl.Count.ToString();
        }