PDA

Просмотр полной версии : Калькулятор боя



General
21.07.2004, 12:49
Я сделал новый <a href=\'http://www.civfanatics.ru/tables/guides/C3C_Combat_Calculator.htm\' target=\'_blank\'>калькулятор битв</a> для цивы, там заложена вероятность улучшения юнита после победы, отступление быстрого юнита, радар, ГО.

Проверяйте :bye: java должна быть включена

General
22.07.2004, 12:59
До этого единственным калькулятором в HTML формате был калькулятор http://www.civfanatics.com/civ3combatcalc.html , сделанный Xerxes314. Он не обновлялся уже более года. В нём определяется только исход боя, не учитывается апргейд после боя, отступление быстрого юнита и пр.

Пет
22.07.2004, 13:57
Тогда надо послать твой калькулятор их-фанатикам. "Дружественным цивфанатикам-буржуям от русскоязычных цивфанатиков, а в частности от Генерала" - так сказать... "Цивфанатики всех стран, объединяйтесь", короче говоря :)

Termitnik
22.07.2004, 21:07
Отличная работа! :applau2:

FANTA
22.07.2004, 22:25
Да очень приличный калькулятор, а если туда приделать ещё один параметр "героическая поэма" построена "да" или "нет", это то же вроде бонусы даёт?

Пет
23.07.2004, 07:15
IMPERATOR
так героическая поэма же, вроде, увеличивает вероятность появления лидера.

Pilips
23.07.2004, 08:26
И еще предложение, вместо того чтоб вводить силу атаки и силу защиты, выбрать название юнита из выпадающей менюшки

General
23.07.2004, 09:07
Спасибо за отзывы :yes: :.V.:
Я вот вчера ещё подумал, что неплохо было бы туда добавить свойство оборонительной бомбардировки юнита, которая есть у лучников, гверильи и TOW. Вчера проводил тестирование в редакторе, чтобы определить, какова вероятность защитной бомбардировки снять первый хитпоинт атакующего до самого боя. Ясно, что она зависит от собственно силы бомбардировки, а вот зависит ли от силы защиты атакующего - вопрос... В сражении, которое я устраивал, 100 копейщиков, атаковавшие 100 лучников меньшее число раз теряли хитпоинт от бомбардировки. Однако это может быть лишь игра случая, в другой раз, может, вышло бы наоборот.
У кого-то есть информация про защитную бомбардировку? Или, може, кто-нибудь знает, как сделать так, чтобы в редакторе по умолчанию выставлялись элиты, а не регуляры? Это бы упростило экспериментальное определение вероятности бомбардировки.
Ещё раз всем спасибо! :bye:

FANTA
23.07.2004, 20:13
Originally posted by Пет*23.07.2004 - 06:15
IMPERATOR
так героическая поэма же, вроде, увеличивает вероятность появления лидера.
Я это и имел ввиду :yes:

Sasha
24.07.2004, 11:30
А вы знаете... Чето мне это напоминает...
http://civru.com/taktika/calculator.htm
Наш калькулятор был еще с civilization.boom.ru... Есессно, я никого в плагиате не обвиняю... Просто...

Пет
24.07.2004, 12:08
Sasha
Генерал добавил к старому калькулятору новые параметры, которые имеют немалое значение в битве.А ещё я знаю, что тебе это напоминает - это два калькулятора, которые считают возможность победы/поражения в циве :lol:

Sasha
24.07.2004, 12:38
Ежели Генерал усовершенствал наш калькулятор, то копирайты в студию.

Гость
24.07.2004, 12:50
я сразу попросил Генерала прописать копирайты

Originally posted by General*22.07.2004 - 12:59
До этого единственным калькулятором в HTML формате был калькулятор http://www.civfanatics.com/civ3combatcalc.html , сделанный Xerxes314. Он не обновлялся уже более года. В нём определяется только исход боя, не учитывается апргейд после боя, отступление быстрого юнита и пр.
ваш калькулятор я посмотрел, допускаю, что общие строки кода имеются - наверное, тоже с Xerxes314 ? :bye:

Пет
24.07.2004, 13:57
Originally posted by Sasha
Ежели генерал ...
Генерал с большой буквы пишется - это ж ник. :yes: :bye: Исправь, пожалуйста, ошибку.

Sasha
24.07.2004, 15:22
наверное, тоже с Xerxes314 Понятия не имею. Калькулятор все равно делал не я. Автор почему-то пропал (со странички, раньше его имя там было)
Генерал с большой буквы пишется - это ж ник. Извиняюсь...

