№ игры:
Хеш:
№ игры | Победитель | Сумма | Шанс |
---|
Для примера возьмём битву №1147.
Делая ставку, каждый игрок создает интервал.
Для каждой битвы создаётся случайное число от 0.0000000001 до 1. Это число умножается на банк и округляется в БОЛЬШУЮ сторону. Результатом этого простого математического вычисления будет число, которое попадает в один из интервалов игроков. Тот игрок, в чей интервал попало это число и будет победителем. Соответственно, чем больше Ваш интервал (чем больше ставку Вы сделали), тем больше шансов на победу.
Для того, чтобы скрыть результат до конца битвы мы генерируем хеш - шифруем случайное число с помощью алгоритма MD5 следующим образом:
ХЕШ = md5(случайное число + соль)
Где соль - это произвольная строка, например wgmrqpu. Она нужна для того, чтобы было невозможно узнать случайное число до момента определения победителя и все игроки имели одинаковые шансы. Генерируемый хеш уникален для каждой отдельно взятой строки.
Для наглядности, разберем конкретный пример из нашей битвы:
Данный результат соответствует интервалу игрока с ником runefa123, который, к слову, сделал не самую большую ставку и выиграл с шансом всего лишь 9%. Это говорит о том, что шанс победить есть у каждого.
Хеш показывается в начале каждой битвы и до её завершения остается неизменным, как и случайное число. Скопируйте строку хеша куда-нибудь, например в блокнот и дождитесь завершения битвы. Потом Вы сможете зайти в её историю и увидеть расшифрованные значения случайного числа и соли.
Далее Вам потребуется любой онлайн кодировщик в MD5. Таких сайтов очень много, достаточно вбить поисковую фразу md5 encrypt и выбрать любой понравившийся ресурс.На сайте кодируем строку число+соль из истории битвы (в нашем случае это 0.1258702119wgmrqpu) и на выходе получаем зашифрованную строку (хеш) - 04267664019c7bb48ecf888484b8724e.
Хеш будет совпадать с тем, который Вы скопировали в начале битвы, увидели в её истории и с тем, который зашифровали самостоятельно. Это говорит о том, что мы не меняем результаты на лету, не подтасовываем победителей и все игроки участвуют в битвах на равных условиях.
Для того, чтобы битва была максимально честной по отношению к каждому игроку, существуют ограничения: