Пишу мини покер для одного игрока на js. Выбираю нужную комбинацию исходя из вероятности, а карты под комбинацию пока выбираю так: есть большой json файл со всеми возможными комбинациями { 'номер комбинации': ['массив со всеми возможными вариантами карт для этой комбинации'] }. Хотя файл лежит в буфере и при каждой раздачи всё равно много времени занимает работа с таким большим объектом, может есть другой вариант генерации карт под нужную комбинацию?
Arik: Тут я не смогу разместить, так как файл весит 70мб, вот к примеру как это выглядет сейчас. При запуске сервера считывается файл ~5sec, после этого я могу выбрать от туда карты таким образом: data[0][2] и получу объект вида [ '2d', '3d', '4d', 'Qd', '2h' ]. Где 0 - это номер комбинации, 2 - это случайное число, просто вариант карт с такой комбинацией. Вот код для формирования этого файла https://gist.github.com/Kolandrious/8a8e9cdc4a6638...
Arik Так а как выбирать случайные карты? Нужную комбинацию я выбираю на сервере, надо под комбинацию подогнать карты, не нашёл пока другого варианта как сформировать все возможные и просто случайно выбирать из нужной комбинации. Человек видит 5 карт перед собой, жмёт кнопку - они скрываются.
Нужную комбинацию я выбираю на сервере, надо под комбинацию подогнать карты
Бред, однако. Случайная перестановка генерируется вот так (можно короче, но это чтобы алгоритм показать). Получается "перетасованная" колода-массив. Из нее "раздаются" первый элемент, второй, третий.... а потом уже можно смотреть, что там получилось. Тем более, что только стрит проверить относительно сложно.