Obrazek 1

Obrazek 1

Program: przedstawiający obrazek pt. „Mieszkańcy kosmosu”.

Wszystkie elementy domu pochodzą z kodu i są stworzone w formie procedur.

Kompilator: Turbo Pascal

Galeria:

Program w akcji.

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.