![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Aug 2006
Сообщений: 134
|
Добрый день, флэшеры. Надеюсь, правильно раздел выбрал
![]() Суть вот в чем. По ссылке http://dn1.ru/kiprino есть игрулька. Там надо выбрать рецепт и потом словить необходимые для него продукты. Сейчас продукты выпадают по рандому. Т.е. у каждого продукта есть номер, который и выбирается случайным образом. Кстати, попутно вопрос: как-нибудь улучшить рандомность Math.random() существует возможность? А то часто очень повторяются номера. Вернемся к продуктам. В некоторых рецептах бывает нужно большое количество определенных продуктов, например 4 яйца или 8 картошек. Очень вероятно, что за 2 минуты нужное их кол-во вообще не выпадет. Теперь вопрос. Как сделать так, чтобы необходимое кол-во нужных продуктов непременно выпало за 2 минуты, но все равно сохранить рандомность их выпадения? Т.е. помино нужных продуктов выпадали еще и ненужные. В принципе нужен наверное сам алгоритм выпадения, но если что можно и код необходимый привести - буду признателен. Мой код таков: productInt = setInterval(makeProducts,ingFallFreq);
function makeProducts() {
// Выбор номера продукта делается здесь от 0 до 14:
prodNum = Math.floor(Math.random() * ingTotalNum);
prod_X = Math.floor(Math.random() * (430 - 30)) + 30;
var newIng:MovieClip = ingCont.attachMovie("ing_"+prodNum,"newIng_"+ingCont.getNextHighestDepth(),ingCont.getNextHighestDepth());
newIng.id = prodNum;
newIng._x = prod_X;
newIng._y = -20;
newIng.onEnterFrame = function() {
this._y = this._y + ingFallSpeed;
if(this.hitTest(RAT.kastrulya)) {
catchSnd.start();
ingCatchArr[this.id]++;
catchProduct(this.id);
this.removeMovieClip();
}
if(this._y > ingFallBorder) {
this.removeMovieClip();
}
}
}
__________________
я только учусь... |
|
|||||
|
посчитать, сколько продуктов успевает выпасть за 2 минуты.
генерировать выпадающие продукты заранее. сначала добавить в массив необходимые продукты (я бы добавил их раза два-три). перемешать массив. добавить мусорных продуктов в случайных ячейках массива. выкидывать из массива, а не рандомом.
__________________
~ Never trouble trouble till trouble troubles you! |
|
|||||
|
Регистрация: Aug 2006
Сообщений: 134
|
UP
А кто-нить еще способ знает. Мне кажется рандомность выпадения в таком случае будет еще меньше...
__________________
я только учусь... |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:46. |
|
|
« Предыдущая тема | Следующая тема » |
|
|