forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Бот на Бот (http://forum.boolean.name/showthread.php?t=12969)

Ganociy 20.07.2010 01:02

Бот на Бот
 
Как сделать так что бы бот выбирал в качестве жертвы другого ближайшего бота? кодом как это седлать? Да, имея функцию создания только одного типа бота. К примеру как это сделано в Танчики дезматч? кодом:-)

EvilChaotic 20.07.2010 01:18

Ответ: Бот на Бот
 
Цикл в цикле.

Код:

Type Bot
  field Entity% ; ссылка на бот
  field my_Target% ; цель для бота
End Type

Код:

For a.bot = each bot
    Local max_dist# = 10000.0
      Local d#
    For b.bot = each bot
      If a\Entity% <> b\Entity%
        d# = xEntityDistance(a\Entity%,b\Entity%)
        If d# < max_dist#
            max_dist# = d# : a\my_Target% = b\Entity%
        End If
      End If
    Next
    ; --
    ; Дальше можешь делать что угодно с  a\my_Target%
Next

Вот, примерно так можно выбрать ближайший объект для бота. (Код писан прямо тут)

Ganociy 20.07.2010 01:30

Ответ: Бот на Бот
 
ага...

Reizel 20.07.2010 11:30

Ответ: Бот на Бот
 
Ох, товарищи, не злоупотребляйте такими циклами - жесть как тормозит

impersonalis 20.07.2010 11:48

Ответ: Бот на Бот
 
Надеюсь код - просот пример. Т.к. он не для реал-тайм. В зависимости от реализации можно приенить ряд оптимизаций (хотя бы то же разнесение на несколько проходов)

Reizel 20.07.2010 12:49

Ответ: Бот на Бот
 
А что, у меня в Out of Mind было именно так, до 50 ботов тянуло, дальше начинались тормоза...
ЗЫЖ так еще патроны постоянно таким же методом, аномалии, в общем - все что могло взаимодействовать :):):)

Reks888 20.07.2010 13:44

Ответ: Бот на Бот
 
Если не менять организацию кода - то других вариантов просто нет


Часовой пояс GMT +4, время: 01:40.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot