Здравствуйте, гость Правила · Помощь

»  И еще раз про генератор, Просто интересно Подписаться | Сообщить другу | Версия для печати
      » 29/12/2009, 10:16,  tucan 
Иго ("29/".$m["дек"]."/2009," 04:06)
я не знаю, как "научить" генератор сдавать "по-человечески". smile.gif Если знаешь ты, поделись.

Легко.
Берем последовательность чисел от 0 до 31, генерируем из них случайную последовательность (генератором случайных чисел). "Раздаём".

Далее делаем иммитатор того что происходит за столом вживую. Формируем три "кучки", соответствующие трем игрокам, согласно полученным ими взяткам. Каждая кучка состоит из "взятки", т.е. трех чисел, первое из которых соответствует первой карте сыгранной во взятку, второе - второй, третье - третьей. "Снос" из двух "карт" - в начало последовательности.
В случае "предъявы" и согласия с ней, "кучки" дополняются "картами" имеющимися на руках игроков.
В конце розыгрыша "кучки" "складываем", учитывая кто "сдающий", т.е. его "карты" - внизу колоды.
То есть в процессе розыгрыша формируется новая "колода". Она не совсем случайная, в ней встречаются последовательности из одномастных блоков, т.е. когда соседями являются карты одной масти и/или козырем.

Далее имитируем тасование колоды.
Берем N первых карт из начала колоды, где N - случайное число от 6 до 26 (или от 10 до 22, если угодно) и перекладываем M чисел из этих N в конец колоды, потом K случайных из того что осталось от N-M в начало, потом случайное число того что осталось от N-M-K в конец колоды и так делее до тех пор, пока не кончатся карты в подколоде N.

Подснимаем.

Сдаем.

Т.е. гена тоже нужен, но колода за столом будет им именно "тасоваться", примерно так, как это делают руками игроки. Количество тасовок можно задавать для каждого свое, можно устанавливать одно для всех.

Это сообщение отредактировал tucan - 29/12/2009, 10:23
      » 29/12/2009, 10:34,  Иго 
Тукан, хочешь на каждый стол установить отдельный генератор? Уверен, что это так легко, как ты считаешь?
Не могу ничего утверждать, но алгоритм, описанный тобой, по-моему, будет конкретно грузить сервер.
Надо как-то иначе.

Это сообщение отредактировал Иго - 29/12/2009, 10:38
      » 29/12/2009, 10:40,  tucan 
Не будет он ничего грузить. Я же грубо описал. На стол будет сдаваться колода и случайные числа в нужных диапазонах. Всё это будет генерироваться заранее, нужно только продумать алгоритм подробнее.
Это конечно труднее, чем просто генерить сдачи, но ничего нереального тут имхо нет. Труднее с точки зрения алгоритма, но не с точки зрения нагрузки на генератор.
Все предположительно.

Ну а даже если больше нагрузка на гену, разве оно того не стОит? Лично я бы наверное даже приплачивал, лишь бы сдачки были больше на реал похожи.

Все равно ничего не будут в этом направлении делать.

Это сообщение отредактировал tucan - 29/12/2009, 10:45
      » 29/12/2009, 10:52,  Иго 
Не верится мне, что Gombo в свое время не пробовал различные варианты генератора.
      » 29/12/2009, 10:53,  tucan 
Если умно сделать, то вообще то наоборот, нагрузку на гену можно сильно уменьшить.
Представьте, генерится сдача всего один раз на всю пулю. А для тасовки навороченный гена не нужен, достаточно пользоваться функцией Random на основе от например суммы цифр секунд, минут, часа, дня и года текущего серверного времени.
      » 29/12/2009, 10:55,  ЦарьГоры 
Да по любому не будут они на реал похожи. И вообще - овчинка выделки не стоит, ИМХО. Кстати, практиковалось нечто подобное на Алере, где на выбор предлагалось опция "тасование колоды: случайная или в натруску". Тока , один фих, на реал не походило.

--------------------
Политические сидят тут: https://www.facebook.com/lists/1378114162469583
      » 29/12/2009, 10:56,  tucan 
Иго ("29/".$m["дек"]."/2009," 10:52)
Не верится мне, что Gombo в свое время не пробовал различные варианты генератора.

Игорь, гена тут не при чем, мы же говорим об алгоритме.
А Гомбо если откликнется, может расскажет чем руководствовались при выборе генератора. Наверняка показателями, характеризующими случайность выдаваемого расклада. Ну дык к этому претензий нет - генерит он случайно.
      » 29/12/2009, 10:59,  Иго 
ЦарьГоры ("29/".$m["дек"]."/2009," 10:55)
Да по любому не будут они на реал похожи. И вообще - овчинка выделки не стоит, ИМХО. Кстати, практиковалось нечто подобное на Алере, где на выбор предлагалось опция "тасование колоды: случайная или в натруску". Тока , один фих, на реал не походило.

И уж точно генератор от нападок не спасет никакой алгоритм. smile.gif
В реале два или три раза (а мож, и больше, не помню) люди в бешенстве рвали колоду, о чем тут говорить? smile.gif
      » 29/12/2009, 10:59,  ЦарьГоры 
tucan ("29/".$m["дек"]."/2009," 10:56)
Иго ("29/".$m["дек"]."/2009," 10:52)
Не верится мне, что Gombo в свое время не пробовал различные варианты генератора.

Игорь, гена тут не при чем, мы же говорим об алгоритме.
А Гомбо если откликнется, может расскажет чем руководствовались при выборе генератора. Наверняка показателями, характеризующими случайность выдаваемого расклада. Ну дык к этому претензий нет - генерит он случайно.

Жень,если и введут какой-нибудь алгоритм "зависимости от предыдущих сдач", то , со временем, воя и гнева на этот алгоритм будет не меньше, чем на нынешнее его отсутствие, а может даже и поболе. Лично мне больше нравится нынешний вариант, при всех его недостатках. Да, это не реал. Это "этюдный" виртуальный преферанс. Ну и что?

--------------------
Политические сидят тут: https://www.facebook.com/lists/1378114162469583
      » 29/12/2009, 11:05,  tucan 
ЦарьГоры ("29/".$m["дек"]."/2009," 10:59)
Да, это не реал. Это "этюдный" виртуальный преферанс. Ну и что?

Это гемблеранс. Опыт, получаемый в такой игре немного не совсем то что в реале.
Я бы вообще оставил запись в пулю на откуп игрокам; тогда не надо вводить конвенций и системы всякие. Пусть сдает колоду. Не умеет как вручную, пусть сдает как умеет.

Преф - игра во многом верятностная. От того как сдают колоду многое зависит. Хотелось бы чтобы опыт, получаемый в виртуале лучше подходил к тому, что в реале, вот и всё.

Это сообщение отредактировал tucan - 29/12/2009, 11:09
« Предыдущая тема | Перечень тем | Следующая тема »
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей: