русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Теория.


Дата добавления: 2015-07-23; просмотров: 566; Нарушение авторских прав


Для того чтобы нарисовать движущийся объект, необходимо:

а) знать процедуры, рисующие различные графические примитивыи другие вспомогательные функции:

 

модуль GRAPH

circle(x, y:integer; R:word) –рисует окружность.

rectangle(x1, y1, x2, y2:integer) –рисует прямоугольник, (х1, у1) – координаты левого верхнего угла, (х2, у2) – правого нижнего.

putpixel(x, y:integer; color:word) –рисует точку с координатами (х, у) и цветом color.

ellipse(x, y:integer; stangle, endangle, xr, xy:word) –рисует дугу эллипса с центром в точке (х, у), полуосями xr, yr; stangle и endangle – начальный и конечный углы дуги (описываются от горизонтальной оси против часовой стрелки).

line(x1, y1, x2, y2:integer) –рисует линию, начинающуюся в точке (х1, у1) и заканчивающуюся в точке (х2, у2).

setcolor(color:word) –устанавливает цвет линии, color = 0..15.

SetBkColor(ColorNum : Word);

Устанавливает текущий цвет фона, используя палитру. Номера цветов фона находятся в диапазоне от 0 до 15.

FloodFill(X, Y : Integer; Border : Word);

Закрашивает замкнутую область, используя текущие стиль и цвет закраски.Точка с координатами (X, Y) - начальная точка внутри замкнутой области, с которой начнется закраска. Текущий шаблон закраски устанавливается процедурами SetFillStyle и SetFillPattern. Закрашивается область, ограниченная цветом с номером Border.

SetFillStyle(Pattern : Word; Color : Word);

Устанавливает цвет и стиль закраски.

OutTextXY(X, Y : Integer; TextString : String);

Посылает строку на устройство вывода.Отображает TextString в позиции (X, Y). Строка TextString усекается на границе области просмотра, если она слишком длинная.

 

Модуль CRT

delay(ms:word) –процедура приостанавливает выполнение программы на ms миллисекунд.

keypressed –процедура возвращает значение TRUE, если была нажата какая-л. клавиша на клавиатуре и FALSE – если нет. Тип процедуры boolean.



Другие необходимые процедуры см. в лекциях и в описании языка Турбо Паскаль.

ReadKey: Char. –Функция считывает символ, соответствующий нажатой клавише. Если нажата функциональная клавиша, в первый раз функция принимает значение #0, во второй раз –значение кода этой клавиши. Если ни одна клавиша не была нажата, то функция приостанавливает работу программы и ожидает нажатия клавиши.

 

б)УметьпроизводитьИнициализацию графического режима.

Стандартным режимом работы компьютера является текстовый. Следовательно, чтобы перейти в графический режим, его надо установить (инициализировать). Делается это с помощью процедуры

InitGraph(GraphDriver,GraphMode: Integer; Path: String);

GraphDriver -параметр, задающий тип графического драйвера, то есть специальной программы, управляющей экраном в графическом режиме. Стандартно используется драйвер EGAVGA.BGI

GraphMode –параметр, определяющий режим работы с выбранным драйвером.

Path –параметр, указывающий путь к нужному драйверу, т.е. в каком каталоге он записан.

Понятно, что обычному пользователю нет необходимости анализировать это. Поэтому имеется вариант, при котором машина автоматически выставляет эти параметры:

 

program paint1;

uses graph;

var

gd,gm:integer;

begin

gd:=detect;

initgraph(gd,gm,'');

При этом процедура сама проверяет наличие и тип видеоадаптера (устройства сопряжения компьютера и монитора), загружает соответствующий графический драйвер и устанавливает значение второго параметра. Так как в качестве третьего параметра указана пустая строка, то драйвер должен находиться в текущем каталоге. Иначе возникает ошибка. Для ее устранения необходимо в каталоге File выбрать пункт Change Dir и установить в качестве текущего каталог BGI или в качестве пути при вызове процедуры initgraph установить путь c:\tp\bgi.

в)Знать Алгоритмы рисования движущихся объектов

Необходимо знать алгоритмы рисования движущихся объектов в цикле:

1. вычисляется значение координат объекта

2. объект рисуется

3. организуется приостановка выполнения программы, чтобы глаза человека восприняли образ объекта

4. объект стирается (т. е. рисуется цветом фона)

На самом деле, удобнее сначала стирать объект, а потом рисовать на новом месте, что и делает следующая программа:

 

Пример рисования движущегося объекта.

В данной программе шар движется по дорожке вправо.

program paint1;

uses crt,graph;

var

i,gd,gm,x,y:integer;

r:word;

begin

r:=30; { Радиус шарика }

gd:=detect; {Инициализация (включение) }

initgraph(gd,gm,''); { графического режима }

line(0,300,620,300); { Рис. дорожки}

x:=30; y:=269; { Начальные координаты шарика}

for i:=1 to 40 do

begin

setcolor(0); { Стирание }

circle(x,y,r); { шарика }

delay(5000); { задержка}

setcolor(3); { Рисование}

circle(x,y,r); { шарика }

x:=x+10; { Вычисление новой координаты}

end;

readln;

closegraph;

end.

 



<== предыдущая лекция | следующая лекция ==>
Тема 6. Процедуры и функции (4часа) | Управление объектом.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.696 сек.