Тема: Случайный маршрут
Побегав ботом некоторое время по метро, меня начала мучать мысля "пипец как я палюсь!"
До вчера я "свято верил" в возможность реализации ряда моих "хотелок", которые помогли бы мне сделать игру Комботсом максимально похожей на игру руками. Такие планы были как для в общих черт поведения перса (количество походов в метро; периоды онлайна), так и в мелочах (выполнение двух перемещений в метро за одно обновление окна IE; сложные комбинации по последовательности применения приёмов).
Все мы знаем, что (Please log in or register to see this URL) - (Please log in or register to see this URL) рук (Please log in or register to see this URL).
короче говоря!
Есть идея заменить класический линейный маршрут (когда чар каждый раз проходит одни и те же одинаковым количеством запросов на сервер БК) путешествием по метро с использованием разных маршрутов (скажем, проход 3 этажа грибницы по часовой стрелке или против) и/или разных способов (двигаемся по метро не "атаковать мобов - идти m1", о спиной/боком/спиралькой).
Например, в простейшем случае это может быть реализовано наличием нескольких фалов-маршрутов для прохождения 2 этажа ПТП:
1) делим (Please log in or register to see this URL) однофайловый маршрут по этажам (например, (Please log in or register to see this URL)).
2) загрузку маршрута вместо
e268fb4940f0327edef0e26f1a235da0 : external.DungeonLoadPath("Бездна - 2 этаж");
делаем как
e268fb4940f0327edef0e26f1a235da0 : if (11*Math.floor(Math.random()) < 5) external.DungeonLoadPath("Бездна - 2 этаж ver.A"); else external.DungeonLoadPath("Бездна - 2 этаж ver.B");
3) наслаждаемся...
Для придания этому более случайного вида:
1) каждый этаж разбивается на точки;
2) пишется набор маршрутов для прохождения частей этажа (от точки к точке несколькими способами).
3) собираем маршрут при помощи external.DungeonLoadPath...
Ещё развиваем:
Создание некоторых случайных участков подчиняем рационализму:
1) с 1й клетки на первом этаже ПТП большинство делают "шаг вперёд" (а не "два поворота вправо+шаг спиной назад");
2) в катах идя верхом делать два круга по центру второго этажа (вокруг статуй) не обязательно;
...
Добавляем маловероятные ошибки (или привязываем их появление к ночному времени, когда человек вероятнее всего играет уставшим):
if (101*Math.floor(Math.random()) < 5) external.DungeonLoadPath(случайный шаг вперёд - прыжок в портал на 4м этаже ПТП для того, что б пройти один из коридоров ещё раз)...
Один я курю траву по пятницам? Делитесь, пожалуйста, соображениями о вышеизложенном