Логин:   Пароль:    
Забыли пароль? | Регистрация временно недоступна

Форум

Шлифовка рейтинга

На страницу Пред.  1, 2, 3, 4, 5 [Сообщений: 98]
Сообщение
11 июн 2010, 15:17
Администратор
Аватар пользователя
Не в сети
суммирование будет криво производиться.
фиксить надо на первых порах, через некоторые время "фиксированных" можно будет менять на других, если будет необходмость.

Как можно находить средне арифметическое по совершенно разным структурам?
dfs - connecting people
Сообщение
12 июн 2010, 00:54
Аватара пользователя
Не в сети
может я не втему= прошу повысеть меня в рейте на 1 балл вот=))))
Сообщение
12 июн 2010, 01:31
Администратор
Аватар пользователя
Не в сети
Готово)
dfs - connecting people
Сообщение
12 июн 2010, 15:19
Аватар пользователя
Не в сети
Про скрипт - тема хорошая. Ещё бы добавку к условиям работы скрипта сделал бы. Как примерно его бы сделать.

1. Не надо никакой судейской комиссии. Голосовать надо давать возможность каждому. Позиция которого в рейтинге 4 или 5 и выше. Так как нубы, все таки, не могут хоть примерно адекватно, оценить райтинг. Глаза могут расшириться при виде 40 паладинов и поставить +2 :)

2. Голосование должно быть на главной странице сайта, в определенные дни. Например, 1-5 число каждого месяца. А можно сделать 1-3 число и 15-18 число, чтоб два раза в месяц. И обязон сделать это полностью автоматически.

3. Голосование должно быть - как редактирование текущей таблицы, +/- 2 бала. Т.е. если человек на 5-ой позиции, то любой зарегистрированный пользователь, в дни голосования, одинажды может дать ему -2 -1 0 +1 +2 бала. Ну а дальше уже по результам голосования - идет смещение на "1" бал вверх или вниз и именно на один бал, даже если все проголосовали +2 или -2 (это в случае, если голосование 2 раза в месяц). Или остается на месте.

4. При этом, важно учесть, что смещение должно происходить, только в случае, если за конкретную позицию (человека), проголосовало не менее n человек, например 10.

5. Ещё бы тема была, еслиб был лог прошлого голосования. Где показывались бы смещения. Кто и на сколько был смещен на последнем голосовании.

6. Ещё, такой пунктик..Не все может соглосятся.. Но думаю, что человек проголосовавший за себя, должен иметь больше вес, чем другие голоса. Считать его голос как за голос двух а может и трех человек.

7. Ещё бы лог штрафников сделать. Смотреть, кто предвзято относится к какой то позиции. В штрафники нужно загонять, тех кто голосует +2 или -2 и против общего мнения. Т.е. если человек проголосовал за некоторую позицию +2 а в результате голосования, позиция сместилась на одну позициию вниз, всех кто голосовал +2, загонять в базу штрафников по конкретной позиции, и не давать возможность 2 или 3 следующих голосования, голосовать за конкретную позицию. И наоборот, если человек проголосовал -2, а в результате голосования, позиция поднялась на один бал вверх, тоже загонять к штрафникам.

Вот это было бы нормально.
Сила никона в том, что адекватность перед ним бессильна..
Сообщение
12 июн 2010, 15:53
Аватар пользователя
Не в сети
8. по штрафникам. Если человек оказался штрафником по 3-ем и более позициям, то считать его не адекватом, и загонять на 3 след. голосования в штрафники по всем позициям.

9. Сделать это ровно, чтоб все верно работало. :) Без логических ошибок кода..
Сила никона в том, что адекватность перед ним бессильна..
Сообщение
12 июн 2010, 15:55
Администратор
Аватар пользователя
Не в сети
Идея ставить не рейтинг а его изменение мне нравится :)

А вот в определенных числах делать голосование на главной.... Ермак, у нас в сети 200 человек, как ты себе это представляешь? Справа в колоночку всех забить?

Штрафников - хз. Можно, конечно. Но как штраф будет проявляться? Только если для каждого игрока вводить коэффициент голоса, который будет влиять на все оценки :scratch: Т.е. если чел не адекватен в этом месяце, то его коэффициент с базового 0,5 опускается до 0,4. Если и в следущем месяце косячит - 0,3, и т.д. до 0,1. В случае если он четко рейты расставил, но все же с погрешностями, его коэффициент поднимается на 0,1 ДО отметки 0,5 (базовой). Ну и в случае четкого видения таблицы +0,1 до 1,0. Но на счет всего этого я сильно сомневаюсь.. Тут больше не рейтинг угадывать надо, а общественное мнение) Подумать надо в общем..
dfs - connecting people
Сообщение
12 июн 2010, 15:58
Аватара пользователя
Не в сети
хорошие идеи, Ермак!

