program Hantower(INPUT,OUTPUT);
uses crt,graph;
var
gd,gm:integer;
er:integer;
n:integer;
i:integer;
A:ARRAY[1..10]OF INTEGER;
abc:array[1..3]of integer;
x,y:array[1..3]of integer;
procedure stolb;
begin
SETCOLOR(14);
OUTTEXTXY(230,20,' HANOISKAYA BASHNYA ');
line(100,400,100,100);
line(300,400,300,100);
line(500,400,500,100);
LINE(0,400,640,400);
end;
procedure draw(h:integer);
begin
for i:=h downto 1 do
begin
setfillstyle(1,A[i]);
bar(x[1]-i*10,y[1]-20,x[1]+i*10,y[1]);
y[1]:=y[1]-20;
end;
abc[1]:=y[1];
abc[2]:=400;
abc[3]:=400;
STOLB;
readln;
end;
procedure disk(h,f,t:integer);
begin
stolb;
setfillstyle(1,0);
bar(x[f]-h*10,abc[f],x[f]+h*10,abc[f]+20);
abc[f]:=abc[f]+20;
setfillstyle(1,A[H]);
bar(x[t]-h*10,abc[t],x[t]+h*10,abc[t]-20);
abc[t]:=abc[t]-20;
stolb;
DELAY(33000);
end;
procedure tow(h:integer;f,t, v:integer);
begin
if h=1 then disk (h,f,t)
else
begin
tow (h-1,f,v,t);
disk(h,f,t);
tow(h-1,v,t,f);
end;
end;
begin
CLRSCR;
x[1]:=100;x[2]:=300;x[3]:=500;
y[1]:=400;y[2]:=y[1];y[3]:=y[1];
writeln(' vvedite kolichestvo diskov ');
readln(n);
FOR I:=1 TO N DO
A[I]:=I;
gd:=detect;
initgraph(gd,gm,'G:\');
er:=graphresult;
stolb;
draw(n);
tow(n,1,3,2);
readln;
closegraph;
end.
Как переделать реализацию алгоритма в игру? Что надо подправить и.т.д?
То есть в данном случае "игра" сама передвигает диски, а мне нужно чтобы ей управлял польз-ь...
Сообщение отредактировано: Needhelp -