Разобрался... Теперь надеюсь последняя ошибка...
Может быть у меня что-то не так, но шарики по экрану не летают. Появляется только поле и шарик в углу 0,0

program linux;
type Shariki=array[1..16]of real;
//основные
var i,j,a,b,c,x,y,d,key,i1,j1:integer;
//для шарикоф
var xc, yc, dx, dy: Shariki;
//Level
var lev,fl,sh:integer;
txt,keyt:string;
//Int To Sring
function inttostr(inttostr:integer):string;
begin
end;
function round(x:real):integer;
begin
end;
//Рисует поле
Procedure drawPole;
begin
SetColor(255, 255, 255);
FillRect(0, 0, GetWidth, GetHeight);
SetColor(0, 0, 0);
FillRect(0, 0, round(xc[1]), 4);
for j:=0 to b do begin
drawText('-',j*10,0);
drawText('-',j*10,GetHeight-10);
end;
for j:=0 to a do begin
drawText('|',5,j*10);
drawText('|',GetWidth-5,j*10);
end;
//Заполнение экрана чем-нибудь
for i:=1 to a-10 do begin
for j:=1 to b-1 do begin
drawText(txt,j*10,i*10);
txt:=txt+'.'
end;
end;
end;
//Проработка и нарисовка шариков
Procedure drawCircus(sh:integer);
Var i1,j1:integer;
Var dre:real;
begin
For i1:=1 to sh do begin
for j1:=1 to sh do begin
dre:=sqrt(sqr(round(xc[j1])-round(xc[i1]))+sqr(round(yc[j1])-round(yc[i1])));
if (dre<10.0)and(dre>0) then begin
dy[i1]:=(dy[i1])-(yc[J1]-yc[i1])/10*(10-dre);
dx[i1]:=(dx[i1])-(xc[J1]-xc[i1])/10*(10-dre);
dy[j1]:=(dy[j1])-(yc[i1]-yc[j1])/10*(10-dre);
dx[j1]:=(dx[j1])-(xc[j1]-xc[j1])/10*(10-dre);
end;
end;
if ((xc[i1] <= 10) OR (xc[i1] >= GetWidth - 20)) then dx[i1]:=-dx[i1];
if ((yc[i1] <= 8) OR (yc[i1] >= GetHeight - 20)) then dy[i1]:=-dy[i1];
if (xc[i1] < 10) then xc[i1] := 10 ;
if (yc[i1] < 8) then yc[i1] := 8 ;
if xc[i1] > GetWidth - 20 then xc[i1] := GetWidth - 20 ;
if yc[i1] > GetHeight - 15 then yc[i1] := GetHeight - 15;
xc[i1]:=xc[i1]+dx[i1]+0.05;
yc[i1]:=yc[i1]+dy[i1]+0.05;
DrawEllipse(round(xc[i1]), round(yc[i1]), d, d);
end;
end;
begin
a:=GetHeight div 10;
b:=GetWidth div 10;
d:=10;
x:=20;
y:=30;
xc[1]:=60;
yc[1]:=60;
dx[1]:=5;
dy[1]:=5;
xc[2]:=70;
yc[2]:=66;
dx[2]:=5;
dy[2]:=5;
xc[3]:=60;
yc[3]:=46;
dx[3]:=5;
dy[3]:=5;
xc[4]:=60;
yc[4]:=43;
dx[4]:=5;
dy[4]:=5;
dx[5]:=5;
dy[5]:=5;
dx[6]:=5;
dy[6]:=5;
sh:=6;
while KeyToAction(GetKeyClicked) <> GA_FIRE do begin
//Прорисовка поля
drawPole;
//Шарики
drawCircus(sh);
repaint;
end;
end.
Спасиб за ответы, начинаю ещё лучше разбираться...
PS.Я из принципов без картинок...