Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно. Необходимо обновить браузер или попробовать использовать другой.
Если K=0,24*N>=1, то M=(бесконечность)
Если K=0,24*N<1, то M=L+L*(0,24*N)
где L - количество боёв оставшихся до "истощения"
N - количество осадок в секторах соседствующих с указанным сектором
M - количество боёв доступных в указанном секторе
не ставьте осадки (1 сезон например) и посмотрите вклад согов в общее дело
и сказать однозначно что кто то больше сделал кто то меньше НЕЛЬЗЯ !!!!! вклад каждого ценен.
Объясню почему
Ги войны командная игра, у меня в Ги есть малыши для которых 5 боев (или 5 переговоров+/-) подвиг
я делаю в день 70-80 без осадок, основная нагрузка идет на лидеров и если их в ГИ мало то тянуть все лидерам сложно. НО я благодарна всем, за каждый бой, каждые переговоры, да только за желание помочь!!!! и как это оценить ?
Каждый раз говорю всем спасибо за участие в ГИ войнах
разве рейтинг игроков самое важное что есть в этой игре ?
не ставьте осадки (1 сезон например) и посмотрите вклад согов в общее дело
и сказать однозначно что кто то больше сделал кто то меньше НЕЛЬЗЯ !!!!! вклад каждого ценен.
Объясню почему
Ги войны командная игра, у меня в Ги есть малыши для которых 5 боев (или 5 переговоров+/-) подвиг
я делаю в день 70-80 без осадок, основная нагрузка идет на лидеров и если их в ГИ мало то тянуть все лидерам сложно. НО я благодарна всем, за каждый бой, каждые переговоры, да только за желание помочь!!!! и как это оценить ?
Каждый раз говорю всем спасибо за участие в ГИ войнах
разве рейтинг игроков самое важное что есть в этой игре ?
О том как раз и речь, что 5-10 боев подрастающих игроков для гильдии ценнее, чем 300, набитые качком из марса под лагеря. Да еще набитые не вовремя. Слово "рейтинг" применительно к ФОЕ принимает уже какое-то чуть ли не ругательное значение. Но должны быть какие-то маркеры, позволяющие отличить... эм... индивидуалистов от тех, кто нацелен на общий результат. У нас народу немного, потому это и не составляет большого труда. Но так далеко не везде. А вот это ранжирование по количеству проведенных боев на текущий момент не несет никакой абсолютно смысловой нагрузки.
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
int L = 10; // остаток до истощения
int N = 5; // осадок
int M = 0; // расчётное количество боёв
int i = 0; // прогресс движения истощения с 0 до L
int D = 1000; // предел проверки боёв
while ((i < L) and (M < D)) // продолжать пока истина
// ложь как только любой из пределов достигнут
{
int V = rand()%100+1; // градируем в интервал 1-100
if (V > 24 * N)
i++;
cout << i << ' ';
M++;
}
cout << "\n" << M << "\n";
return 0;
}
Запрограммировать вероятность мне куда проще чем вывести нормальную формулу...
Люди чисто математического ума может и смогут вывести 100% рабочую формулу
(хотя как правильно подобрать логарифм вопрос интересный
а он тут точно есть потому что при приближении вероятности срабатывания осадок к 100% количество боёв возростает резко)
Однако обесценивание осадок при начальном вторжении налицо
О том как раз и речь, что 5-10 боев подрастающих игроков для гильдии ценнее, чем 300, набитые качком из марса под лагеря. Да еще набитые не вовремя. Слово "рейтинг" применительно к ФОЕ принимает уже какое-то чуть ли не ругательное значение. Но должны быть какие-то маркеры, позволяющие отличить... эм... индивидуалистов от тех, кто нацелен на общий результат. У нас народу немного, потому это и не составляет большого труда. Но так далеко не везде. А вот это ранжирование по количеству проведенных боев на текущий момент не несет никакой абсолютно смысловой нагрузки.
то есть в итоге, нам нужно примерно одно и то же
только мне кажется, что это можно решить с помощью полного лога полей, а вам - что с помощью изменений системы рейтинга
это в принципе можно уже и сейчас делать вручную, но при этом очень затратно по времени
забавно, правда?
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
int L = 10; // остаток до истощения
int N = 5; // осадок
int M = 0; // расчётное количество боёв
int i = 0; // прогресс движения истощения с 0 до L
int D = 1000; // предел проверки боёв
while ((i < L) and (M < D)) // продолжать пока истина
// ложь как только любой из пределов достигнут
{
int V = rand()%100+1; // градируем в интервал 1-100
if (V > 24 * N)
i++;
cout << i << ' ';
M++;
}
cout << "\n" << M << "\n";
return 0;
}
Как-то это все не похоже на Вашу "утрированную формулу".
Кстати, констатирую, что с программированием Вы знакомы на уровне отличника девятого класса или троечника десятого. Отличники десятого уже понимают, что вероятностные модели пишут с большим количеством итераций при одних и тех же исходных данных, чтобы приблизить средний результат к реальной вероятности.
И так как Вы не использовали инициализацию ГПСЧ, числа будут каждый раз одни и те же.
Кстати, при вероятностной модели не особо уместно "rand()%100+1;", так как диапазон rand() зависит от компилятора и, скорее всего, в онлайн-компиляторе не особо велик. Наиболее часто встречается диапазон 0-32767, который при rand()%100+1 даст вероятность попадания в интервал 1-24 не 24%, а 24.02%.
Более качественно брать rand()/RAND_MAX, что даст случайное вещественное число от 0 до 1. Точность все еще зависит от компилятора, но ошибка уменьшается на порядок.
Люди чисто математического ума может и смогут вывести 100% рабочую формулу
(хотя как правильно подобрать логарифм вопрос интересный
а он тут точно есть потому что при приближении вероятности срабатывания осадок к 100% количество боёв возростает резко)
*facepalm*
И скорее троечника десятого, раз слово "логарифм" знаете, но применяете неуместно.
Формула-то элементарно выводится. Достаточно понимать, что такое вероятность.
Демонстрирую вывод по шагам.
1) Есть вероятность НЕ получить истощение, определяемая как количество_осадок*0.24 (есть еще башни, но не будем усложнять пока что)
2) Значит, есть вероятность получить истощение, равная 1-количество_осадок*0.24
3) C каждого боя в среднем получается столько же истощения, какова вероятность его получить (о кольях пока забудем)
4) Количество истощения за несколько боев в среднем равно произведению количества боев на количество истощения за один бой.
5) Чтобы найти неизвестный множитель, надо произведение разделить на известный множитель.
Итого
Если K=0,24*N>=1, то M=(бесконечность)
Если K=0,24*N<1, то M=L+L*(0,24*N)
где L - количество боёв оставшихся до "истощения"
N - количество осадок в секторах соседствующих с указанным сектором
M - количество боёв доступных в указанном секторе
Можете не благодарить
Для одной осадки 1.32 (округляю до сотых), для двух 2.08 (и сильно не повезло при единственном испытании в Вашей программульке), для трех 3.57, для четырех 25.
-----
Апдейт. Видимо, допустил опечатку при вычислениях на калькуляторе. Для двух не 2.08, а 1.92
Теомах, я так понимаю у вас тоже нет достаточного знания программирования, в новых стандартах С++, уже другие генераторы - если хотели блеснуть знаниями, то надо было свой вариант кода провести ))
Я не пойму, о чём вы спорите, суть идеи - надо разрабам донести, точные цифры и коэффициенты они всё равно свои сделают, исходя из своих соображений.
Вы имеете в виду, другой диапазон генератора? Вполне допускаю.
Да, я не профессиональный программист, и за изменениями стандартов не слежу. Но увеличение диапазона генератора все равно только уменьшает ошибку, а не отменяет ее полностью. Так что при создании вероятностной модели использование факторгрупп целых чисел остается плохой стратегией. Впрочем, это самая маленькая из моих претензий к высказываниям Змея в рамках этой темы.
Не надо личное невезение списывать на плохой рандом.
Ни одно событие с вероятностью более 1% нельзя считать странным, если оно все-таки произойдет.
Вероятность поймать не менее 3 штрафов на 4 осадках за 15 боев - около 2%.
А так как Вы такие штурмы проводите сотнями, то подобные невезения будут происходить регулярно.
Ни в одном из случаев когда я веду расчёты Вы не рискнули привести свои расчёты!
Напоминаете картинку из мемов...
Где все работники поддакивают существующему порядку (в нашем случае неизвестности - потому что реальные расчёты делаются на стороне сервера), а всех собак спускают на того кто хоть какие-то идеи толкает (в нашем случае - Вы только критикуете)
Для одной осадки 1.32 (округляю до сотых), для двух 2.08 (и сильно не повезло при единственном испытании в Вашей программульке), для трех 3.57, для четырех 25.
Первый раз когда Вы дали свою реальную идею
Спасибо!
Это как-то отменяет моё высказываение?
О том что при системе с распределением очков в зависимости от количества осадок невыгодно бить тем кто делает шаги (вправо-влево-вперёд) с сектора где 1-2 осадки
И получается что весь "профит" тем кто стартует без осадок от штаба, и тем кто приходит на всё готовое и шпарит уже на 4-5 осадках.
Это как-то отменяет моё высказываение?
О том что при системе с распределением очков в зависимости от количества осадок невыгодно бить тем кто делает шаги (вправо-влево-вперёд) с сектора где 1-2 осадки
И получается что весь "профит" тем кто стартует без осадок от штаба, и тем кто приходит на всё готовое и шпарит уже на 4-5 осадках.
Отменяет.
При предложенной системе рейтинга:
0 осадок - 4 очка за 1 усталость
1 осадка - 3.95 за 1 усталость
2 осадки - 4.16 3.85 за 1 усталость
3 осадки - 3.57 за 1 усталость Как видите, больше всего рейтинга будут приносить бои на двух осадках, а не на нуле, как Вы утверждаете.
На нуле рейтинга действительно больше будет, но совсем не настолько, чтобы ради этого жертвовать набиваемыми призами. ----
Приношу извинения за допущенную опечатку при вычислениях.
Дорогие форумчане!
Для поддержания доброжелательного общения на форуме в текущей ситуации было решено активировать пре-модерацию сообщений. Эта мера будет отменена, как только в ней пропадет необходимость, мы будем пересматривать ситуацию каждую неделю. Вам нужно будет подождать, пока ваши сообщения не будут проверены и одобрены командой. Таким образом, мы уменьшим нагрузку на наших администраторов и модераторов.
С наилучшими пожеланиями, команда Forge of Empires.