Отрисовка изображения в разных координатах - Turbo Pascal
Формулировка задачи:
Нужно отредактировать прогу, так чтобы в ней появились еще несколько таких же елочек только сделаных независимо от координат, и также присутствовали падающие снежинки на фоне))) спасибо!!!
Решение задачи: «Отрисовка изображения в разных координатах»
textual
Листинг программы
Program newyear; uses graph,crt; Var g,m:integer; t,s:pointer; a:array[1..20,1..2]of integer; Begin g:=detect; initgraph(g,m,''); {} SetColor(white); Line(2,2,8,8); Line(2,8,8,2); Line(5,0,5,10); Line(0,5,10,5); {} GetMem(s,ImageSize(0,0,10,10)); GetImage(0,0,10,10,s^); ClearDevice; {} SetColor(green); SetFillStyle(1,green); Line(60,10,35,60); Line(85,60,35,60); Line(85,60,60,10); FloodFill(60,15,green); Line(60,60,22,110); Line(97,110,22,110); Line(97,110,60,60); FloodFill(60,70,green); Line(60,110,10,160); Line(10,160,110,160); Line(110,160,60,110); FloodFill(60,120,green); {} SetColor(yellow); SetFillStyle(1,yellow); Circle(60,10,7); FloodFill(60,10,yellow); Circle(35,60,3); FloodFill(35,60,yellow); Circle(60,60,3); FloodFill(60,60,yellow); Circle(85,60,3); FloodFill(85,60,yellow); Circle(22,110,3); FloodFill(22,110,yellow); Circle(60,110,3); FloodFill(60,110,yellow); Circle(97,110,3); FloodFill(97,110,yellow); Circle(10,160,5); FloodFill(10,160,yellow); Circle(110,160,5); FloodFill(110,160,yellow); {} SetColor(brown); Rectangle(55,161,65,170); SetFillStyle(1,brown); FloodFill(57,163,brown); {} SetLineStyle(0,0,3); SetColor(White); SetFillStyle(5,11); setcolor(blue); FillEllipse(60,35,5,10); Fillellipse(60,85,5,10); Fillellipse(60,135,5,10); {} GetMem(t,ImageSize(0,0,120,170)); GetImage(0,0,120,170,t^); ClearDevice; {} Setcolor(red); OutTextxy(250,10,'Happy New Year'); SetTextStyle(4,2,10); {} for g:=0 to 5 do PutImage(g*95,g*30,t^,OrPut); {} for g:=1 to 20 do begin a[g,1]:=g*20 + random(20); a[g,2]:=20*random(20); end; repeat {} for g:=1 to 20 do begin a[g,1]:=a[g,1]+5*(1-2*random(1)); a[g,2]:=a[g,2]+2; end; for g:=1 to 20 do begin if a[g,2]>600 then a[g,2]:=0; if a[g,1]>300 then a[g,1]:=0; end; for g:=1 to 20 do PutImage(a[g,2],a[g,1],s^,XorPut); delay(50); for g:=1 to 20 do PutImage(a[g,2],a[g,1],s^,XorPut); until KeyPressed; readln; closegraph; end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д