- •Текстовый и графический режимы.
- •Графические координаты.
- •Переключение между текстовым и графическим режимами.
- •Установка цвета линии, типа линии и закраски.
- •Точки на экране
- •Линии и прямоугольники
- •Окружности, эллипсы, дуги.
- •Многоугольники
- •Вывод изображений в относительных координатах.
- •Работа с текстами в графическом режиме.
- •Графические окна.
- •Графики функций Задача 1.
- •Программы построения кривых на плоскости.
- •Задача 2.
- •Программы, использующие случайные числа и рекурсию Задача 3.
- •Задача 5.
- •Занимательная графика
- •Задача 8.
- •Трехмерные иллюзии.
- •Литература.
Графические окна.
Турбо Паскаль позволяет пользователю в любом месте экрана определить окно. Когда в окно производится запись, оно ведет себя точно так, как если бы вы использовали полный экран, оставшаяся часть экрана при этом неприкосновенна. В графическом режиме окна формируются с помощью процедуры SetViewPort.
Описание: SetViewPort(x1, y1, x2, y2, Clip).
Примечания: Точка (x1, y1)задает верхний левый угол области просмотра, а точка с координатами(x2, y2)определяет правый нижний угол области просмотра. Булевская переменнаяClipопределяет, будет ли изображение отсекаться текущими границами области просмотра. Определены следующие константы:ClipOn:=True;ClipOff:=False.
Процедура SetViewPort(0, 0, GetMaxX, GetMaxY, ClipOn)всегда задает в качестве области просмотра все поле графического экрана.
Все графические команды зависят от текущей области просмотра.
Процедуры InitGraph,ClearDeviceиSetGraphModeсбрасывают определение текущей области просмотра и устанавливают в качестве области просмотра весь экран. Текущее определение области просмотра можно получить с помощью процедурыGetViewSettings.
Пример программы:
ProgramExamp_19;
Программирование движущихся объектов
Очень часто хочется "оживить" картинку, "заставить" что-нибудь двигаться. Как сделать это, не используя анимационные программы средствами модуля Graph? Движение простых объектов может быть имитировано с помощью некоторых не очень сложных приемов. Один из самых простых приемов имитации движения – использование операторов цикла. В теле цикла нужно нарисовать объект заданным цветом, сделать паузу, затем нарисовать этот объект цветом фона. при этом положение двух одинаковых объектов должно изменяться в соответствии с параметрами цикла.
Рассмотрим самый простой случай: пусть движется шарик. На основе приведенной программы выполните движение шарика вверх или вниз, с ускорением, по диагонали.
Program Examp_20;
А теперь заставим двигаться более сложный объект – кораблик.
Program Examp_21;
Следующий наша работа: осуществить поворот фигуры, изображающей стрелу, вокруг заданной точки на заданный угол. Поворот выполнять, пока не будет нажата клавиша Esc. Изобразить оси координат, точку поворота и указать значения координат точки поворота на соответствующей оси.
Program Examp_22;
Написать программу, итогом работы которой будет движение шарика. Его движение должно определяться тем, какая из клавиш управления курсором нажата (вверх, вниз, влево, вправо).
В Турбо Паскале имеются операторы, которые способны определить, нажата ли какая-нибудь клавиша на клавиатуре, и если нажата, то в специально зарезервированную переменную передается значение, соответствующее именно этой клавише. Другими словами, все клавиши на клавиатуре имеют так называемые "скан-коды". И в случае нажатия на клавишу именно ее скан-код и передается в нашу программу через заранее выбранную переменную. Договоримся, что программа будет выполняться до тех пор, пока не будет нажата клавиша Esc.
Program Examp_23;
Составить программу, рисующую на экране картинку – "Снежную бабу" При нажатии на клавиши <стрелка влево> и <стрелка вправо> картинка должна двигаться по экрану в соответствующем направлении, но не должна выходить за границы экрана.
Program Examp_24;