Набор игроков

Завершенные игры

Новые блоги

- Все активные блоги

Форум

- Для новичков (3751)
- Общий (17804)
- Игровые системы (6252)
- Набор игроков/поиск мастера (41690)
- Котёл идей (4368)
- Конкурсы (16075)
- Под столом (20443)
- Улучшение сайта (11251)
- Ошибки (4386)
- Новости проекта (14690)
- Неролевые игры (11855)

[?] Рандомайзер: имитация колоды карт

В некоторых играх, вроде тех же Сумерек Империи, используются колоды карт. Принципиальное отличие колоды карт от броска кубика заключается в том, что бросок определённого числа на кубике не исключает появления этого же числа при следующих бросках. Тогда как карты существуют виртуально, и после ролла меняют игровую зону (попадают кому-то на руку, в сброс и т.д..), и рандомайзер не может выдать их повторно.

Соответственно, нужно (самый минимальный вариант), чтобы можно было создать массив чисел, и чтобы рандомайзер запоминал, какие числа уже возвращал, и рероллил их без дополнительного запроса.

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

Учитывая, что в играх есть возможность самостоятельно настраивать характеристики (т.е. игра помнит какую-то авторскую инфу), данная задача не выглядит сильно сложнее. Могу, конечно, и ошибаться...
Автор: Mordodrukow [offline] , 04.09.2020 20:25 1

Плюсую, было бы интересно. И наконец-то можно было бы нормально организовать инициативу в savage worlds, которая в своём бытовом варианте строится на картах. Сейчас для этого пользователи придумывают какие-то костыли из обычных бросков с табличками, что значит конкретное значение кубика.

Хотя, конечно, запрос на учёт уже совершённых бросков/учёт выданных карт, то бишь, звучит нетривиально для текущей системы бросков... Мне бы хватило и просто организации д36 или д54 с указанием вместо цифр на бросках названий карт типа "король трефи"
Автор: Romay [M] [offline] , 14.09.2020 01:41 2

Нет, смысл как раз в том, чтоб рандомайзер схлопывал поле вариантов в тех местах, которые в сбросе. Я когда по СИ вёл игру, у меня была таблица, в которой я удалял вышедшие карты со смещением по ячейкам. Это позволяло ролять куб со стороной, равной числу карт, и при этом не прибегать к рероллам.

Собственно, здесь я бы сделал так: пользователь создаёт таблицу с картами (по сути, настраиваемые характеристики - та же таблица, так что не вижу здесь проблем), называет её "Колода 1" или ещё как то, как ему угодно. Когда нужно вытянуть карту, он ставит галку "колода" при кубомёте. Тот ему предлагает выпадающий список, там все заведённые колоды. Пользователь выбирает нужную колоду, после чего рандомайзер производит роллы (со стороной куба, равной числу карт) до тех пор, пока не выпадет число, соответствующее ещё не вытянутой карте. После этого сайт запоминает, какая карта вышла, чтобы впоследствии её рероллить.

Соответственно, тут важно научить сайт запоминать, что было. Это если лень делать алгоритм смещения.

Альтернативно можно дать пользователю самому редактировать таблицу. Тогда это будет три столбца. В первом номер, во втором тело, в третьем признак "активна"/"не активна". И рандомайзер опять же пропускает неактивные карты, реролля соответствующие им числа.
Автор: Mordodrukow [offline] , 14.09.2020 17:31 3