Добавлен DemonoiD
Коллеги, не могу понять, почему карта (см. приложение) после 10-15 итераций ломается и крестьяне стоят.
В кратце - я заставляю бегать крестьян к самому ближнему кусту звездолиста, но после нескольких кустов они наотрез отказываются продолжать движение дальше.
Следующим этапом будет добавление чуточку рандома и генерация случайных свойств дистабилизирующих или улучшающих выживание крестьян в этом тяжелом мире.
В кратце - я заставляю бегать крестьян к самому ближнему кусту звездолиста, но после нескольких кустов они наотрез отказываются продолжать движение дальше.
Следующим этапом будет добавление чуточку рандома и генерация случайных свойств дистабилизирующих или улучшающих выживание крестьян в этом тяжелом мире.
Принятый ответ
Naadir, мне почему-то кажется, что у тебя проблема в том, что есть цветок 1 и 10 работников. И у тебя получаются записи типа:
цветок 1 - работник 10.
цветок 1 - работник 8.
цветок 1 - работник 7.
цветок 1 - работник 10.
цветок 1 - работник 8.
цветок 1 - работник 7.
В общем, массив не отчищается при удалении предмета с карты. А ещё может быть такое, что функция pick предметов на карте, каждый раз выдает разные id предметам.
Добавил БД-индификтор предметам в первую версию поиска.
Получить ID любого предмета можно стандартной гуи-фцией valueitem. Пока что в раздумьях, как сделать адекватную матрицу, адекватно расширяемую? Или возможно её чем-то заменить?
Можно ли как-то обыграть такую структуру в war3?
Можно ли как-то обыграть такую структуру в war3?
За неимением мысли о матрице, сделал пока что генерацию "родства" до 4х поколений. Теперь Вы вполне можете узнать, кто был отцом, дедом и прадедом отдельно взятого юнита. См. приложенный файл. по ссылке.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. MpW
чтобы такого не было, я короче ставил на итем метку, что за ним уже идут. Когда циклом будешь перебирать, надо смотреть если ли на итеме метка, если нет, то бегом за ним.
Ред. Naadir
Ред. MpW
Ред. DemonoiD
Дополнительные модели поведения - ожидание (ждать пока появится предмет рядом или работник которого можно убить),;
Поведение при защите - сражаться или убегать или звать на помощь?
Возможно, засунуть при появлении работника в яйцо на 3 секунды, чтоб снизить кучность.
Возможно, записывать в БД для каждого работника радиус смены цели в зависимости от гена. У тебя сейчас константа в 500. Что выгоднее, бежать напрямик или сворачивать с дороги с каким-то радиусом?
Модель поведения крафтера - выгоднее бегать с другими или потратить время на получение предмета +к атаке/защите/скорости?
Модель поведения запаса ресурсов - хавать итем только когда он нужен. (Нужно снизить отхил от итема до 50%)
А так же, можно ввести шанс на получение одного из используемых поисков пути :) коих тут уже штуки 3.
Ред. DemonoiD
Рассмотрим приложенный мною файл.
name-peasant - эта переменная отвечает за родство и структурируется блоками. Например, есть два peasant с именами 0000 0000 0000 0001 и 0000 0000 0001 0002. Это значит, что 2 рабочий сын первого рабочего. Возможно, 16ричная кодировка будет здесь уместнее. Это позволит в 4х поколениях отличать своих от чужих и добавлять разные забавные условия, которые позволяют рабочему "атаковать всех кроме родственников". По факту, выделяя в будущем их в племена.
Событие - это действие, произошедшее вокруг рабочего или с рабочим.
Оба этих параметра составляют матрицу поведения, которая бесконечно расширяема.
Раздражительность статуса - статусов может быть много, например может идти дождь и одновременно рабочий будет атакован. Она перемножается на абсолютно все % снизу по столбцу, чтобы получить ответ, что при таких условиях все же будет делать рабочий.