+ Написал основу алгоритма стратегического передвижения противника. Его отряды могут менять сектор расположения, оставляя после себя захваченную территорию. Если отряд противника в своем движении натыкается на наш отряд, начинается бой (включается тактическая карта и т.д.).
+ В 66% случаев отряд остается на месте, в 33% меняет сектор, в 11% двигается в новом направлении.
+ Добавил базы, где враг размножается. С каждым ходом его поголовье может увеличиться (вероятность 20%) на 1-4 негодяя. При достижении 20 рост прекращается. При накоплении на базе 10 негодяев, с каждым ходом возникает 20% вероятность, что с базы выдвинется новый отряд, от 1 до 20 врагов.
+ Если в отряде не меньше 10 негодяев, он может разделиться, перейдя на другой сектор не в полном составе, а частично (вероятность 20%).
+ Обработка недопустимых движений рассчитана таким образом, что около краев карты отряд не теряет подвижности, но если соседние сектора также заняты противником - ведет себя спокойнее. Чем больше соседей и чем больше его численность - тем спокойнее.
+ В целях сглаживания линии фронта временно ограничил способность противника передвигаться по диагонали.
+ Если принято решение двигаться в прежнем направлении, но направления еще не было задано (новый отряд, выходящий с базы или часть отряда, оставшаяся на месте после разделения) - отряд двигается налево, навстречу нашим силам. Это создает у врага здоровую пассионарность, побуждающую его с большей вероятностью отвоевывать захваченные территории.
+ Если отряд противника заметит в одном из соседних секторов наших бойцов и увидит, что силы равны или перевес на его стороне - он нападет. Если силы не в его пользу - все равно может напасть в 20% случаев.
15 апреля 2005
+ Записал около 200 звуков.
12 апреля 2005
+ Создал основу для стратегической составляющей игры: форму, на которую выводятся 96 секторов (карт, на каждой из которых может происходить сражение) и определяется их статус.
0|сектор нейтрален, на нем нет ни наших войск, ни войск противника
1|наш сектор, на нем есть наши войска
2|сектор противника, на нем есть войска противника
3|сектор на котором есть и наши войска и войска противника - должно произойти боестолкновение
4|наш сектор, свободный от наших войск
5|вражеский сектор, свободный от вражеских войск
В отладочных целях принадлежность секторов можно задавать через интерфейс, выбирая их мышью и определяя статус.
10 апреля 2005
+ Вернул утраченную несколько лет назад во время очередного апгрейда pathfinding'а и объектной модели способность заново расчитывать проходимость полей. Теперь можно, разбив выстрелом или ударом оконное стекло, пройти в образовавшийся проем. Постреляв более интенсивно, или применив взрывчатку, можно развалить деревянную стену и прочие разрушаемые объекты.
9 апреля 2005
+ Выловил несколько незначительных багов в алгоритмах центровки карты на бойце, прокрутки и установки указателей. Теперь указатели не дергаются при центровке в начале хода; центровка в движении и при выборе бойца совпадает; сдвиг карты при движении бойца происходит так, что по краям больше не остается неполных полей.
+ Видимая область поля на миникарте теперь отражается не прямоугольником, а более эстетичной подсветкой. При нажатии на неактивную часть миникарты или движении по ней с зажатой кнопкой мыши карта сдвигается. Получился своеобразный touchpad, которым удобнее пользоваться для сдвига карты, чем полосами прокрутки.
4 апреля 2005
+ Для упрощения поиска страны отсортировал массив флагов не по ключам: