Суть в том что есть три квадрата на экране, которые перемещаются по прямым с разными скоростями. Вопрос в следующем: как совместить одновременно перемещение трех предметов?? Как я понимаю перемещение одного предмета будет производиться с помощью delay, но если поставить цикл для трех квадратов, то сначала переместиться первый потом второй, потом третий.
Как быть??
for i:=1 to n do
begin
{переместил первый
переместил второй
переместил третий}
delay(сколько тебе нужно);
end;
Можно сделать и в одном цыкле.
Мне нужно, чтоб скорость была разная, а так как написали то получается что они перемещаются с одинаковой скоростью
То беж задержки не будет между квадратами. Нужно чтоб скорость задавалась случайно и квадраты двигались с разными скоростями соответственно. Как это реализовать??
[quote name='volvo' date='22.05.2007 18:42' post='103654']
Кто тебе сказал? Это смотря, как ты рассчитываешь новую координату...
Нужно чтоб квадраты проходили одинаковые координаты(по х) Только чтоб попадали в эти координаты в разное время
Вот набросок:
uses crt, graph;
const
size = 50;
var
d, m: integer;
x, y, v: array[1 .. 3] of integer;
i: integer;
begin
initgraph(d, m, '');
for i := 1 to 3 do begin
x[i] := 0; y[i] := (i - 1)*(10 + size);
v[i] := random(12); { <--- скорость задается случайно? Случайно... }
end;
repeat
cleardevice;
for i := 1 to 3 do begin
rectangle(x[i], y[i], x[i]+size, y[i] + size);
x[i] := x[i] + v[i]; { квадраты движутся с разными скоростями? с разными... }
end;
delay(50);
until keypressed;
closegraph;
end.
Чет у меня вообще не движутся(( я так понимаю они не прохоходят одинаковые координаты
Да лан)). Мне помощь нужна !! , мне нужно чтоб они двигались по одинаковым координатам, но с разными скоростями