|
Pascal ABC
|
|
|
Точка, отрезок, окружность, прямоугольник
|
В компьютерные игры играть любите? А
ведь компьютерная игра - это большая программа с дополнением
маленькими программами. К малым относятся звуковые и видео файлы, а так
же картинки и прочие нужные файлы.
Модуль GrahpABC
позволит вам побыть в роли художников-оформителей. Сначала
все покажется очень трудным, но потом ....
Познакомьтесь с функциями, которые
помогут вам нарисовать точку, отрезок, окружность и прямоугольник.
procedure
SetPixel(x,y,color: integer); - закрашивает
один пиксел с координатами (x,y) цветом color (точка).
procedure Line(x1,y1,x2,y2:
integer); - рисует отрезок с началом в точке
(x1,y1) и концом в точке (x2,y2).
procedure Circle(x,y,r:
integer); - рисует окружность с центром в
точке (x,y) и радиусом r.
procedure
Rectangle(x1,y1,x2,y2: integer); - рисует
прямоугольник, заданный координатами противоположных вершин (x1,y1)
и (x2,y2).
procedure
SetPenColor(color: integer); - устанавливает
цвет пера, задаваемый параметром color.
function
PenColor: integer; - возвращает текущий
цвет пера.
procedure
SetPenWidth(w: integer); - устанавливает
ширину пера, равную w пикселам.
type ColorType=integer;
- стандартные цвета задаются символическими константами:
clBlack
– черный
clPurple – фиолетовый
clWhite – белый
clMaroon – темно-красный
clRed – красный
clNavy – темно-синий
clGreen – зеленый
clBrown – коричневый
clBlue – синий
clSkyBlue – голубой
clYellow – желтый
clCream – кремовый |
|
clAqua
– бирюзовый
clOlive – оливковый
clFuchsia – сиреневый
clTeal – сине-зеленый
clGray – темно-серый
clLime – ярко-зеленый
clMoneyGreen – цвет зеленых денег
clLtGray – светло-серый
clDkGray – темно-серый
clMedGray – серый
clSilver – серебряный |
А вот и первый пример.
Пример 1.
Нарисуем Дом.
program dom;
uses graphabc;
begin
setwindowsize (640,480);
setwindowtitle ('Дом');
setpencolor (clbrown);
setpenwidth (2);
rectangle(100,100,270,200);
setbrushstyle (bsdiagcross);
setbrushcolor(cllime);
rectangle(130,120,160,160);
rectangle(210,120,240,160);
line(100,100,185,50);
line(185,50,270,100);
line(145,120,145,160);
line(130,130,145,130);
line(225,120,225,160);
line(210,130,225,130);
circle(185,75,12);
setbrushstyle (bssolid);
floodfill(110,110,clteal);
floodfill(120,97,clltgray);
setfontcolor(clyellow);
setfontstyle(fsbold);
setfontsize(1);
setbrushcolor(clteal);
textout (104,104,'№49');
end.
Рассмотрим
используемые функции в программе:
Название функции |
Что обозначает |
program dom; |
Название программы dom |
uses graphabc; |
Вызов модуля graphabc |
begin |
Начало программы |
setwindowsize (640,480) |
procedure
SetWindowSize(w,h: integer); - устанавливает
ширину и высоту графического окна |
setwindowtitle ('Дом') |
procedure
SetWindowTitle(s: string); - устанавливает
заголовок графического окна |
setpencolor (clbrown) |
procedure
SetPenColor(color: integer); - устанавливает
цвет пера, задаваемый параметром color
clbrown – коричневый |
setpenwidth (2)
|
procedure
SetPenWidth(w: integer); - устанавливает
ширину пера, равную w пикселам |
rectangle(100,100,270,200) |
procedure
Rectangle(x1,y1,x2,y2: integer); - рисует
прямоугольник, заданный координатами противоположных вершин (x1,y1)
и (x2,y2). |
|
setbrushstyle (bsdiagcross) |
procedure
SetBrushStyle(bs: integer); - устанавливает
стиль кисти, задаваемый параметром bs
bsdiagcross -
|
setbrushcolor(cllime) |
procedure
SetBrushColor(color: integer); - устанавливает
цвет кисти, задаваемый параметром color
cllime -
ярко-зеленый |
rectangle(130,120,160,160)
rectangle(210,120,240,160) |
рисование прямоугольников |
|
line(100,100,185,50);
line(185,50,270,100);
line(145,120,145,160);
line(130,130,145,130);
line(225,120,225,160);
line(210,130,225,130);
|
procedure Line(x1,y1,x2,y2:
integer); - рисует отрезок с началом в точке
(x1,y1) и концом в точке (x2,y2) |
|
circle(185,75,12); |
procedure Circle(x,y,r:
integer); - рисует окружность с центром в
точке (x,y) и радиусом r |
|
setbrushstyle (bssolid); |
procedure
SetBrushStyle(bs: integer); - устанавливает
стиль кисти, задаваемый параметром bs
bssolid -
|
|
floodfill(110,110,clteal);
floodfill(120,97,clltgray);
|
procedure
FloodFill(x,y,color: integer); - заливает
область одного цвета цветом color, начиная с точки (x,y)
clteal -
сине-зеленый
clltgray -
светло-серый |
|
setfontcolor(clyellow); |
procedure
SetFontColor(color: integer); - устанавливает
цвет шрифта
clyellow -
желтый |
setfontstyle(fsbold); |
procedure
SetFontStyle(fs: integer); - устанавливает
стиль шрифта
fsbold -
жирный; |
setfontsize(1); |
procedure
SetFontSize(sz:
integer); - устанавливает размер шрифта в
пунктах |
setbrushcolor(clteal); |
procedure
SetBrushColor(color: integer); - устанавливает
цвет кисти, задаваемый параметром color
clteal -
сине-зеленый |
textout (104,104,'№49'); |
procedure
TextOut(x,y: integer; s: string); - выводит
строку s в позицию (x,y) (точка (x,y) задает верхний левый угол
прямоугольника, который будет содержать текст из строки s) |
|
end.
|
Конец программы |
Можешь
загрузить!
Пример 1
Задания
для самостоятельного выполнения
1. Измените цвет дома.(floodfill(110,110,clteal)
заменить на
floodfill(110,110,clPurple))
2. Измените цвет крыши. (floodfill(120,97,clltgray)
заменить на floodfill(120,97,clYellow))
3.
Измените способ закрашивания окон. (setbrushstyle (bsdiagcross)
заменить на setbrushstyle (bsBDiagonal))
4.
Измените цвет закрашивания окон. (setbrushcolor(cllime)
заменить на setbrushcolor(clBlue))
5.Измените цвет надписи на доме. (setfontcolor(clyellow)
на setfontcolor(clWhite))
Результат:
6. Составьте алгоритм, который нарисует точку, отрезок,
прямоугольник, окружность.
Пример 2.
Нарисуем 5 точек.
Можешь
загрузить!
Пример 2
Пример 3.
Нарисуем
6 линий.
Можешь
загрузить!
Пример 3_1
Пример 3_2
Пример 4.
Нарисуем
6 прямоугольников.
Можешь
загрузить!
Пример 4 1
Пример 4 2
Пример 5.
Нарисуем 5 окружностей.
Можешь
загрузить!
Пример 5_1
Пример 5_2
Проверка знаний
Тест:
Точка, линия, прямоугольник и
окружность
|
|