Моделирование участка с дорожным движением C#

Тема работы:Моделирование участка  с дорожным движением и ремонтом дороги ( Моделирование транспортного потока)

Создание моделей - очень важно для вопрощения задач, связанных с движением транспорта на разных участках дороги. Именно моделирование позволяет оценить перспективность любой идеи. В безопасных условиях можно протестировать любую ситуацию, чтобы прийти к наилучшему решению задач.

Перед запуском моделирования можно задать настройки интервала появления автомобилей и периода переключения светофоров.

В программе отображаются:

  • автомобили и их количество в пределах участка дороги
  • светофоры на перекрестке
  • светофоры на участке с ремонтом дороги
  • разграничены полосы движения транспорта

При приобретении Вы получите:

  • исходный код  на C# для Visual Studio 2010 и более новых версий

Скриншот сожержания архива проекта:

Фрагмент программного кода:

 private void Timer_Tick(object sender, EventArgs e)
        {
            int UpCarsCount = 0, DownCarsCount = 0;
            foreach (cCar Car in Road.Cars) 
            {
                if (Car.rect.Y == cRoad.RenderSize / 2 - cRoad.RoadWidth / 2 + 2) UpCarsCount++;
                if (Car.rect.Y == cRoad.RenderSize / 2 + 2) DownCarsCount++;
 
            }

            if ((UpCarsCount == 0) && (DownCarsCount == 0) && (Road.CarsCount[0] == 0) && (Road.CarsCount[1] == 0) )
            {
                Timer.Stop();
                if (MessageBox.Show("Все машины проехали. Повторить моделирование?", "Повторить моделирование?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    this.Close();
                }
                else Application.Exit();
            }

            this.Text = "Верхняя полоса: " + UpCarsCount + " Нижняя полоса: " + DownCarsCount;

            for (int i = 0; i < 2; i++) Road.Lights[i].Update(Timer.Interval);
                        
            for (int i=0;i<2;i++)
            if (Road.CarsCount[i]>0)
            {

                cCar newCar = new cCar(i+1);

                foreach (cCar Car in Road.Cars)                
                    if (CollChecker.RectInRect(newCar.rect,Car.rect)) return;

                if (newCar.rect.Y == cRoad.RenderSize / 2 - cRoad.RoadWidth / 2 + 2) Road.CarsCount[i]--;
                if (newCar.rect.Y == cRoad.RenderSize / 2 + 2) Road.CarsCount[i]--;

                Road.Cars.Add(newCar);
            }

        }

    }

Присоединяйся

Зарегестрируйся с помощью социальных сетей.

Публикуй

Опиши работу, прикрепи файлы и назначь цену.

Зарабатывай

Получай пассивный доход с продажи работ.

Тебе понадобится 5 минут для публикации работы на сайте.
Купить

1000,00 

(без учета комиссии 3,8 %)

8. Модель дорожного движения на перекрестке.rar
56616
Оцени работу

рейтинг

Поделись работой с друзьями

Мы не грузим циферки, чтоб ты увидел контент как можно быстрее;

Комментарии (7)

klausms

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегестрированые пользователи имеют возможность комментировать работы
Моделирование участка с дорожным движением C#
Программа модулирует движение автомобилей на участке дороги с перекрёстком и ремонтом дороги. Моделирование транспортного потока.
Категория: Образование
Стоимость: 1000,00