но штрафников лучше убрать
игрок может выкладываться по максимуму в играх с твоим участием, а во всех остальных играть левой ногой
и ты ему поставишь +2, остальные -2, но ведь это неозначает что ты неадекватно ставишь оценки
Нормально всё.
Сообщение
12 июн 2010, 16:00
Аватар пользователя
Не в сети
Как как, на главной странице, появляется ссылка на страницу, где идет голосование. Притом яркая ссылка, чтоб все о ней знали и видели, и кто новый чтоб видел и кто старый чтоб не забывал. И эта ссылка - банер какой то, должен появлятся только 1-3 и 15-18 числах каждого месяца.

Про штрафникам, не надо никаких заморочек с +0.1 -0.1 коэфициентам, а именно предвзятость к некоторой конкретной позиции. Про штрафников там вроде описал нормально. И они нужны, без заморочек.
Сила никона в том, что адекватность перед ним бессильна..
Сообщение
12 июн 2010, 16:06
Аватар пользователя
Не в сети
RF_NUCLEAR писал(а):
хорошие идеи, Ермак!

но штрафников лучше убрать
игрок может выкладываться по максимуму в играх с твоим участием, а во всех остальных играть левой ногой
и ты ему поставишь +2, остальные -2, но ведь это неозначает что ты неадекватно ставишь оценки


Ну хз хз... С моим участием, это значит ещё и с участием кроме меня и человека, ещё 6-ти разных игроков в каждой игре, которые тоже будут видеть, что человек выкладывается и они уже увидев пару раз как он выкладывается, не захотят -2 ставить, а это уже не все -2. И штрафник по конкретной позиции, а не всем. Если ты кому то поставишь +2 а он опустится на один бал вниз.. Ммм.. ну это не адекватная оценка, и конкретную позицию, ты не сможешь голосовать 1.5 месяца. Это нормально.

Сделать +2 и -2 - голосованием красным. С предупреждением, что если ты не верно поставишь ему оценку - можешь попасть в штрафники по конкретной позиции. Таким образом, отбивается желание всем вподрят ставить +2 и -2, а более спокойно +1 или -1, +2 и +1 это голос в два раза "весомей", кто поставит +2 проголосует как два проголосовавших +1. +2 и -2 установка такого голоса - должна использоваться с осторожностью. Если ты явно видишь, что человек, нуб пришел, за месяц игры со штормом научился с 1-ой позиции до 4-ой и то и выше, ему можно поставить +2. И если все 10 человек проголосуют +2. Т.е средний голос за человека будет > +1.9 то можно человека и на 2 бала вверх поднять.

Вообще думаю, тоже условие при каких поднимать.

средний бал >= 0.9 , человек поднимается на позицию вверх.
средний бал >= 1.8 , человек поднимается на 2 позиции вверх.
ну и в минус также соответственно.

Но голос +2 и -2 должен ограничиваться и использоваться с осторожностью.
Сила никона в том, что адекватность перед ним бессильна..
Сообщение
12 июн 2010, 16:14
Аватар пользователя
Не в сети
И вообще сделать возможность голосовать +2 или -2, для людей с райтингом 6 или 7 и выше, а не всем вподрят.

Тогда можно и без штрафников.
Сила никона в том, что адекватность перед ним бессильна..
Сообщение
12 июн 2010, 16:29
Аватар пользователя
Не в сети
Вообще переформулирую сейчас. :)

1. Скрипт голосования, должен быть на странице райтинга игроков. В любое время.

2. Голосовать могут игроки 5 уровня и выше.

3. Игроки 7-го уровня и выше, могут ставить +2, +1 или -1, -2 при голосовании. Игроки 5-6го уровня, могут ставить только +1 или -1

4. Каждый игрок, может проголосовать за конкретную позицию, не чаще чем раз в 15 дней. Если человек проголосовал за какую то позицию, то следующий голос за эту позицию, он может отдать не раньше чем через 15 дней.

5. Каждый день, например утром, скрипт должен обрабатывать голоса по всем позициям. И если за позицию отдано 10 и более голосов, скрипт должен обработать голоса, вывести средне арифметическое и сделать смещение вверх или вниз. Обнулив все обработанные голоса.

