![]() |
Пошаговая стратегия
При разработке простой пошаговой стратегии возникла проблема перемещения войск на определённую скорость. Значит - написал так:
if Abs(Xкоорд-Увойна)+Abs(Укоорд-Увойна)<=скоростиВойна тогда туда можно идти... Но такой синтаксис не катит если на карте есть преграды.... Кто может натолкнуть на мысль как это осуществить?? |
Ответ: Пошаговая стратегия
Поиск пути?
|
Ответ: Пошаговая стратегия
всмысле?
|
Ответ: Пошаговая стратегия
Сначало проверяй, можно туда идти?
если нельзя, искать другие варианты, если можно то, передвигаемся |
Ответ: Пошаговая стратегия
А если туда идти можно, но на пути препятствие, благодоря кторому не доходит туда чел, то как считать то?
|
Ответ: Пошаговая стратегия
то искать обход :) почитай тут
|
Ответ: Пошаговая стратегия
пасиб, прочитал - ничё не понял)) щас поем, помыслю и почитаю ещё пару десятк раз - мож пойму))
|
Ответ: Пошаговая стратегия
как реализовать - точно не понял...
|
Ответ: Пошаговая стратегия
Ты спросил алгоритм решения, он простой.
Пока цель не достигнута Выбрать направление для движения к цели Если это направление свободно для движения Двигаться туда Иначе Выбрать другое направление |
Ответ: Пошаговая стратегия
дык а если туда вообще невозможно пройти?
|
Ответ: Пошаговая стратегия
Я наверное не совсем тебя понял.
у тебя там бот или твои войска? |
Ответ: Пошаговая стратегия
дык а какая разница? ну мне надо вот с этим поиском пути разобраться...
|
Ответ: Пошаговая стратегия
Код:
если туда дорога есть |
Ответ: Пошаговая стратегия
а как узнать есть ли туда дорога?)
|
Ответ: Пошаговая стратегия
ну я бы карту разбил на клетки двух типов, по одним мона ездить по другим низя. Аналогия "крестики нолики"
|
Ответ: Пошаговая стратегия
я так и сделал, а дальше что?
|
Ответ: Пошаговая стратегия
Перечитай ветку форума с самого начала со всеми ссылками.
найдеш ответ на твой вопрос. |
Ответ: Пошаговая стратегия
http://blitzetc.blitzmax.ru/index.ph...*_для_новичков - если ты про ето, то я там непонял как это реалезовать....
|
Ответ: Пошаговая стратегия
Ну ветка про алгоритмику поэтому алгоритм решения тебе нашли, а как реализовать в коде, тут уже сам. Все зависит от того начем ты пишеш. В Гугле поищи примеры релизации, скорее всего ктото уже писал подобное.
|
Ответ: Пошаговая стратегия
Я пишу на Мидлет паскаль, а гуглем пользоваться не умею)
|
Ответ: Пошаговая стратегия
Тогда загляни сюда
|
Ответ: Пошаговая стратегия
Жжёшь)) ну а понт? дальше там ничё не найду)
|
Ответ: Пошаговая стратегия
Проблема такая: кто когда буит ходить. Тоесть, как в героях 5 к примеру, у кого больше инициатива, тот первый ходит и чаще. Так вот, как это вычесляется? P.s. Если просто кто первый, это то легко, но мешает что это и на чаще влияет...
|
Ответ: Пошаговая стратегия
Ещё: формула для расчёта повреждений. Даны атака и защита. Найти урон. Просто если по формуле: "АТАКА-ЗАЩИТА=УРОН", мне как то кажется примитивно. К примеру если защита больше, то по 0 отнимать ваще никак......
|
Ответ: Пошаговая стратегия
Или все пользуются этим примитивом?
|
Ответ: Пошаговая стратегия
Первое - банальная сортировка списка по параметру.
Второе - формула это твое личное дело и элемент баланса. Можно брать защиту как процент поглощения урона (100 защиты - абсолютная защита, не пробивается ничем, 0 - нету вообще, ну и между ними процентаж считаешь от урона). Пределом 100 брать не обязательно, опять же все зависит от баланса. К тому же в героях была 3 параметра. Урон, атака и защита. Атака усиливала урон, а защита его снижала. Урон рассчитывался как рандом(кол-во юнитов * мин урон, кол-во юнитов * макс урон) или как-то так примерно. |
Ответ: Пошаговая стратегия
Второе про процентовку неплохо придумано, но вот на счёт первого можно подробнее?
|
Ответ: Пошаговая стратегия
Начало раунда. Формируешь список всех юнитов. Сортируешь по инициативе (по уму сортировка идет при добавлении в список). И юниты по очереди ходят. Когда юнит делает ход - он выкидывается из списка. Когда список кончится - закончился раунд, начинается новый.
|
Ответ: Пошаговая стратегия
Но тогда все войны будут ходить одинаковое количество раз за бой, а мне надо чтоб к примеру если инициатива в 2 раза больше, значит воин в 2 раза чаще ходит, если на треть больше, значит каждые 3 раунда ходит дважды и т.д. Вобщем как в герои 5...
|
Ответ: Пошаговая стратегия
И? Неужели так трудно переделать? Список будет бесконечным. При ходе юнита он удаляется из списка. И вставляется по новой. Причем сортировать уже не по инициативе, а по номеру хода на котором опять выпадет очередь юнита (а вот его считать уже по инициативе). В данном случае вставлять лучше с конца, так меньше итераций на определение новой позиции уйдет.
|
Ответ: Пошаговая стратегия
demon112, сначала подумай, потом спрашивай. Твои вопросы не имеют однозначного решения, которое ты так жаждешь увидеть. Программист должен сам придумать путь решения проблемы или взять уже изученный (например, поиск пути), а не ждать чего-то однозначного.
А насчёт формулы для расчёта повреждений - это настолько разнообразная тема, что ей в крупных игродельческих конторах даже занимаются отдельные люди - геймдизайнеры. |
Ответ: Пошаговая стратегия
Естественно я для начала подумал, но не найдя путь решения заглянул сюда...
|
Ответ: Пошаговая стратегия
Knigthmare, Непонял нифига...((
|
Ответ: Пошаговая стратегия
Цитата:
Цитата:
|
Ответ: Пошаговая стратегия
На том на чём я пишу врядли есть, да и не знаю я что искать...(
|
Ответ: Пошаговая стратегия
математика от языка не зависит
|
Ответ: Пошаговая стратегия
Цитата:
|
Ответ: Пошаговая стратегия
demon112
ну значит тебе рано таким заниматся просто |
Ответ: Пошаговая стратегия
Цитата:
|
Ответ: Пошаговая стратегия
В поисковике не знаю что искать... Возможно и рано, но всему можно научится) (практически...)
|
Ответ: Пошаговая стратегия
|
Ответ: Пошаговая стратегия
Научится можно всему, все зависит от тебя.
Я предпологаю что рановато ты замахнулся на стратегию, по этому столько вопросов. |
Ответ: Пошаговая стратегия
Цитата:
|
Ответ: Пошаговая стратегия
Я тут подумал сделать так: допустим ход один стоит n очков инициативы, сортируем список по инициативе, после хода у чибиса отнимается n скорости, и снова переформируется список... если скорость всех становится меньше n, тогда всем прибавляется начальная скорость и снофа формируется список... и т.д. так ведь нормально? а сколько примерно следует взять n?
|
Часовой пояс GMT +4, время: 11:08. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot