оверэнчант
|
|
ZyMa | Дата: Четверг, 2007-12-06, 9:32 PM | Сообщение # 46 |
Лейтенант
Группа: Воин Nar Thos.
Сообщений: 75
Статус: Offline
| угу, как я и писал)
|
|
| |
Darkwiner | Дата: Четверг, 2007-12-06, 11:04 PM | Сообщение # 47 |
Лейтенант
Группа: Воин Nar Thos.
Сообщений: 75
Статус: Offline
| А я вот просто точу и жду жду и точу Подченить себе могущественный рандом оооочень трудно остается только Овеликий рандом смилуйся надо мной и подари мне удачу
Я меткий хавк, я десница судьбы Я комар жужащий всю ночь и мешающий спать я таракан прилипший к вашему ботинку и если ты перешел мне дорогу....МОЛИСЬ твоя песенка спета ибо Я Меткий ХАВК:) Ааааа ууууу Буууууу:)))
|
|
| |
Invory | Дата: Пятница, 2007-12-07, 7:22 AM | Сообщение # 48 |
Генерал-майор
Группа: Друг Альянса
Сообщений: 316
Статус: Offline
| Quote (ZyMa) Угу, тока проблемка бут у тебя при этом, каждый раз когда у тебя выпадет какоето число, то после него фсе цифры будут повторяться как в предыдушем разе. к примеру если у тя два раза вышло число 10, то в обоих разах бут при следующем обрашение к рандому он вернет одинаковые числа... Да и что бут если по твоей рекурентной формуле после числа 10 к примеру бут следовать опять таки 10? рандом втупую бут те возрашаться всегда 10 - вот еще минус твоего рандома. Там как то все хитрии делаеться... это не мой рандом... так его реализуют(обычно) на то и называются числа "псевдо-случайные" - последовательность можно всегда повторить, зная как она инициализировалась... но когда тысяча игроков обращаются к одному и тому же генератору, то предсказать, какой член последовательности выпадет конкретному игроку невозможно например можно заглянуть в сишный рантайм...: устанавливаем начальное значение для генератора (как правильно заметили - можно использовать текущее время) Code void __cdecl srand (unsigned int seed) { _getptd()->_holdrand = (unsigned long)seed; } _holdrand - та самая грубоговоря глобальная(для текущего процесса) переменная и сам генератор Code int __cdecl rand (void) { _ptiddata ptd = _getptd(); return( ((ptd->_holdrand = ptd->_holdrand * 214013L + 2531011L) >> 16) & 0x7fff ); } так фо =) моего тут нету:)
Linux is like a wigwam: no gates, no windows and an apache inside. main: st-78/sub: pw 75+
|
|
| |
ZyMa | Дата: Пятница, 2007-12-07, 9:14 AM | Сообщение # 49 |
Лейтенант
Группа: Воин Nar Thos.
Сообщений: 75
Статус: Offline
| Quote (Invory) int __cdecl rand (void){ _ptiddata ptd = _getptd(); return( ((ptd->_holdrand = ptd->_holdrand * 214013L + 2531011L) >> 16) & 0x7fff );} Так этож не бут равномерное распределение.... вроде.... Ну на вид так вроде не деолжно) Или эт для примера выложил? зы. Эх , а я С++ не знаю =( зы2. Откуда ты формулу ((ptd->_holdrand = ptd->_holdrand * 214013L + 2531011L) >> 16) & 0x7fff надыбал то? Quote (Invory) это не мой рандом... так его реализуют(обычно) на то и называются числа "псевдо-случайные" - последовательность можно всегда повторить, зная как она инициализировалась... но когда тысяча игроков обращаются к одному и тому же генератору, то предсказать, какой член последовательности выпадет конкретному игроку невозможно Ты меня чуток не так понял. Я не про то мона его отследить или нет, я про то бут ли он стабильно работать и не зациклеваться?
|
|
| |
Invory | Дата: Пятница, 2007-12-07, 6:06 PM | Сообщение # 50 |
Генерал-майор
Группа: Друг Альянса
Сообщений: 316
Статус: Offline
| Quote (ZyMa) Так этож не бут равномерное распределение.... вроде.... Ну на вид так вроде не деолжно) Или эт для примера выложил? зы. Эх , а я С++ не знаю =( зы2. Откуда ты формулу ((ptd->_holdrand = ptd->_holdrand * 214013L + 2531011L) >> 16) & 0x7fff надыбал то? Насчет ровномерного распределения не знаю Это я выложил для примера, в качестве доказательства того, что так действительно делают А генератор этот я надыбл(естественно с формулой и всеми причендалами), недолго думая, заглянув в исходники Си рантайм-библиотеки(короче гря это всё © Microsoft). Собственно с чего всё началось Я сказал, что если взять тупейший генератор, который будет выдавать последовательно 0 или 1 ( ну я конечно упростил... возьмем последовательно числа от 0 до 100), и зная это, все-равно в л2 было бы невозможно предсказать успех энчанта
Linux is like a wigwam: no gates, no windows and an apache inside. main: st-78/sub: pw 75+
|
|
| |
Demius | Дата: Суббота, 2007-12-08, 12:47 PM | Сообщение # 51 |
Генерал-лейтенант
Группа: Воин Angijak
Сообщений: 792
Статус: Offline
| понафлудили то. да только толку 0. над разгадкой точки/крафта уж сколько народу думает, а толку нет. и мильён мифов уже насчет этого, что то типа точить в церкви, насчет крафта типа - каждый 3 крафт удачный. самая моя любимая версия - это существования мифического показателя - Luck, коий присваивается каждому персу при его создании и влияет на крафт/спойл/дроп этим персом.
Слова настоящего ГЕРОЯ!!
|
|
| |
Eagleheart | Дата: Суббота, 2007-12-08, 5:41 PM | Сообщение # 52 |
Генералиссимус
Группа: Воин Nar Thos.
Сообщений: 1368
Статус: Offline
| Quote (Demius) самая моя любимая версия - это существования мифического показателя - Luck Ага, типа как у моей гномки. Заточил АОБУ на +10, Эмик на +11, штормы на +10 подряд, а потом сломал подряд 4 дарк скримера.
|
|
| |