Московская открытая социальная академия
Финансово-экономический факультет
Кафедра информационных технологий в экономике
К У Р С О В А Я Р А Б О Т А
по дисциплине «Компьютерная графика»
на тему: «Изображение движущегося объекта на фоне неподвижных предметов.
Луна на звездном небе»
Выполнил (а) студент (ка) __Семакина _______________________
____Наталья Сергеевна______группы__332______
Руководитель курсовой работы проф. Лаптев Д.Н.
Зачтена Оценка Подпись преподавателя
«___» __________2010 г. ________ ____________________
Москва - 2010
Оглавление
Введение
Используя полученные навыки программирования на Turbo Pascal
Код программы:
Анимация пейзажа - домик, дерево, з дымаря домика выпускаются клубочки дыма, а по небу передвигается туча.
program grafika_01;
uses crt,graph;
var
gr1,gr2,x,y,a,b,c,d,i:integer;
begin
a:=200;b:=1;c:=260;d:=100;i:=0;
gr1:=detect;
gr2:=vgahi;
initgraph(gr1,gr2,'C:PascalBGI');
SetFillStyle(1,1);
Bar(0,0,640,480);
SetFillStyle(1,2);
Bar(0,460,640,480);
SetFillStyle(1,6);
Bar(80,340,200,460);
Bar(85,270,115,320);
SetFillStyle(1,9);
Bar(120,380,160,420);
SetColor(0);
Rectangle(120,380,160,420);
Line(140,380,140,420);
Line(140,400,160,400);
Line(60,340,140,280);
line(140,280,220,340);
<
SetFillStyle(1,6);
FloodFill(140,310,0);
SetFillStyle(1,9);
Sector(140,325,0,180,20,20);
line(140,325,140,305);
Line(140,325,154,315);
Line(140,325,126,315);
SetFillStyle(1,14);
FillEllipse(490,100,40,40);
SetFillStyle(1,7);
FillEllipse(492,104,4,4);
FillEllipse(488,86,6,6);
FillEllipse(500,75,2,3);
FillEllipse(480,120,4,2);
FillEllipse(520,90,2,2);
SetFillStyle(1,6);
Bar(450,340,460,460);
SetFillStyle(1,2);
Arc(415,320,40,320,20);
Arc(455,320,40,140,20);
Arc(455,320,220,320,20);
Arc(495,320,220,500,20);
Arc(435,320,75,135,30);
Arc(475,320,45,105,30);
Arc(435,320,225,315,30);
Arc(475,320,225,320,30);
Arc(455,300,20,160,25);
FloodFill(455,320,0);
x:=0;
y:=460;
SetColor(2);
repeat
Line(x,y,x+10,y-10);
Line(x+10,y,x+30,y-20);
x:=x+20;
until x>=640;
repeat
SetfillStyle(1,1);
Bar(0,140,520,200);
Bar(0,0,200,265);
SetColor(1);
SetColor(0);
if c<0 then begin c:=260;i:=0;d:=100 end;
SetFillStyle(1,15);
Arc(a-40,170,40,320,20);
Arc(a,170,40,140,20);
Arc(a,170,220,320,20);
Arc(a+40,170,220,500,20);
Arc(a-20,170,45,135,30);
Arc(a+20,170,45,135,30);
Arc(a-20,170,225,315,30);
Arc(a+20,170,225,320,30);
FloodFill(a+1,171,0);
SetFillStyle(1,7);
FillEllipse(d,c,8+i,5+i);
FillEllipse(d,c-10,14+i,10+i);
FillEllipse(d,c-25,19+i,15+i);
FillEllipse(d,c-45,25+i,19+i);
c:=c-11;
d:=d+5*b;
i:=i-1;
if a=460 then b:=-1;
if a=40 then b:=1;
a:=a+10*b; delay(64000); delay(64000);
until keypressed;
readln;
end.