Винни
24.07.2004, 16:43
Господа, простите за хамство, а могу я поинтересоваться, почему все эти калькуляторы делались в, так сказать, html-варианте?
На мой взгляд, было бы удобнее пользоваться win32-приложением, которое несложно написать, скажем, на Delphi.

Пет
24.07.2004, 17:18
Вовочка, я вот, например, не умею писать на Делфи. Да вообще я не умею писать программы, чего уж там. :lol:

Sasha
24.07.2004, 17:32
Можно все перенести на VB. Просто приложение низя выставить в онлайн.

Винни
24.07.2004, 17:44
Пет, написать на Delphi мог бы я, просто я в предметной области, по-моему, не силён. То есть, я знаю, что гора даёт бонус 100% в защите и т. д. и т. п., но я не уверен, что знаю всё, что должен знать.

Sasha, а зачем выставлять прям сразу? Для тестирования общественностью подойдёт какой-нибудь левый хостинг, для постоянного места жительства (в случае успешного завершения этапа тестирования-придирок) - civfanatics.ru

Sasha
24.07.2004, 18:50
Vovochka, я имл ввиду, что прогу заюзать в онлайне ты не сможешь, тебе придется её скачивать. А тут - зашел на сайт, почиркал и готово, не надо ничего переносить на винт. Да и кому нужна программная оболочка, если такая есть?.. Хотя, ты идею подкинул :)

Пет
24.07.2004, 20:29
Vovochka тебе же необязательно всё знать. "Своих не хватает, займи у другого..." :) Общайся с Генералом, другими знатоками - они тебе всё скажут.
Если хочешь, канечна ;)

прогу заюзать в онлайне ты не сможешь, тебе придется её скачивать
а что? такая программка будет много весить?

Sasha
24.07.2004, 21:09
а что? такая программка будет много весить? Ежели писать на Бясике, то кб 24, где-то так. Но её все равно придется скачивать.
Ладно, уговорили :) Напишу, может кому пригодиться.

Mahler
24.07.2004, 21:12
прога калькулятор уже есть на ком фанатиках, в разделе доунлоад, я ее скачивал. вроде бы она еще у меня еще на винте осталась.

Винни
25.07.2004, 00:00
Originally posted by Mahler*24.07.2004 - 20:12
прога калькулятор уже есть на ком фанатиках, в разделе доунлоад, я ее скачивал. вроде бы она еще у меня еще на винте осталась.
Хм... глянул я эту прогу, вроде наварочено много и по делу. Однако же, если желание у публики есть, могу попробовать свою написать (займёт около недели, и будет не такой универсальной). В общем, дальше по теме жду наличие или отсутствие интереса публики. В случае наличия, понятно, программку сделаю.

Mahler
25.07.2004, 00:17
ну зделай тогда чтоб она лучше работала или хотя бы на русский язык ее переведи

Гость
25.07.2004, 11:59
Originally posted by Vovochka*24.07.2004 - 17:44
Для тестирования общественностью подойдёт какой-нибудь левый хостинг
а вот стесняться не надо :bye: если нужен фтп для полноценной разработки онлайнового варианта - дайте заявку мне в приват

Sasha
25.07.2004, 19:37
ну зделай тогда чтоб она лучше работала или хотя бы на русский язык ее переведи Для этого нужен дизасемблер, если исходнык кодом не выставили. Если есть подобная прога, то я не вижу смысла писать свою. В принципе, я могу за 1 день написать, ежели мне опишут алгоритм.

Mahler
25.07.2004, 22:04
а ты в ресурсы программы можешь залесть чтобы все строковые ресурсы по русски сделать?

General
26.07.2004, 09:22
Я сам сперва хотел написать на Делфи - здесь я много лучше разбираюсь, нежели в Java, но по тем же причинам:
Sasha:
А тут - зашел на сайт, почиркал и готово, не надо ничего переносить на винт.
решил сделать многофункциональный калькулятор в виде HTML.
Насчёт формулы: у Xerxes314 был оператор ветвления, который при разном соотношении хитпоинтов атакующего и обороняющегося выдавал собственную формулу (вроде бы, их было 4). Я обобщил их и подогнал под одну плюс - учёт быстрого юнита. Если не понятно будет в исходниках - объясню так.
А что, никто не знает, как вычислить шанс потери хп при защитной бомбардировке? Судя по ехе-приложению на ихфанатиксе, она равна (сила бомбардировки защитника)/(сила бомбардировки защитника+сила атки атакующего). но когда я лучников атаковал воинами и копейщиками, копейщики несли меньше потерь. Так что не зависит ли эта вероятность ещё от силы защиты атакующего?

