Показать сообщение отдельно
Старый 07.12.2009, 00:40   #1
VotapilD
Оператор ЭВМ
 
Регистрация: 07.12.2009
Адрес: Мытищи
Сообщений: 44
Написано 6 полезных сообщений
(для 6 пользователей)
Сообщение Проблема с дробями, типом real и т.д....

Вот собственно код:
dre:=(sqrt(sqr(Xc[j]-Xc[i])+sqr(Yc[j]-Yc[i])));
Dre:Integer;
Пишет ошибкку что с двух сторон ":=" должен быть один тип... Что делать? Перевод всего в реал приносит в подарок кучу ошибок...

Функции округления не работают(Может подключить что-то надо? Ни Floor, ни Ceil)

На всякий случай(вдруг тупая ошибка)-
//Проработка и нарисовка шариков
Procedure drawCircus(sh:integer);
Var i:integer;
Var dre:integer;
begin
For i:=1 to sh do begin
	for j:=1 to 4 do begin
	   dre:=(sqrt(sqr(Xc[j]-Xc[i])+sqr(Yc[j]-Yc[i])));
		   if d<10 then begin
			  dy[i]:=(yc[i])-(yc[J]-yc[i])/10*(10-dre);
			  dx[i]:=(xc[i])-(xc[J]-xc[i])/10*(10-dre);
			  dy[j]:=(yc[j])-(yc[i]-yc[j])/10*(10-dre);
			  dx[j]:=(xc[j])-(xc[j]-xc[j])/10*(10-dre);
		   end;
		end;
	if ((xc[i] < 10) OR (xc[i] > GetWidth - 20)) then dx[i]:=-dx[i];
	if ((yc[i] < 8) OR (yc[i] > GetHeight - 15)) then dy[i]:=-dy[i];
	if (xc[i] < 10) then xc[i] := 10 ;
	if (yc[i] < 8)  then yc[i] := 8 ;
	if xc[i] > GetWidth - 20 then xc[i] := GetWidth - 20 ;
	if yc[i] > GetHeight - 15 then yc[i] := GetHeight - 15;
	if (xc[i]-(d div 2) <= x) and (y<=yc[i]) and (yc[i]<=y+30 )then
	dx[i]:=-dx[i];
	xc[i]:=xc[i]+dx[i];
	yc[i]:=yc[i]+dy[i];
		DrawEllipse(xc[i], yc[i], d, d);

	end;

end;
Тупые Пиксели)
(Offline)
 
Ответить с цитированием