Написание алгоритма в среде Microsoft Foundation Classes, который приводит окружности к их перемещению слава направо с последующим появлением окружностей в левой части экрана, при достижении ими правой границы. Листинг и результаты работы программы.
При низкой оригинальности работы "Программа простейшего варианта имитации движения окружностей", Вы можете повысить уникальность этой работы до 80-100%
Создать 30 окружностей со случайными параметрами (координаты центра, радиус, цвет) и вывести их на экран. Для задания параметров окружностей используется структура Circle, в которой определены: pos - структура vec2d, центр окружности (pos.x и pos.y координаты X и Y соответственно); Circle& GETCIRCLEBYID(int id) Возвращает ссылку на окружность по ее индексу void DRAWCIRCLE(CDC *PDC) Отрисовка окружностей bool ISINTERSECT(Circle) Определение пересечения окружностей void DOSIMULATION() Функция содержит алгоритм движения SPHERESVIEW.cpp afx_msg void ONTIMER(UINT_PTR NIDEVENT) Функция по таймеру осуществляет вызов DOSIMULATION() таким образом реализуя один шаг имитации движения afx_msg void ONLBUTTONDOWN(UINT NFLAGS, CPOINT point) Отслеживание нажатия левой кнопки мыши afx_msg void ONMOUSEMOVE(UINT NFLAGS, CPOINT point) Отслеживание перемещения мыши afx_msg void ONLBUTTONUP(UINT NFLAGS, CPOINT point) Отслеживание отпускания левой кнопки мыши afx_msg void ONACTIONSTARTSIMULATION() Запустить имитацию движения окружностей посредством пункта меню или нажатия F5 afx_msg void ONACTIONSTOPSIMULATION() Остановить имитацию движения окружностей посредством пункта меню или нажатия F6 afx_msg void ONRBUTTONDOWN(UINT NFLAGS, CPOINT point) Отслеживание нажатия правой кнопки мыши для вызова контекстного меню afx_msg void POPUPMENUCIRCLEPROPS() Вызов окна изменения радиуса окружностей afx_msg void POPUPMENUCIRCLECOLOR() Вызов окна изменения цвета окружностей // Проверка на пересечение с существующими окружностями if (!ISINTERSECT(cir)) m_circles.
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы