Некоторые почему-то считают, что ближе к концу диапазона числа выпадают чаще. У меня они выпадают на глаз равномерно. Все с рандомом в порядке. А Дуос не знает.
минус варовского рандома в том, что это выходит вовсе не рандом, а один и тот же набор чисел. не зависимо от того, сколько раз запустил карту или игру. хотя я даун в джассе, могу быть не прав.
минус варовского рандома в том, что это выходит вовсе не рандом, а один и тот же набор чисел. не зависимо от того, сколько раз запустил карту или игру. хотя я даун в джассе, могу быть не прав.
Malfatto, лол, ты сейчас про проверку карты с галочкой "фиксированный случайный разброс" что ли? Ну да при каждом запуске редактора с этим параметром - каждая проверка карты нарандомит одинаковый рез.
Ну, генерировать случайные числа весьма сложно на самом деле. Если вас не устраивает генератор случайных чисел варкрафта, кто мешает написать собственную функцию генерации случайных чисел? Существуют очень много подобных алгоритмов, реализовать самые примитивные не составляет большого труда, но они будут работать похуже варкравтовского. А если нужен самый идеальный, придется сильно попотеть - очень сложные формулы. Ну, один из самых простых алгоритмов: берется простое число N (чем больше, тем лучше), Составляется массив из дробных чисел 1/N до (N-1)/N. Берется число, равное значению счетчика, который увеличивается каждые 0,04 секунды на 1 и достигнув значения N, обнуляется. Текущее значение счетчика есть индекс нашего массива. Получаем случайное число от 0 до 1. Если диапазон числа должен быть больше, то дополнительно умножаем данное число на нужный диапазон (При необходимости, отбрасываем дробную часть). Вот и весь алгоритм. Он немного примитивен, но, надеюсь, общий смысл составления случайных чисел вы поняли. Просто вся идея генерации случайных чисел состоит в том, что случайное число считается по ФИКСИРОВАННЫМ значениям.
Ty3uK, а разве на этом принципе и не построена генерация случайных чисел? Ведь если для этого использовать вероятность, то это это тоже случайное число, для которого мы и пишем функцию генерации случайных чисел.
Добавлено (13 Апреля 2013, 13:48:23) --------------------------------------------- короче, не существует для компа алгоритма идеально-случайных чисел. Только псевдо-случайные. Ни в одной игре, ни в одном язые программирования, ни где-либо еще, никто никогда не смог и вряд ли сможет написать алгоритм идельной генерации случайных чисел. Но есть простые алгоритмы, которые слабо обеспечивают случайность чисел (в доте к примеру, довольно часто на ar может попасться одному и тому же игроку один и тот же герой, что на самом деле должно быть очень маловероятно), а есть сложные, которыми вполне можно удовлетворится. В данном случае могу посоветовать одно - ищите "золотую середину" между сложностью и результатом. В ряде случаев можно удовлетворится и вариковским генератором случайных чисел.
При тесте из редактора всегда берется одинаковый Random Seed
Прав.
Не зли других и сам не злись. Мы - гости в этом мире. И если что не так - смирись, Будь поумнее - улыбнись, Ведь в мире всё закономерно. Зло, излучённое тобой, К тебе вернётся непременно.
function incZ takes integer i returns nothing set i = i + 1 endfunction //trig+ call incZ(udg_X) call DisplayTextToForce( GetPlayersAll(), I2S(udg_X) ) //trig-
0/0/0/0/0/0/0
Код
function incZ takes integer i returns integer return i + 1 endfunction //trig+ set udg_X = incZ(udg_X) call DisplayTextToForce( GetPlayersAll(), I2S(udg_X) ) //trig-
1/2/3/4/5/6/7 Интересно однако. Думаю, некоторые поняли, что я пытался проверить.
SirNikolas падёт в неравном бою с брутфорсом, Alice.
я думал, всем давно известно, что параметры в JASS передаются по значению.
Я другое тестировал. Вот если бы в Jass можно было так например Не получение значения от переменной от входящей, а управление над входящей.
Код
function incZ takes integer ^i returns nothing set i = i + 1 endfunction
или так хм
Код
function incZ takes integer &i returns nothing set i = i + 1 endfunction
Ну мысль в том, чтобы управляло переменной так как т.е. чтобы делало так: [call incZ ( udg_X )] = [set udg_X = udg_X + 1] Печаль, так было бы ещё интереснее
Цитата (SirNikolas)
Чародейка на аватаре?
Мб, я давно этот хороший сериал не смотрел. Нашел картинку, что-то напомнило, вот и поставил на аватар.
SirNikolas падёт в неравном бою с брутфорсом, Alice.
SirNikolas, вот что самое интересно, а другими типами можно управлять как unit, texttag, timer и др. т.е. классами. Следовательно, чтобы можно было делать передачу по ссылке, нужно перезаписывать движ. вара.
Цитата (SirNikolas)
Нечто подобное можно получить, передавая структуру (ценой потери в скорости, конечно).
Этот способ хорош, но про то, что вы сказали, истина. А вы всё таки очень толковый программист. В олимпиадах по программированию участвовали? У всего есть минусы, но в них нужно искать и свои плюсы.
SirNikolas падёт в неравном бою с брутфорсом, Alice.
В принципе можно реализовать это сторонним препроцессором.
Код
void Inc(ref int toInc) { toInc++; }
void test() { int i = 1; Inc(i); }
--------->
Код
void Inc(int toInc) { return toInc++; }
void test() { int i = 1; i = Inc(i); }
Но тут речь не об удобстве, как я понимаю.
Добавлено (22 Апреля 2013, 19:52:26) --------------------------------------------- Так же имеется мысль, что ссылки недоступны по соображениям безопасности.
Да вообще хотелось бы исходный код опубликованный. Ведь, как минимум, это прямой путь к нативному порту для Linux.
Добавлено (22 Апреля 2013, 20:17:17) --------------------------------------------- А еще имеется мысль, что при возможности сохранения данных в адрес есть возможность вызвать функцию из переменной. Однако, это лишь домыслы.
Ty3uK, движ. варика не простая вещь. У кого нибудь возникал такой вопрос: "Однопоточный или многопоточный движ. варика?" ?
У меня был. Он однопоточный. Там все в последовательном действии сначала идёт реакция на события, потом проверка условий, а затем действия. Я использовал одну и туже переменную для двух способностей, в основном переменную для обработку отряда. Тестировал с другом, кастили в одно и тоже время, не сбивалась и не багалась.
Волчачка, а если таймер? Псевдопотоки никто не отменял. Причем, тут тоже загадки - псевдопотоки или многопоточность? А асинхронность событий и действий?