вот получившийся код:
Исходный код
Program www;
uses crt,graph;
var {c:char;}
menu:array[0..2] of string;
item,i:integer;
procedure Zatavka;
var
GrDriver,grmode:integer;
begin
grdriver:=detect;
initgraph(grdriver,grmode, 'c:\TP\TP\BGI');
setfillstyle(9,blue);
bar(0,0,640,75);
setcolor(14);
circle(45,40,30);
setfillstyle(1,14);
floodfill(45,40,14);
setcolor(6);
setlinestyle(0,brown,3);
line(200,100,400,100);
line(200,300,200,100);
line(400,300,400,100);
line(260,250,260,100);
line(340,250,340,100);
setfillstyle(1,darkgray);
bar(250,250,350,260);
setfillstyle(1,green);
Bar(0,300,640,360); {’а ў }
setlinestyle(0,0,3);
end;
procedure DrawKach(x,y:integer);
begin
setcolor(6);
line(260+x,250-y,260,100);
line(340+x,250-y,340,100);
setfillstyle(1,darkgray);
bar(250+x,250-y,350+x,260-y);
end;
procedure DrawNoKach(x,y:integer);
begin
setcolor(0);
line(260+x,250-y,260,100);
line(340+x,250-y,340,100);
setfillstyle(1,black);
bar(250+x,250-y,350+x,260-y);
end;
var driver,mode:integer;
t,h:real;
begin
h:=2*pi/400;
t:=0;
driver:=VGA;mode:=VGAhi;
initGraph(driver,mode,'c:\tp\tp\bin');
Zatavka;
repeat
DrawNoKach(trunc(20*(sin(t))),trunc(20*(1-cos(sin(t)))));
t:=t+h;
if t>2*pi then t:=0;
DrawKach(trunc(20*(sin(t))),trunc(20*(1-cos(sin(t)))));
delay(1000);
until keypressed;
CloseGraph;
end.
procedure Zadacha;
begin
clrscr;
Writeln('zadacha=)');
readln;
end;
begin
menu[0]:='1.Заставка ';
menu[1]:='2.Задача ';
menu[2]:='3.Выход';
item:=0;
while true do begin
clrscr;
for i:=0 to 2 do begin
if i=item
then begin
textcolor(14);
textbackground(4);
end
else begin
textcolor(7);
textbackground(0);
end;
writeln(menu[i]); {ЊҐо}
end;
textbackground(0);{–ўҐв д® -—сал©}
case readkey of
#0: case readkey of
#72: if item>0 then item := item - 1;
#80: if item<2 then item := item + 1;
end;
#13: case item of
0: Zastavka;
1: Zadacha;
2: Halt;
end;
'1': Zastavka;
'2': Zadacha;
'3': Halt;
end;
end.