Random: различия между версиями

Материал из UoPilot
Перейти к навигации Перейти к поиску
(Новая страница: « == Описание == Генерирует псевдослучайное число. == Синтаксис == Привязка к окну: нет. <br>Р...»)
 
 
Строка 5: Строка 5:
 
== Синтаксис ==
 
== Синтаксис ==
 
Привязка к окну: нет.
 
Привязка к окну: нет.
&lt;br>Работа со свернутым окном: да.
+
<br>Работа со свернутым окном: да.
  set &lt;имя_переменной> random (&lt;n>)
+
  set <имя_переменной> random (<n>)
&lt;имя_переменной> - имя переменной в которую записывается результат.
+
<имя_переменной> - имя переменной в которую записывается результат.
&lt;br>&lt;n> - целое положительное число(больше нуля), определяет верхнюю границу генерируемого числа.
+
<br><n> - целое положительное число(больше нуля), определяет верхнюю границу генерируемого числа.
&lt;br>Важно! Результат будет содержать число от 0 до n-1, т.е. при указании n равным "10" минимальное значение будет "0", а максимальное "9".
+
<br>Важно! Результат будет содержать число от 0 до n-1, т.е. при указании n равным "10" минимальное значение будет "0", а максимальное "9".
  
 
== Примеры ==
 
== Примеры ==
Строка 54: Строка 54:
  
 
[[Wait]]
 
[[Wait]]
&lt;br>[[Left]]
+
<br>[[Left]]
  
 
== История развития ==
 
== История развития ==
  
 
'''1.05 beta 3'''
 
'''1.05 beta 3'''
&lt;br>Добавил возможность использовать случайные числа в условных операторах и команде set.
+
<br>Добавил возможность использовать случайные числа в условных операторах и команде set.
  random &lt;number>
+
  random <number>
 
Возвращает число в диапазоне от 0 до number-1.
 
Возвращает число в диапазоне от 0 до number-1.
&lt;br>Примеры:
+
<br>Примеры:
 
   while #a = #b or random 5 > 3
 
   while #a = #b or random 5 > 3
 
   set #a random 2  
 
   set #a random 2  
  
 
'''2.04'''
 
'''2.04'''
&lt;br>Исправил небольшую ошибку в операторе random.
+
<br>Исправил небольшую ошибку в операторе random.
  
 
'''2.09'''
 
'''2.09'''
&lt;br>Исправил ошибку в операторе random, Теперь понимает переменные и выражения. Слегка изменен синтаксис.
+
<br>Исправил ошибку в операторе random, Теперь понимает переменные и выражения. Слегка изменен синтаксис.
 
  random (выражение)
 
  random (выражение)
  
 
'''2.14'''
 
'''2.14'''
&lt;br>Изменен синтаксис оператора 'random' в условиях. Теперь он такой же как и везде 'random (выражение)'.  
+
<br>Изменен синтаксис оператора 'random' в условиях. Теперь он такой же как и везде 'random (выражение)'.  
 
  if random (124) = 0
 
  if random (124) = 0
  
 
'''2.15'''
 
'''2.15'''
&lt;br>Исправил ошибку с пропаданием зарезервированного слова 'random' из текстовых сообщений.
+
<br>Исправил ошибку с пропаданием зарезервированного слова 'random' из текстовых сообщений.
 
  msg random 123
 
  msg random 123
  

Текущая версия на 11:04, 28 августа 2019

Описание

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

Синтаксис

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

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

<имя_переменной> - имя переменной в которую записывается результат.
<n> - целое положительное число(больше нуля), определяет верхнюю границу генерируемого числа.
Важно! Результат будет содержать число от 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
Left

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

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

random <number>

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

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

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

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

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

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

if random (124) = 0

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

msg random 123

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