Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 3 из 3

Тема: RandomizeFloat

  1. #1
    Аватар для makarov
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.01.2015
    Сообщений
    3
    Репутация:
    0 ±

    RandomizeFloat

    Описание функции:
    Аналог нативной функции random, функция для создания случайного float значения.

    Параметры:
    Float:var - куда будет возвращено значение.
    limit - границы.

    Функция:
    PHP код:
    RandomizeFloat(&Float:var, limit)
    {
        if (
    limit <= 0)
            return 
    false;

        static 
    Float:random_value = (random(limit) + (random(1001) * 0.001));
        
        switch(
    random(2)) {
            case 
    0: var += random_value;
            case 
    1: var -= random_value;
        }
        return 
    true;

    Пример использования:
    PHP код:
    new Float:xFloat:y;
    RandomizeFloat(x10000);
    RandomizeFloat(y10000);
    SetPlayerPos(playeridxy10.0); 
    Автор: makarov. Принимается любая критика и предложения.

    Цитата Сообщение от Londlem Посмотреть сообщение
    Что насчёт того, чтобы не создавать лишних переменных, а сразу выводить полученный результат?

    В виде макроса:
    PHP код:
    #define RandomizeFloat(%0) \
        
    ((!random(2) ? (-1) : (1)) * (random(%0) + (random(1001) * 0.001))) 
    Последний раз редактировалось makarov; 01.05.2015 в 20:44.

  2. #2
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Что насчёт того, чтобы не создавать лишних переменных, а сразу выводить полученный результат?

    В виде макроса:
    PHP код:
    #define RandomizeFloat(%0) \
        
    ((!random(2) ? (-1) : (1)) * (random(%0) + (random(1001) * 0.001))) 

  3. #3
    Аватар для makarov
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.01.2015
    Сообщений
    3
    Репутация:
    0 ±
    Цитата Сообщение от Londlem Посмотреть сообщение
    Что насчёт того, чтобы не создавать лишних переменных, а сразу выводить полученный результат?

    В виде макроса:
    PHP код:
    #define RandomizeFloat(%0) \
        
    ((!random(2) ? (-1) : (1)) * (random(%0) + (random(1001) * 0.001))) 
    Это уже не будет функцией.

    Да, макрос куда значительно быстрей функции. Добавлю его в первый пост.

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •