Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Графика в Turbo Pascal

Автор: Rusherlok 12.12.2017 12:57

Составить программу, моделирующую процесс: В области экрана рисуются 16 заполненных кругов радиусом от 10 до 40 пикселей. Затем круги последовательно начинают уничтожаться в порядке возрастания их размера.

Автор: OCTAGRAM 13.12.2017 7:49

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

Стирание кадра — это обычно действие полностью аналогичное рисованию, нужно с теми же координатами и радиусами нарисовать всё то же, но чёрного цвета, поэтому можно вынести в процедуру с двумя аргументами: целочисленный номер кадра и логический флаг стирания.

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

Конкретные значения количества кадров, длительности паузы и коэффициентов в формуле надо подобрать по вкусу.