Недавно написал маленькую, но полезную прогу, называется "Игральные кубики". Смысл программы, в следующем: вы выбираете кол-во кубиков от 1 по 20. И бросаете кубики.
Данная версия основана на рандоме, но усчетом факторов реального броска кубиков.
Данную прогу остается улучшить применив еще эврестический подход, для наиболее точно имитации броска игральных кубиков.
Скачать можно на этой странице: http://lasoftgame.ru/downloads.php?cat_id=5
З.Ы.
Знаю, что вы можете сказать: "Нечего страдать фигней" и т.д. Но лучше использовать электронную версию кубиков, чем постоянно искать реальные.
Неактивен
Hind написал:
Нажимаем на любом калькуляторе RND и умножаем на разность верхней и нижней границы (например, на 114, если у нас 20 кубиков), округляем - вот и наши кости...
Не пойдет.
3 кубика никак не смогут выдать число меньше 3, например.
Кроме того, кубик 2d3 и 3d2 - совсем-совсем разные в плане баланса.
Неактивен
Вероятности выпадения для каждого кол-ва очков одинаковы.
Вот это не так.
Спроси у D&D-шника на досуге, почему он предпочтет меч с уроном 6d4 мечу 4d6. ![]()
Неактивен
Кто алгоритмом поделится?
Корв, да какой там алгоритм. Запускаешь генератор случайных чисел от 1 до N для M кубиков (схемка NdM) и складываешь полученные результаты...
Неактивен
- VampirE - написал:
Кому нужны все ваши учитывания, если пользователь все равно видит простой рандом? Просто вместо того, что бы один раз срандомить число, вы делаете это 30 раз, и где здесь имитация? Неужели это так трудно увидеть?
А я вот поддержу Eten'а. Согласен, что если требуется получить просто случайное число, то изобретать велосипед не следует. Но если задачей ставится именно достоверная имитация броска набора кубиков, то обычным рандомом не обойдешься.
Теперь к вопросу "нафига это надо". В некоторых случаях такое моделирование вполне может быть уместно. И такой "рандом" вполне может быть "фишкой" игры. Конечно, все это ближе к "искусству", в обычных случаях такого не нужно, но попытка решить задачу таким образом вполне имеет право на жизнь.
Неактивен
Ну Eten, возможно, планирует развивать программу. Построить массивы взаимодействия граней, чтобы отслеживать, куда кубик может перевернуться с текущей грани и задавать случайно количество переворотов, к примеру. ![]()
Неактивен