Тема: Телепорт
Показать сообщение отдельно
Старый 07.02.2012, 19:55   #21
Местный
 
Аватар для Aries
 
Регистрация: 19.01.2011
Сообщений: 241
Сказал Спасибо: 7
Имеет 26 спасибок в 22 сообщенях
Aries пока неопределено
По умолчанию

не понимаю зачем корейцам DOUBLE.

DOUBLE - число с десятичной точкой (нафига, если координаты все равно целые числа????), 64 бита
int, DWORD - целые, 32 бита
Int64 - целое, 64 бита.

Учитывая размеры карты, то сейчас для хранения любой координаты стандартного int'а более чем достаточно, там еще разрядов 10 в запасе относительно самой максимально координаты.

А вот для вычисления квадрата расстояния, если один персонаж находится в деревне хуманов, а другой где-нить возле деревни гномов, то явно для результата потребуется больше 32 бит.

fx:=integer((v1.x-v2.x)*(v1.x-v2.x)); - вот это все таки оказалось правдой. Причем видит так не только делфи))))

fx:=double((v1.x-v2.x)*(v1.x-v2.x)); - вот так скорее всего заработает верно. По крайней мере на плюсах аналогичный пример стал считать правильно
Aries вне форума   Ответить с цитированием