Random

Материал из UoPilot
Версия от 21:23, 27 августа 2019; Tatikoma (обсуждение | вклад) (Новая страница: « == Описание == Генерирует псевдослучайное число. == Синтаксис == Привязка к окну: нет. <br>Р...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Описание

Генерирует псевдослучайное число.

Синтаксис

Привязка к окну: нет. <br>Работа со свернутым окном: да.

set <имя_переменной> random (<n>)

<имя_переменной> - имя переменной в которую записывается результат. <br><n> - целое положительное число(больше нуля), определяет верхнюю границу генерируемого числа. <br>Важно! Результат будет содержать число от 0 до n-1, т.е. при указании n равным "10" минимальное значение будет "0", а максимальное "9".

Примеры

// Пример 1
wait 1000 + random (2500) // ждать случайное время - от 1000 до 3499 мс
// Пример 2
set #a random (2) // получить случайное число - 0 или 1
msg #a
// Пример 3
set #b 5 + random (6) // получить случайное число от 5 до 10 включительно
msg #b
// Пример 4
// Получить отрицательное число от -100 до 0
set #a - random(100)
log #a
end_script
// Пример 5
// Получить отрицательное число от -150 до -50
set #a - random(100) - 50
log #a
end_script
// Пример 6
// Получить число, чтобы оно не было равно предыдущему (не повторялось)
set linedelay 0
log mode compact
set #x 0
set #xlast 0

:start
    while #x = #xlast        // пока переменная #x равна переменной #xlast(прошлое значение #x)
        set #x random(4)     // получить число от 0 до 3
    end_while
    set #xlast #x            // запомнить последнее значение переменной #x
    log #x
    wait 400
goto start

Смотрите также

Wait <br>Left

История развития

1.05 beta 3 <br>Добавил возможность использовать случайные числа в условных операторах и команде set.

random <number>

Возвращает число в диапазоне от 0 до number-1. <br>Примеры:

 while #a = #b or random 5 > 3
 set #a random 2 

2.04 <br>Исправил небольшую ошибку в операторе random.

2.09 <br>Исправил ошибку в операторе random, Теперь понимает переменные и выражения. Слегка изменен синтаксис.

random (выражение)

2.14 <br>Изменен синтаксис оператора 'random' в условиях. Теперь он такой же как и везде 'random (выражение)'.

if random (124) = 0

2.15 <br>Исправил ошибку с пропаданием зарезервированного слова 'random' из текстовых сообщений.

msg random 123

2.15 Научил 'wait' вычислять указанную задержку 'wait 1000 + random(10000)'.