Об игре
Новости
Войти
Регистрация
Рейтинг
Форум
13:17
3493
 online
Требуется авторизация
Вы не авторизованы
   Форумы-->Творчество-->
1|2|3|4|5|6|7|8|9|10

АвторМафия 367. Декстер. Полиция Майами (Регистрация)
Мне нельзя роль двойного агента, она требует вовлеченности, а я на форуме буду в основном только в вечернее время)
для LuckyButterfly:
Свин!!! ты как играть собрался?))
Задам 400+ вопросов, за себя и Лорда=).

А какое распределение укажешь при генерации? Это важно!
для СвиноПас:
о каком распределении речь?)
И прекратите генерить роли в квазислучайных рандомайзерах, они палевны.

Пиши ИИ - сгенери роли - вот список игроков, распределение Фишера-Йетса (Fisher–Yates shuffle).
Суть алгоритма Фишера — Йейтса в том, что он перемешивает массив за один проход ($O(n)$) и дает строго равновероятное распределение ролей: каждая возможная комбинация имеет абсолютно одинаковые шансы.Как это работает на пальцахДопустим, у нас есть список из 10 ролей (Мафия, Дон, Шериф, Доктор, 6 Мирных) и 10 игроков.Берём полный список ролей: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9].Встаём на последний элемент (индекс 9).Генерируем случайное целое число $k$ от 0 до 9.Меняем местами элемент на позиции 9 и элемент на позиции $k$.Переходим к предпоследнему элементу (индекс 8), генерируем случайное число от 0 до 8 и снова меняем их местами.Повторяем, пока не дойдём до первого элемента.Почему обычный sort(() => Math.random() - 0.5) — плохая идеяВ программировании часто пытаются перемешать массив через встроенную сортировку со случайной функцией сравнения. Это приводит к перекосу распределения: некоторые роли попадают к определенным номерам чаще, чем должны, потому что сортировки не рассчитаны на транзитивность случайных значений.Алгоритм Фишера — Йейтса гарантирует, что у каждого игрока ровно $1/N$ шанс получить любую из ролей.
для СвиноПас:
В этом распределении ГГ сносят первыми ходами, проверено опытным путем)
для Felicity:
=)) То у нас были лапки кривые=). Ну, или у них, что вероятнее ахха)
опять-таки, я генерирую просто последовательность чисел
выпадает скажем 1 5 17 18 и тп
а у меня перед глазами список ролей с 1-15, итого получаем:
что первая роль достается 1 игроку, 2 роль достается 5 игроку и так далее

то есть рандом просто генерит случайный порядок цифр (от 1-20, но 15 чисел, так как 15 ролей)
предлагаю стартовать, а то сам себя съест Свин, не успев игре начаться))
тема закрыта by LuckyButterfly (2026-08-22 14:14:18)
1|2|3|4|5|6|7|8|9|10
К списку тем
2007-2026, онлайн игры HeroesWM