program Strony_graficzne;
uses crt,graph,bgitoexe;
var karta,tryb,x0,y0,x1,x2,y,r,nr:integer;
Begin
dodajbgi;
r:=100;
DetectGraph(karta,tryb);
InitGraph(karta,tryb,'');
SetGraphMode(1);
SetColor(lightblue);
SetFillStyle(1,lightblue);
x0:=GetMaxX div 2;
y0:=GetMaxY div 2;
x1:=x0-100;
x2:=x0+100;
y:=y0+100;
SetLineStyle(0,0,3);
SetActivePage(0);
Rectangle(x1,y0,x2,y);
Line(x0,y0,x0-r div 2,y0-r);
FloodFill(x1+5,y0+5,lightblue);
SetActivePage(1);
Rectangle(x1,y0,x2,y);
Line(x0,y0,x0+r div 2,y0-r);
FloodFill(x1+5,y0+5,lightblue);
nr:=1;
repeat
if nr=0 then nr:=1
else nr:=0;
SetVisualPage(nr);
Sound(20);
Delay(100);
NoSound;
Delay(100);
until KeyPressed;
ReadKey;
SetGraphMode(0);
SetColor(14);
SetFillStyle(1,yellow);
SetTextStyle(0,0,0);
y0:=GetMaxY div 2-10;
SetActivePage(0);
OutTextXY(x0,0,'N');
OutTextXY(x0,getmaxy-10,'S');
OutTextXY(0,y0,'W');
OutTextXY(getmaxx-10,y0,'E');
Line(x0,y0-2,x0-(r*2),y0);
Line(x0,y0+2,x0-(r*2),y0);
Line(x0,y0-2,x0,y0+2);
FloodFill(x0-3,y0,yellow);
SetActivePage(1);
OutTextXY(x0,0,'N');
OutTextXY(x0,getmaxy-10,'S');
OutTextXY(0,y0,'W');
OutTextXY(getmaxx-10,y0,'E');
Line(x0+5,y0,x0,y0-r div 2);
Line(x0-5,y0,x0,y0-r div 2);
Line(x0+5,y0,x0-5,y0);
FloodFill(x0,y0-3,yellow);
SetActivePage(2);
OutTextXY(x0,0,'N');
OutTextXY(x0,getmaxy-10,'S');
OutTextXY(0,y0,'W');
OutTextXY(getmaxx-10,y0,'E');
Line(x0,y0-2,x0+(r*2),y0);
Line(x0,y0+2,x0+(r*2),y0);
Line(x0,y0-2,x0,y0+2);
FloodFill(x0+3,y0,yellow);
SetActivePage(3);
OutTextXY(x0,0,'N');
OutTextXY(x0,getmaxy-10,'S');
OutTextXY(0,y0,'W');
OutTextXY(getmaxx-10,y0,'E');
Line(x0-5,y0,x0,y0+r div 2);
Line(x0+5,y0,x0,y0+r div 2);
Line(x0-5,y0,x0+5,y0);
FloodFill(x0,y0+3,yellow);
nr:=0;
repeat
SetVisualPage(nr);
Sound(1);
Delay(200);
NoSound;
Delay(200);
if nr<>3 then nr:=nr+1
else nr:=0;
until KeyPressed;
End.