Facebook
From zemlin, 9 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 770
  1. program choinka;
  2.  
  3. uses graph, crt;
  4.  
  5. var
  6. i,j: integer;
  7. znak:char;
  8. s:array [1..300,1..3] of integer;
  9. b:array [1..20,1..4] of integer;
  10.  
  11. procedure menu();
  12. var
  13. gm,dm: smallint;
  14. i,j: integer;
  15. begin
  16.      gm:=d8bit;
  17.      dm:=m800x600;
  18.      initgraph(gm,dm,'');
  19.      setcolor(2);
  20.      line(1,550,800,550);
  21.      setcolor(2);
  22.      line(400,550,400,100);
  23.  
  24.      for i:=1 to 15 do
  25.      begin
  26.           setcolor(2);
  27.           line(400,50+i*25,400+i*25,100+i*29);
  28.           setcolor(2);
  29.           line(400,50+i*25,400-i*25,100+i*29);
  30.      end;
  31.  
  32.      for i:=1 to 300 do
  33.      begin
  34.           s[i,1]:=1+random(799);
  35.           s[i,2]:=1+random(550);
  36.           s[i,3]:=0;
  37.      end;
  38. end;
  39.  
  40. procedure snieg();
  41. var
  42. i,j: integer;
  43. begin
  44.      for i:=1 to 300 do
  45.      begin
  46.           if s[i,2]<540 then putpixel(s[i,1],s[i,2],s[i,3])
  47.           //else if s[i,1] mod 2 = 1 then putpixel(s[i,1],s[i,2],15)
  48.           else if random(1000) mod 10 = 3 then putpixel(s[i,1],s[i,2],15)
  49.           else putpixel(s[i,1],s[i,2],s[i,3]);
  50.           s[i,1]:=s[i,1]+2-random(5);
  51.           s[i,2]:=s[i,2]+1;
  52.           if s[i,2]>550 then s[i,2]:=1;
  53.           if getpixel(s[i,1],s[i,2])=15 then s[i,3]:=0 else
  54.           s[i,3]:=getpixel(s[i,1],s[i,2]);
  55.           putpixel(s[i,1],s[i,2],15);
  56.      end;
  57. end;
  58.  
  59. begin
  60.  
  61.      menu();
  62.      repeat
  63.            snieg();
  64.            delay(25);
  65.  
  66.           for i:=1 to 50 do
  67.           begin
  68.           setcolor(random(16));
  69.           Circle(400,80,i);
  70.  
  71.           {b[i,1]:=100+random(300);
  72.           b[i,2]:=400;
  73.           b[i,3]:=random(130);
  74.           b[i,4]:=70;
  75.  
  76.           SetFillStyle(b[i,4],b[i,3]);
  77.           bar(b[i,1],b[i,2],b[i,1],b[i,2]+10);}
  78.      end;
  79.  
  80.            setcolor(random(16));
  81.           Circle(200,490,12);
  82.      
  83.           setcolor(random(16));
  84.           Circle(250,425,12);
  85.  
  86.           setcolor(random(16));
  87.           Circle(350,200,12);
  88.  
  89.           setcolor(random(16));
  90.           Circle(425,333,12);
  91.  
  92.           setcolor(random(16));
  93.           Circle(500,444,12);
  94.  
  95.           setcolor(random(16));
  96.           Circle(600,350,12);
  97.  
  98.      until(i=1000);
  99.  
  100.  
  101.      readln;
  102.      readln;
  103.  
  104. end.