Всем привет, возникла необходимость выбирать рандомно свободный итератор в foreach.. Никто не подскажет как?
Всем привет, возникла необходимость выбирать рандомно свободный итератор в foreach.. Никто не подскажет как?
Член сообщества Green Square.
Итераторы в Pawn (раздел "Документация и использование итераторов" -> Iter_Random)
Последний раз редактировалось Nash_Brigers; 18.04.2017 в 10:33.
Член сообщества Green Square.
Незанятые ячейки будут больше размера итератора. Это указано в статье.
UPD (примерная реализиация):
PHP код:
#define Iter_RandomAll(%1) Iter_RandomAllInternal(_Y_ITER_ARRAY:%1@YSII_Ag,_Y_ITER_ARRAY_SIZE(%1))
stock Iter_RandomAllInternal(array[], size)
{
new rnd = random(size);
return array[rnd] - size - 1;
}
Последний раз редактировалось VVWVV; 04.04.2017 в 16:33.
Nash_Brigers (04.04.2017)
Здравствуйте! Хотел бы точнее узнать о тернарном операторе.
Тернарная условная операция используется в выражениях для получения одного из двух вариантов в зависимости от условия.
Допустим:
PHP код:
Player[playerid][Gender] = listitem;
Правильна уловлена суть применения?PHP код:
SetPlayerSkin(playerid, (Player[playerid][Gender] == 0) ? skin_male[switch_skinID[playerid]] : skin_female[switch_skinID[playerid]]);
Не хотите постоянно проверять обновления моих скриптов?
Подключите его последним, после всех остальных
Nexius's Update Checker
Nurick (05.05.2017)
Слышал еще то что тернарный оператор не работает с sizeof?
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Nurick (05.05.2017)
Там вроде только со строками проблемы (ошибки или варнинги) на стандартном компиляторе, если юзать их без скобок, насколько помню, типо:
PHP код:
new a[32] = (GetPlayerState(playerid) == 9 ? "Игрок в режиме наблюдения" : "Игрок не в режиме наблюдения"); //В таком случае каждую строку что в "" нужно поставить внутри скобок
Не хотите постоянно проверять обновления моих скриптов?
Подключите его последним, после всех остальных
Nexius's Update Checker
Nurick (05.05.2017)
С многомерными массивами тоже проблемы есть
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Nurick (05.05.2017)
Эту тему просматривают: 5 (пользователей: 0 , гостей: 5)