2 / 2 / 2
Регистрация: 01.06.2014
Сообщений: 92
|
||||||
1 | ||||||
Функция проверки состояния в классе, класс автомобилей, избежать ДТП02.01.2016, 18:19. Показов 605. Ответов 6
Метки нет (Все метки)
Здравствуйте, хочу вас всех поздравить с Новым Годом)
А теперь по теме: У меня есть класс "автомобиль" который имеет: координаты авто (х,у), место появления на оси координат ( слева,сверху,справа,снизу), и конечное направление(налево,прямо,направо) Функция движения проста, она наращивает координату в зависимости от места появления до определенного х,у.
У меня идея "цеплять" значения координат из другого объекта класса car, наращивать значение- х, car A так, чтобы x car A был на 30 значений меньше х car B а как это правильно сделать? А чтобы при повороте на перекрестке не сталкивались car A и car B написать функцию которая будет получать значения направлений объектов car A и car B. и при достижении центра(начала перекрестка) вызывать ее, " если A поворачивает направо, а B поворачивает налево, то ждем пока A завершит маневр" На словах и на листочке понятно, а как реализовать это на c++ в ООП не могу сообразить Добавлено через 1 час 15 минут не пугайтесь пожалуйста!) Мне совет нужен только!!!
0
|
02.01.2016, 18:19 | |
Ответы с готовыми решениями:
6
У меня класс B в классе A, а в классе B рекурсивная функция переопределения оператора "()", как её вызвать, не создавая явно объект класса B? Функция в первом классе выдает результат 0 при любых входных значениях, а второй класс не работает после ввода вообще Скрипт проверки состояния ремонта! наследование в классе нескольких функций из другого или как добавить функцию находящуюся в классе в другой класс |
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
|
||||||
02.01.2016, 20:37 | 2 | |||||
Тогда нужно правильно сформулировать вопрос, картинку показать, я ничего не понял... Это же вам надо, по-этому не думаю что кто то будет напрягаться что бы понять вопрос...
Добавлено через 5 минут зачем перед каждым методом ставить ставить уровень доступа? Одного достаточно, и действует он до конца класса или пока его не перекроет другой. не экономично, это одноразовые данные, так зачем их хранить? что? советую начать пользоваться клавишей "Enter" - жить станет легче! я что то не понимаю, наверно, но почему нельзя сразу:
Добавлено через 13 минут Что бы авто не столкнулись, необходимо посмотреть глубже. Пусть авто двигаются по своей полосе(встречное) Так встречные уже не столкнутся. Учитывая то что в классе нет поля скорости, то и авто с одним направлением на одной полосе тоже не столкнутся. Единственное место это перекресток. Тогда самое простое решение - это сверить дистанцию между всеми машинами, и если расстояние между машинами меньше допустимого, то та у которой приоритет(задается вашими правилами, помеха с права допустим) больше продолжит движение, а другая останавливается и пропускает. То есть необходимо прописать правила и разобраться с тем как реализована дорога. Но учитывая ваш код... вам это будет полезно.
1
|
2 / 2 / 2
Регистрация: 01.06.2014
Сообщений: 92
|
|
02.01.2016, 21:00 [ТС] | 3 |
спасибо за отклик
хорошо, type можно "рандомить" в функции код писался прям на форуме торопясь, прошу прощения за кривой код. для симуляции движения. На изображении перекресток, с тремя объектами, необходимо сделать так, чтобы они не столкнулись. Я не могу сообразить как сделать так, чтобы автомобиль продолжал движение до определенного расстояния перед другим автомобилем,т.е. "держал дистанцию". Нужно каким то образом получить координату объекта который находится впереди. Автомобилей в конечном счете будет n-ое количество, передвигаться они будут по таймеру.
0
|
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
|
|||||||||||
02.01.2016, 21:10 | 4 | ||||||||||
симуляция? нет..
Симуляция, в крайнем случае, выглядит примерно так:
авто можно хранить в списке, а выше я описал что примерно делать.
1
|
2 / 2 / 2
Регистрация: 01.06.2014
Сообщений: 92
|
|
02.01.2016, 21:19 [ТС] | 5 |
Можно пожалуйста поподробнее каким образом вы имеете ввиду?
Сейчас появилась идея объявить "массив" объектов класса Car и написать функцию которая будет в зависимости от type (места локации) выдавать координаты, проходя циклом по массиву. Как думаете,жизнеспособная идея? Добавлено через 3 минуты ок, спасибо, пока писала ответ, ваш еще не отображался.
0
|
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
|
|
02.01.2016, 21:26 | 6 |
вот хорошие алгоритмы, которые ответят на все вопросы.
http://habrahabr.ru/post/135948/http:// http://habrahabr.ru/post/165825/
1
|
338 / 67 / 37
Регистрация: 22.12.2010
Сообщений: 138
|
|
02.01.2016, 22:10 | 7 |
рекомендую использовать клеточный автомат для симуляции транспортных потоков
в таком случае, использовав динамический габарит (среднее для каждого АТС) вы избавите себя от проблем "безопасного" расстояния
1
|
02.01.2016, 22:10 | |
02.01.2016, 22:10 | |
Помогаю со студенческими работами здесь
7
Как избежать не нужной пустой реализации виртуальных методов в базовом классе? Какую программу использовать для проверки, мониторинга состояния пинга разных ip ? Ошибка в выводе данных, класс выводит правильно, а класс в классе - нет Абстрактный класс, наследование, класс хранится в другом классе Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |