Доброе время суток с вами _Edik_ В моем 'уроке' мы рассмотрим такую функцию random().
Поехали.
1. Предисловие.
Для начала мы должны понять для чего предназначена данная функция. Random в переводе с английского — случайный. Следовательно, данная функция возвращает нам случайное значение.
2. Как работает?
Информация в данном пункте чисто для расширения Вашего кругозора.
Числа получаемые с помощью данной функции псевдо случайны, и вычисляются на основе формулы с некоторым начальным значением, которое может быть как функция времени.
Подробнее о алгоритме генератора случайным чисел Вы можете познакомиться здесь.
Также одним из алгоритмов генератора случайных чисел является линейный конгруэнтный метод
3. Как применять данную функцию?
Рассмотрим несколько примеров:
1) Создадим команду, которая выводит случайное число от 1 до 10 (включая 1 и 10).
Код
if(strcmp("/random", cmdtext, true, 10) == 0)
{
new string[64]; // создаем строку, которая выведется на экран.
format(string, 64, "Случайное число: %d", random(10)+1); /* заполняем строку.
Немного объясню как все выполняется. Функция random() ведет отсчет от нуля. Т.е. random(10) вывело бы число от 0 до 9. Следовательно, мы прибавили единицу, чтобы строка заполнилась числом от 1 до 10. */
SendClientMessage(playerid, 0xFFFFFF, string); // выводим сообщение пользователю
return 1;
}
На основе этого примера можно сделать азартные игры (например бросание костей, блек-джек и многое другое).
2) Рассмотрим другой пример: Сделаем совсем 'безобидную' функцию с помощью Random. Каждую секунду цвет машины в которой сидит игрок будет меняться.
Добавляем к глобальным переменным:
Дальше.
Код
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
KillTimer(changecolortimer);
changecolortimer = SetTimerEx("changecolor",1000,1,"i",vehicleid);
return 1;
}
И добавляем функцию смены цвета с нашим Random:
Код
forward changecolor(i);
public changecolor(i)
{
ChangeVehicleColor(i, random(120), random(120)); // меняет color1 и color2 на случайные цвета от 0 до 120
return 1;
}
Можно привести еще тысячи подобных примеров, но все равно невозможно показать все прелести Random.
Ну что же на этом урок мой заканчивается.[font=Geneva]