Мегаобучалка Главная | О нас | Обратная связь


Написание программы на языке программирования PHP



2016-01-05 405 Обсуждений (0)
Написание программы на языке программирования PHP 0.00 из 5.00 0 оценок




Вычисление рейтинга Эло происходит следующим методом:

Вычисляется математическое ожидание количества очков, которое наберёт игрок в партии с (оно равно сумме вероятности выигрыша игрока и половины вероятности ничьей):

,

где:

  • — математическое ожидание количества очков, которое наберёт игрок в партии с ;
  • — рейтинг игрока ;
  • — рейтинг игрока .

Новый рейтинг игрока рассчитывается по формуле:

,

где:

  • — коэффициент, значение которого равно 10 для сильнейших игроков (рейтинг 2400 и выше), 15 — для игроков с рейтингом меньше чем 2400 и 30 (было 25) — для новых игроков (первые 30 партий с момента получения рейтинга ФИДЕ);
  • — фактически набранное игроком количество очков (1 очко за победу, 0,5 — за ничью и 0 — за поражение);
  • — новый рейтинг игрока .

Исходный код программы будет выглядеть следующим образом:

<form action="" method="post">
<input type="text" name="rating_a" value="Rating A" maxlenght="4">
<input type="text" name="rating_b" value="Rating B" maxlenght="4"> <BR>
Кто победил? Первый (1) или Второй (2) ? <BR>

<input type="text" name="winner" value="Winner">
<input type="submit" value="OK">
</form>
<?php

$rating_a = $_POST['rating_a'];

$rating_b = $_POST['rating_b'];

$winner=$_POST['winner'];

$e = 1/(1+pow(10, ($rating_b-$rating_a)/400));

$e2 = 1/(1+pow(10, ($rating_a-$rating_b)/400));
function EloK($rating)
{
if ($rating >= 2400) {
return(10);
}
else if ($rating >= 1000) {
return(15);
}
else {
return(25);
}
}
if ($winner==1)
{
$new_rating_a = $rating_a + EloK($rating_a) * (1 - $e);
$new_rating_b = $rating_b + EloK($rating_b) * (0 - (1-$e));
} else if ($winner==2) {
$new_rating_b = $rating_b + EloK($rating_b) * (1 - $e2);
$new_rating_a = $rating_a + EloK($rating_a) * (0 - (1-$e2));
}
print $new_rating_a;
print ' / ';
print $new_rating_b;

?>

Описание исходного кода:

В данном исходном коде создается форма в которой вводятся значения трёх переменных, затем после нажатия кнопки “OK” с помощью метода POST передаются в код, написанный на языке программирования PHP. В коде PHP переменные $rating_a, $rating_b, $winnerполучают значения переменных, введенных ранее. Затем вычисляется математическое ожидание количества очков, которое наберёт игрок A в партии с игроком B, и потом полученные значения записываются в переменные $e и $e2 соответственно. Далее идёт функция, которая перехватывает значения переменных $rating_a и $rating_b, затем сравнивает их со значением, требующимся для получения коэффициента, и потом возвращает нужное значение коэффициента. Далее вычисляются новые рейтинги игроков A и B в зависимости от победы того или иного игрока, значение победы записывается либо 1, либо 2 (где 1 – победа игрока A, а 2 – победа игрока B) в переменную $winner. Затем происходит вывод переменных $new_rating_a и $new_rating_b, т.е. новые рейтинги обоих игроков.

 

 



2016-01-05 405 Обсуждений (0)
Написание программы на языке программирования PHP 0.00 из 5.00 0 оценок









Обсуждение в статье: Написание программы на языке программирования PHP

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (405)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)