Предварительный анализ. Рассмотрим объект, который движется по экрану
Рассмотрим объект, который движется по экрану. Пусть это будет квадрат со стороной 20 пикселей. При движении координаты всех его точек будут меняться. Чтобы строить квадрат в любом месте экрана, мы выберем его левый верхний угол в качестве базовой (опорной) точки и обозначим ее координаты за (x,y). Координаты противоположного угла будут равны
(x+20,y+20).
Теперь надо придумать способ изобразить движение так, чтобы рисунок не мигал, и про-
грамма работала одинаково на всех компьютерах независимо от быстродействия. Для этого применяют такой алгоритм:
1) рисуем фигуру на экране;
2) делаем небольшую задержку (обычно 10-20 мс);
3) стираем фигуру;
4) меняем ее координаты;
5) переходим к шагу 1.
Эти действия повторяются до тех пор, пока не будет получена команда «закончить движение» (в нашем случае – нажата клавиша Escили объект вышел за правую границу экрана).
Пусть движение прямоугольника происходит на синем фоне. Тогда самый быстрый и простой способ стереть его – это нарисовать его же, но синим цветом. Поэтому удобно написать процедуру, параметрами которой являются координаты xи y, а также цвет color. Когда мы используем синий цвет, фигура стирается с экрана.
Все действия, которые входят в алгоритм, надо выполнить много раз, поэтому применим
цикл. Кроме того, мы заранее не знаем, сколько раз должен выполниться этот цикл, поэтому применяем цикл while(цикл с условием).
Условие окончания цикла – выход фигуры за границы экрана или нажатие на клавишу
Esc. Мы будем использовать окно размером 400 на 400 пикселей. При этом координата xможет меняться от 0 до 399, поэтому нужное нам условие продолжения цикла выглядит так:
x + 20 < 400
Когда это условие нарушается, квадрат «уехал» за границу окна и нужно закончить выполнение программы.
Дата добавления: 2015-10-05; просмотров: 791;