Ale
26.07.2004, 10:53
А что, никто не знает, как вычислить шанс потери хп при защитной бомбардировке?
Скорее всего это будет
(сила бомбардировки защитника)/(сила бомбардировки защитника + сила защиты атакующего)

Это более логично. Попробуй поэксперементировать.

General
26.07.2004, 11:15
Вот-вот, и я думаю, что эта формула более логична. И хочу провести эксперимент. Но чтобы его лучше провести, мне нужно, чтобы юниты, которые я выставляю в редакторе, были элитными, т.е. не апгрейдились. Может, знаешь, как это сделать?

Vox
26.07.2004, 11:40
Господа, простите за хамство, а могу я поинтересоваться, почему все эти калькуляторы делались в, так сказать, html-варианте?
На мой взгляд, было бы удобнее пользоваться win32-приложением, которое несложно написать, скажем, на Delphi.

Господа, а чего париться? Страничку с калькулятором вполне можно сохранить локально и юзать в оффлайне, благо скрипты все внутри....

Хотя лично мне алгоритм в удобоваримой форме был бы интересен... для общего развития м самосовершенствования.

А еще, мысль пришла, а нет ли ни где информации о структуре цивовского сэйва? Было бы интересно чего-нибудь придумать, типа например вычислятеля очков на лету как в ихфанатиксах....

General
26.07.2004, 12:17
Методика здесь такая:
Пусть для атакующего вероятность отбить 1хп у защитника равна p, а защитник отбивает 1хп у атакующего с вероятностью q=1-p. Тогда вероятность того, что битва закончится со счётом, скажем, 0-x с победой защитника равна С(defhp+atthp-x-1,defhp-x)*(p^(defhp-x))*(q^atthp), а вероятность победы атакующего со счётом x-0 равна С(defhp+atthp-x-1,atthp-x)*(p^defhp)*(q^(atthp-x))
Обозначения:
defhp=начальное число хитпоинтов защитника;
atthp=начальное число хитпоинтов атакующего;
a^b=а в степени б;
C(m,n)=число комбинаций из m элементов по n элементов (из треугольника Паскаля);

Чтобы разобраться, почему всё именно так, можно разобрать на бумаге битву двух юнитов, скажем,с 3 хп и 4 хп Тогда получим такое:<div align="center">
3-4
/........\
3-3(p).....2-4(q)
/........\..../.........\
3-2(p^2)....2-3(2pq).....1-4(q^2)</div>......................................................................................................и т.д.
В скобках дана вероятность.

General
05.08.2004, 09:37
Эксперимент проведён!
Фрмула такая:
вероятность потерять 1хп от защитной бомбардировки=(сила бомбардировки защитника)/(сила бомбардировки защитника + сила защиты атакующего)
Если же юнит с бомбардировкой атакует, то это никак не влияет на его шансы успеха.

Схема эксперимента
В редакторе на одной клетке выставляются пару сотен медивалов у первого играка против пары сотен гверильясов на другой клетке у второго игрока. Затем в правилах устанавливается количество хитпоинтов у ветерана и элиты, равное 3 (чтобы апгрейд не путал мне карты). Также в свойствах сценария убирается &#39;Preserve random seed&#39;. Далее сценарий сохраняется и играется достаточное число раз. Каждый раз выбирается толпа медивалов, и направляется на гверильясов (анимацию желательно отключать). По количеству выживших солдат определяется верочтность отнятия 1хп бомбардировкой.

Теоретическая основа:
Пусть вероятность отнять 1хп защитной бомбардировкой равна х, вероятность медивала с 2хп победить грерильяса без бомбардировки=Р(2), а медивала с 3хп=Р(3). Тогда вероятность медивала с 3хп победить гверильяса с бомбардировкой равна у=хР(2)+(1-х)Р(3). Вычислив в калькуляторе Р(2) и Р(3) и получив экспериментально у, вычисляем х.

На следующей неделе выложу обновлённый калькулятор.

Guest
19.02.2005, 12:40
<удалено>

//ты бы ещё пентаграму сюда присобачил - сатанист хренов

КОТ
02.04.2005, 17:17
А у меня чего-то неработает калькулятор ((. Не могу вводить силу атаки и зищиты. :shy2:

DelSt
02.04.2005, 17:38
Это потому, что надо вводить не "Сила атаки:" а "Изначальная сила атаки:" :)
И соотвественно не "Сила защиты:" а "Изначальная сила защиты:" :secret:

КОТ
03.04.2005, 23:07
Спасибо, вот что значит сидеть за компом 2-е суток подряд ))

