Program: przedstawiający obrazek pt. „Mieszkańcy kosmosu”.
Wszystkie elementy domu pochodzą z kodu i są stworzone w formie procedur.
Kompilator: Turbo Pascal
Kod programu:
program rysunek;
uses crt,graph;
var sterownik,tryb:integer;
procedure dom;
begin
clrscr;
detectgraph(sterownik,tryb);
initgraph(sterownik,tryb,'C:\Progra~1\TP\BGI');
SetBkColor(4);
setfillstyle(1,yellow);
bar(450,400,200,200);
setfillstyle(1,brown);
bar(300,400,350,300);
setfillstyle(1,blue);
bar(225,225,275,275);
bar(375,225,425,275);
setcolor(white);
line(330,350,340,350);
line(340,355,340,350);
setcolor(white);
line(250,225,250,275);
line(225,250,275,250);
line(400,225,400,275);
line(375,250,425,250);
setfillstyle(1,blue);
bar(300,150,350,175);
line(0,400,800,400);
line(200,400,0,700);
line(400,400,600,700);
setcolor(white);
line(450,325,640,325);
line(475,315,475,400);
line(500,315,475,400);
line(525,315,475,400);
line(550,315,475,400);
line(575,315,475,400);
line(600,315,475,400);
line(625,315,475,400);
end;
procedure traktor;
begin
setcolor(red);
circle(400,660,20);
setcolor(green);
circle(650,660,20);
setfillstyle(1,yellow);
bar(350,540,700,635);
setfillstyle(1,brown);
bar(400,540,420,490);
line(700,550,720,550);
setfillstyle(1,yellow);
bar(720,540,790,635);
setcolor(blue);
circle(750,660,20);
setcolor(brown);
line(700,500,640,500);
line(640,500,600,540);
line(700,575,700,500);
end;
procedure dach;
begin
setcolor(white);
line(325,100,450,200);
line(325,100,200,200);
end;
procedure flaga;
begin
line(600,450,600,200);
setfillstyle(1,white);
bar(600,200,800,250);
setfillstyle(1,red);
bar(600,250,800,300);
end;
procedure napis;
begin
setcolor(green);
settextstyle(4,0,6);
outtextxy(1,700,'Mieszkancy kosmosu');
end;
procedure snieg;
const
szerokosc = 800;
wysokosc= 700;
powtorzen = 1000;
var
i:Integer;
x, y: Integer;
begin
randomize;
for i:=1 to powtorzen do
begin
x:= random(szerokosc)+1;
y:= random(wysokosc)+1;
PutPixel(x,y,white);
delay(1);
end;
end;
procedure balwanek;
var
i:Integer;
begin
SetColor(black);
SetFillStyle(1,white);
Circle(100,550,50);
FloodFill(100,550,black);
SetColor(white);
Circle(100,550,50);
SetColor(black);
Circle(100,480,40);
FloodFill(100,480,black);
SetColor(white);
Circle(100,480,40);
SetColor(black);
Circle(100,420,30);
FloodFill(100,420,black);
SetColor(white);
Circle(100,420,30);
SetFillStyle(1,black);
SetColor(black);
for i:=1 to 5 do
begin
Circle(100,590-i*25,5);
FloodFill(100,590-i*25,black);
end;
Circle(90,410,3);
FloodFill(90,410,black);
Circle(110,410,3);
FloodFill(110,410,black);
Circle(100,418,5);
FloodFill(100,415,black);
setcolor(brown);
line(200,470,120,470);
line(140,470,160,450);
line(150,470,160,500);
line(180,470,210,440);
end;
procedure napis2;
const
sciezka='C:\progra~1\tp\bgi';
napisik='Przedstawia';
var
i,x,y:integer;
d,m:integer;
begin
d:=detect;
initgraph(d,m,sciezka);
for i:=0 to 440 do
begin
delay(5);
clearviewport;
outtextxy(10,i,napisik);
end;
repeat until keypressed;
end;
procedure napis1;
const
sciezka='C:\progra~1\tp\bgi';
imie='Lukasz';
nazwisko='Budrewicz';
var
i,x,y:integer;
d,m:integer;
begin
d:=detect;
initgraph(d,m,sciezka);
for i:=0 to 510 do
begin
delay(10);
clearviewport;
outtextxy(i,10,imie);
outtextxy(550,393-i*3 div 4,nazwisko);
end;
repeat until keypressed;
end;
begin
dom;
dach;
balwanek;
traktor;
flaga;
napis;
snieg;
readln;
closegraph;
end.