Автор: kojan 6.02.2005 16:02
Мне надо сделать из исходной программы чтобы честицы отталкивались от краёв экрана и мезду собой!
Исходная задача:
Код
Uses Crt;
var
x,y:array[1..100] of integer;
N,i:integer;
begin
ClrScr;
n:=4;
randomize;
For i:=1 to N do begin
x[i]:=random(79);
y[i]:=random(50);
end;
Repeat
For i:=1 to N do begin
x[i]:=x[i]+random(3)-1;
y[i]:=y[i]+random(3)-1;
If x[i]>79 Then x[i]:=79;
If y[i]>50 Then x[i]:=50;
If x[i]<1 Then x[i]:=1;
If y[i]<1 Then y[i]:=1;
end;
For i:=1 to N do begin
TextColor(random(3));
GoToXY(x[i],y[i]);
Write('^');
Delay(2500);
ClrScr;
end;
Until KeyPressed;
Readln;
end.
буду очень благодарен за помощь.
Код в теги!
Автор: volvo 6.02.2005 19:14
kojan
Что, прямо в текстовом режиме?
Автор: kojan 7.02.2005 16:21
Код
var
x,y:array[1..100] of integer;
N,i,s:integer;
begin
ClrScr;
n:=4;
randomize;
For i:=1 to N do begin
x[i]:=random(79);
y[i]:=random(50);
end;
Repeat
For i:=1 to N do begin
Repeat
s:=x[i];
x[i]:=x[i]+random(3)-1;
Until x[i]<>s;
repeat
s:=y[i];
y[i]:=y[i]+random(3)-1;
until y[i]<>s;
If x[i]>79 Then x[i]:=79;
If y[i]>50 Then x[i]:=50;
If x[i]<1 Then x[i]:=1;
If y[i]<1 Then y[i]:=1;
end;
For i:=1 to N do begin
TextColor(3);
GoToXY(x[i],y[i]);
Write('^');
Delay(200);
end;
Clrscr;
Until KeyPressed;
Readln;
end.
Вот это исправленная версия! Мне надо чтобы частицы оталкивались друг от друга!
Автор: volvo 7.02.2005 16:30
kojan, ты программу-то сам запускал? Что она делает видел? Что от чего должно отталкиваться? Программа выводит в верхней строке экрана 3 символа "^" и один из них изредка помигивает... Какие частицы???
Цитата(Правила форума)
8. Проверяйте программы перед тем, как запостить их!!
Автор: GoodWind 7.02.2005 20:47
Volvo>Программа выводит в верхней строке экрана 3 символа "^" и Volvo>один из них изредка помигивает... Какие частицы???
а у меня не в верхней строке, а по всему экрану разбросаны :P
...
я так понял эти самые символы должны отталкиваться друг от друга ?