Женя
06.09.2005, 16:55
Посмотрел эту программу, решил поставить так:
атакующий 15 жизней, 2 атаки.
защищающийся 15 жизней, 1 защита
Получилось что верятность победы атакующего 96.7% :shock:
Разве так должно быть? По идее ведь 2 атаки против 1 защиты, как 66% против 33%. А тут такая большая разница...

Я в матстате не силен, но можете объяснить почему так??

Хотел выщитать кто лучше защитит город: 20 войнов(1/1/1) или 10 копьеносцев(1/2/1) против 20 лучников(2/1/1). Какова верятность взять город за 1, 2, 3 и т.д. ходов в этих обих случаях и общая верояность этого события?
Схема примерно такая:
Ход 1 - стычка, с обоих сторон потери.
Сидящие в городе излечиваются за ход, атакующие же нет.
Следущий ход так же. И так далее до взятия города.

Теперь в свете всех вышенаписанных формул вообще ничего не понимаю.

Obormot
06.09.2005, 18:13
Всё логично, чем больше раундов, тем больше усреднение, поэтому результаты более предсказуемые, влияние рандома сглаживается. 66% на 33% будет если у атакующего и защитника по одному хитпоинту.

Civilizator
06.09.2005, 19:18
:shock: Как енто я енту тему раньше просмотрел, когды она мене просто необходима была :shy2: , а тепереча мой калькулятор в памяти сидит , так сказать среденестатистический показатель, за то количество проведенных игр. Интересно всеж- калькулятор то сделали? На каком языке? И стоит ли тепереча мене им воспользоваться? Что могет тамеча для меня быть нового?

Женя
06.09.2005, 23:01
Хехе я сам её просмотрел уже как 2 месяца, только сегодня наткнулся. Всё на бумажечке пытался считать по своим неправильным формулам.

Ну помогите кто-нибудь постичать, а то у меня уже голова пухнет.
Хотел выщитать кто лучше защитит город: 20 войнов(1/1/1) или 10 копьеносцев(1/2/1) против 20 лучников(2/1/1). Какова верятность взять город за 1, 2, 3 и т.д. ходов в этих обих случаях и общая верояность этого события?

General
11.09.2005, 18:42
Ну, вобще-то &#39;этот калькулятор не расчитан для вычисления результата боя стеков. А максимум в 15 хп поставлен для расчёта сражений армий. А по поводу сравнения эффективности n копейщиков и 2n воинов против n лучников - задача очень интересная, но решать её придётся, видимо, на бумажке. Можно сначала разобрать упрощённый вариант: у всех юнитов по 1 хп и они не прокачиваются - это намного упростит перебор возможных вариантов. Сейчас попробую что-то подсчитать.

General
11.09.2005, 20:50
Так, всё довольно интересно выходит :yes: Если ввести функцию f(x,y), которая равна вероятности взять город с у защитниками с помощью х нападающих, то для неё будет верно: f(x,0)=1 (защитников нет, городо взят), f(0,y)=0 (атакующие закончились), f(1,1)=p, где р - вероятнотс победы атакующего в единичном бою, а q=1-p - вероятность победы защитника в единичном бою. Также можно вывести рекуррентную формулу f(x,y)=p*f(x,y-1)+q*f(y,x-1). Тогда всё получается просто - в прикреплённом екселевском файле нужно ввести р - вероятность победы атакующего, и таблица заполняется значениями функции f(x,y).

Obormot
11.09.2005, 22:28
На их-фанатиках существует программа которая выполняет симуляцию захвата города со стеком защитников и стеком атакующих, причём стеки могут быть смешанными, так что там можно получить более общий результат. Кроме того можно узнать средние потери.

http://forums.civfanatics.com/showthread.php?t=104677

General
12.09.2005, 20:55
Отличная вещь! Спасибо :yes:

Civilizator
12.09.2005, 21:03
Originally posted by General*12.09.2005 - 20:55
Отличная вещь! Спасибо :yes:
:shock: Аха ......... :nerves: приплюсовать сюды еще мультитул и в он лайне делать тоды вооще нечего! :censored: :mat: :chair: Лучьше б делалит проги- выявляющих лиц применяющие сии проги, шоб времечко не тратить свое на проверочку, когда сумления одолевають.

General
13.09.2005, 15:52
[quote][b]Аха .........

Alex__
11.05.2017, 11:03
в какую сторону округляется модифицированный от местности дефенс? В меньшую или большую, при расчёте исхода раунда? Например, каким он будет у мечника - дефенс=2 на тайле с лесом +25% к дефу - 2 или 3? И округляется ли вообще?