6. В таблице райтинга игроков, должна быть ссылка на лог изменения позиций за последние 30 дней.

7. Голос за себя, должен быть расценен как "бал которым он проголосовал" * 2.

Плюсы и минусы такого метода от прошлого.

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

Минусы. Если делать переодическим для всех, то голосование будет в основном по большим позициям. Т.е. каждый человек, будет голосовать за большее количество позиций.
Сила никона в том, что адекватность перед ним бессильна..
Сообщение
12 июн 2010, 16:46
Аватара пользователя
Не в сети
:good: осталось только сделать :D
Нормально всё.
Сообщение
12 июн 2010, 16:49
Аватар пользователя
Не в сети
Если дадут методы и классы, для хранения данных. И привязка аккаунт - позиция, и как узнать текщий аккаунт, то могу потратить 15 минут своего времени, чтоб реализовать этот скрипт :)
Сила никона в том, что адекватность перед ним бессильна..
Сообщение
12 июн 2010, 18:02
Администратор
Аватар пользователя
Не в сети
15 минут? это с ведением лога, привязки кому на сколько голосвать, запретом в 15 дней и баном если позицию неправильно сдвинул (штрафники)?

Ну-ну...
dfs - connecting people
Сообщение
12 июн 2010, 18:06
Администратор
Аватар пользователя
Не в сети
Я вот за 15 минут только это успел сделать: клик

Чтение данных с БД и обработка установленного дельта рейтинга (выводит на экран только изменение рейта Артура - просто тест.

Скрипт сам по себе не сложный, но вот с логинами/паролями я никогда не работал. Если добавить, что еще желательно их хранить где-нибудь, чтобы каждый раз не вводить заного, то как бэ.. не особо я шарю как это сделать. Читать надо :scratch: Могу пока какие-нибудь кривую легко взламываемую (правда зачем и кому это будет надо - хз) систему паролей, которую придется вводить каждый раз при заходе на сайт :scratch:
dfs - connecting people
Сообщение
13 июн 2010, 01:31
Аватар пользователя
Не в сети
дфс, ты что-то с дебрей начал. Есть же логины и пароли на сайте. Все что нужно, это создать в БД отдельную таблицу райтинга, связать логин на сайте с этим ником, через что-то, например Ники в игре - это значит, что надо обнулять в аккаунтах ники в игре, и присваивать только те, которые есть в райтинге. Или у вас уже есть эта связка - которая отображает райтинг под аватарой, он как то же связан.. Вообщем ты чет с дебрей начал.

И штрафников не нужно делать, если по последней редакции делать.
Сила никона в том, что адекватность перед ним бессильна..
Сообщение
13 июн 2010, 01:34
Аватар пользователя
Не в сети
А ведение лога - это отдельная таблица, куда просто пишется ник, значение, и время и скрипт который по крону запускаться должен и обрабатывать голоса, должен в эту таблицу писать. Соответственно лог - это тупо просто вывод, где стоит лимит по времени, и всё.
Код:
$date = time() - 3600*24*30;
$result = mysql_query("SELECT * FROM `rate_log` WHERE `date` > $date LIMIT 50 ORDER BY `id` DESC);
echo '<table>';
foreach($result as $row) {
   echo "<tr>";
   echo "<td>{$row['nick']}</td>";
   echo "<td>{date('format',$row['date'])}</td>";
   echo "<td>{$row['change']}</td>";
   echo "</tr>";
}
echo "</table>";

все.. весь скрипт отображения логов..

обработка голосов - ещё меньше кода, там 10 строк отсилы.

всё это легко делается

зная форматы, я бы смог накидать, за 15-20 минут некоторый код, который пришлось бы конечно потом ещё подредактировать, теги вставить, форматирование.. но скрипт - да, мог бы сделать за 15-20 минут
Сила никона в том, что адекватность перед ним бессильна..
Сообщение
02 май 2011, 18:12
Администратор
Аватар пользователя
Не в сети
Спасибо Ермаку за экскурс в БД. Это был хороший опыт :)

:te_ma-clo_se:
dfs - connecting people
На страницу Пред.  1, 2, 3, 4, 5 [Сообщений: 98]

Перейти:  

Сейчас посетителей на форуме: 9, из них зарегистрированных: 0, 0 скрытых и гостей: 9 | Больше всего посетителей (885) на форуме было 19 янв 2020, 10:18
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9
cron
Яндекс.Метрика