Math.random (Lua): различия между версиями

Материал из UoPilot
Перейти к навигации Перейти к поиску
(Новая страница: «== Описание == '''math.random''' - генерирует псевдослучайное число. <br>При вызове без аргументов,...»)
 
 
Строка 1: Строка 1:
 
== Описание ==
 
== Описание ==
 
'''math.random''' - генерирует псевдослучайное число.
 
'''math.random''' - генерирует псевдослучайное число.
&lt;br>При вызове без аргументов, возвращает псевдослучайное число в интервале (0,1).
+
<br>При вызове без аргументов, возвращает псевдослучайное число в интервале (0,1).
&lt;br>При вызове с аргументом m, возвращает псевдослучайное целое число из отрезка (1, m).
+
<br>При вызове с аргументом m, возвращает псевдослучайное целое число из отрезка (1, m).
&lt;br>При вызове с двумя аргументами – m и n, возвращает псевдослучайное целое число из отрезка (m, n).
+
<br>При вызове с двумя аргументами – m и n, возвращает псевдослучайное целое число из отрезка (m, n).
  
 
== Синтаксис ==
 
== Синтаксис ==
 
Привязка к окну: нет.
 
Привязка к окну: нет.
&lt;br>Работа со свернутым окном: да.
+
<br>Работа со свернутым окном: да.
 
  math.random ([m [, n]])
 
  math.random ([m [, n]])
  
Строка 65: Строка 65:
  
 
[[Wait (Lua)]]
 
[[Wait (Lua)]]
&lt;br>[[Left (Lua)]]
+
<br>[[Left (Lua)]]

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

Описание

math.random - генерирует псевдослучайное число.
При вызове без аргументов, возвращает псевдослучайное число в интервале (0,1).
При вызове с аргументом m, возвращает псевдослучайное целое число из отрезка (1, m).
При вызове с двумя аргументами – m и n, возвращает псевдослучайное целое число из отрезка (m, n).

Синтаксис

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

math.random ([m [, n]])

Примеры

--lua
math.randomseed(os.clock())
local a = math.random()   -- вернёт число от 0 до 1
log (a)
--lua
math.randomseed(os.clock())
local a = math.random(10)   -- вернёт число от 1 до 10 (включительно)
log (a)
--lua
math.randomseed(os.clock())
local a = math.random(5, 13)   -- вернёт число от 5 до 13 (включительно)
log (a)
--lua
math.randomseed(os.clock())
wait (1000 + math.random (2500))   -- ждать случайное время - от 1001 до 3500 мс
--lua
math.randomseed(os.clock())
local time = os.clock()
wait (500 + math.random (1000))        -- ждать от 500 до 1500 мсек
log (string.format("%.3f", os.clock() - time))   -- вывести в лог сколько прошло времени, результат округлён до 3х знаков после точки
--lua
math.randomseed(os.clock())
local a = math.random (-10, -6)        -- получить отрицательное число от -10 до -6
log (a)
--lua
math.randomseed(os.clock())
local a = math.random (-10, 10)        -- получить число от -10 до 10
log (a)
--lua
-- получить число, чтобы оно не было равно предыдущему (не повторялось)
math.randomseed(os.clock())
log ("clear") log ("mode compact")  -- очистить лог, компактный режим
local x = 0
local xlast = 0

while true do
    while x == xlast do        -- пока переменная x равна переменной xlast (прошлое значение x)
        x = math.random(1, 3)  -- получить число от 1 до 3
    end
    xlast = x                  -- запомнить последнее значение переменной x
    log (x)
    wait (400)
end

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

Wait (Lua)
Left (Lua)