Автор работы: Пользователь скрыл имя, 18 Февраля 2012 в 13:28, курсовая работа
Целью курсовой работы является разработка «мультипликационного» графического проекта в среде программирования Паскаль. Графические возможности Паскаль будут реализованы на примере персонажа «ЦЫПА».
Курсовая работа состоит из двух основных разделов:
1. Графические возможности язык Паскаль;
2. Разработка графического проекта «ЦЫПА».
ВВЕДЕНИЕ…..………………………………………………………………….
1. ГРАФИЧЕСКИЕ ВОЗМОЖНОСТИ ЯЗЫКА ПАСКАЛЬ …………………
1.1 История языка …………………………………………………………….
1.2 Основные понятия графики ………………………………………….......
1.3 Работа с графикой в Паскале …………………………………………….
2. РАЗРАБОТКА ГРАФИЧЕСКОГО ПРОЕКТА ……………………………..
2.1 Этапы создания проекта ………………………………….........................
2.2 Реализация проекта на экране…………………………………………….
ЗАКЛЮЧЕНИЕ……………………………………………………………………
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ..……………………………
ПРИЛОЖЕНИЕ…………………………………………………………………....
line(218,205,205,235);
line(235,205,250,235);
ellipse(245,237,320,50,6,
ellipse(210,237,100,260,
line(207,245,220,215);
line(248,245,235,215);
ellipse(227,245,180,360,
ellipse(248,250,240,90,5,
ellipse(207,250,90,300,5,
setfillstyle(1,14);
floodfill(235,120,6);
setfillstyle(1,6);
floodfill(247,250,6);
floodfill(203,250,6);
line(230,70,225,45);
line(235,60,230,35);{
line(240,60,240,40);
{browi}
ellipse(255,115,10,80,20,
ellipse(205,115,100,170,
{resniz}
ellipse(251,108,270,30,5,
ellipse(256,106,270,30,5,
ellipse(260,110,270,30,5,
ellipse(209,108,150,270,
ellipse(204,106,150,270,
ellipse(200,110,150,270,
w(6);
End;
PROCEDURE
w(b:integer);
begin
line(230,263,230,296);
line(235,263,235,285);
line(235,285,287,283);
ellipse(288,293,290,90,
ellipse(283,303,340,90,
ellipse(265,298,175,325,
setfillstyle(1,b);
floodfill(285,290,6);
line(225,263,225,298);
line(220,263,220,285);
line(220,285,165,275);
ellipse(165,285,65,240,
ellipse(170,295,90,200,
ellipse(192,298,180,10,
setfillstyle(1,b);
floodfill(165,285,6);
end;
PROCEDURE m1(x,y:integer);
begin
setcolor(4);
line(x,y,x+5,y);
line(x+5,y,x+8,y-5); {zvezda}
line(x+8,y-5,x+13,y);
line(x+13,y,x+18,y);
line(x+18,y,x+14,y+4);
line(x+14,y+4,x+20,y+8);
line(x+20,y+8,x+8,y+6);
line(x+8,y+6,x+2,y+8);
line(x+2,y+8,x+4,y+4);
line(x+4,y+4,x,y);
setfillstyle(1,14);
floodfill(x+10,y+3,4);
end;
PROCEDURE t;
begin
setcolor(4);
ellipse(0,0,180,70,50,50)
setfillstyle(1,14); {luna}
floodfill(0,0,4);
setcolor(1);
ellipse(620,450,50,220,
setfillstyle(1,9); {ozero}
floodfill(620,450,1);
end;
PROCEDURE k1(x,y:integer);
begin
setcolor(12);
circle(x+5,y-15,3);
circle(x+5,y-20,3);
circle(x+1,y-17,3);
circle(x+2,y-12,3);
circle(x+10,y-13,3);
circle(x+9,y-18,3);
circle(x+7,y-17,3);
circle(x+7,y-22,3);
circle(x-1,y-19,3);
circle(x+5,y-10,3);
circle(x+12,y-11,3);
circle(x+10,y-20,3);
setcolor(2);
ellipse(x,y,0,90,5,10);
ellipse(x+10,y,90,180,5,
line(x+5,y-10,x+5,y-15);
ellipse(x,y,0,90,5,10);
ellipse(x+10,y,90,180,5,
line(x+5,y-10,x+5,y-15);
end;
PROCEDURE
l1(x,y:integer);
begin
setcolor(8);
line(x,y+10,x+80,y+10);
ellipse(x,y,30,270,5,10);
ellipse(x+10,y-10,30,270,
ellipse(x+20,y-20,30,270,
ellipse(x+30,y-30,30,270,
ellipse(x+40,y-35,0,180,
ellipse(x+80,y,270,120,6,
ellipse(x+70,y-10,270,
ellipse(x+60,y-20,270,
ellipse(x+50,y-30,270,
setfillstyle(6,2);
floodfill(x+30,y-30,8);
end;
BEGIN
initgraph(gd,gm,
'd:/distr/tp7');
t;
l1(50,250);
l1(50,400);
l1(420,330);
l1(550,340);
l1(10,350);
l1(100,400);
l1(350,370);
l1(400,250);
l1(470,270);
m1(300,50); m1(100,45); m1(40,60); m1(140,20); m1(140,100); m1(200,150);
m1(420,100); m1(200,15); m1(420,35); m1(50,20); m1(500,35); m1(550,50);
m1(500,80); m1(500,150); m1(550,150); m1(600,20); m1(610,35); m1(580,80);
m1(400,80); m1(400,150); m1(450,100); m1(350,70); m1(370,35); m1(300,100);
m1(240,100);
m1(200,100); m1(20,150); m1(200,150);m1(150,150); m1(50,100);
for i:=1 to 10 do begin
k1(i*45,480);
k1(i*40,450);
k1(i*70,300);
k1(i*40,350);
end;
k1(150,350);
k1(300,350);
k1(380,320);
k1(400,300);
k1(500,350);
k1(500,350);
k1(450,400);
k1(480,400);
k1(450,450);
k1(500,350);
k1(250,400);
k1(300,450);
setcolor(6);
ellipse(225,100,0,180,65,
ellipse(160,120,90,270,5,
ellipse(290,120,270,90,5,
line(160,140,187,180);
line(290,140,270,180);
ellipse(255,190,225,45,
ellipse(200,190,135,320,
ellipse(205,170,0,180,11,
ellipse(205,145,0,180,10,
ellipse(203,167,0,180,4,
ellipse(205,172,0,180,14,
setfillstyle(1,10);
floodfill(205,145,6);
setfillstyle(1,7);
floodfill(205,160,6);
setfillstyle(1,15);
floodfill(205,130,6);
ellipse(255,170,0,180,11,
ellipse(255,145,0,180,10,
ellipse(258,167,0,180,4,
ellipse(255,172,0,180,14,
setfillstyle(1,10);
floodfill(255,145,6);
setfillstyle(1,7);
floodfill(257,160,6);
setfillstyle(1,15);
floodfill(255,130,6);
ellipse(230,187,0,360,10,
ellipse(215,187,305,45,4,
ellipse(245,187,120,255,
line(220,187,240,187);
setfillstyle(1,6);
floodfill(232,186,6);
floodfill(232,188,6);
{tulovish}
ellipse(245,210,90,150,
ellipse(207,206,0,45,10,
line(218,205,205,235);
line(235,205,250,235);
ellipse(245,237,320,50,6,
ellipse(210,237,100,260,
line(207,245,220,215);
line(248,245,235,215);
ellipse(227,245,180,360,
setfillstyle(1,14);
floodfill(235,120,6);
ellipse(248,250,240,90,5,
ellipse(207,250,90,300,5,
setfillstyle(1,6);
floodfill(247,250,6);
floodfill(203,250,6);
line(230,70,225,45);
line(235,60,230,35);{
line(240,60,240,40);
{browi}
ellipse(255,115,10,80,20,
ellipse(205,115,100,170,
{resniz}
ellipse(251,108,270,30,5,
ellipse(256,106,270,30,5,
ellipse(260,110,270,30,5,
ellipse(209,108,150,270,
ellipse(204,106,150,270,
ellipse(200,110,150,270,
repeat
w(14);
until
keypressed;
q;
readln;
closegraph;
END.