новости спорта gym11-tula

Macromedia Flash - Уроки - Генератор чисел

В попытках сгенерировать 10 случайных не повторяющихся чисел я пришел вот к такому решению:

Set Variable: "i" = 1
Loop While (i <> 11)
Set Variable: "rnd" = Random (10)
Set Variable: "x" = 1
Loop While (x <> (Length(Temp)+1))
If ((Substring (Temp, x, 1)) eq rnd)
Set Variable: "rnd" = ""
End If
Set Variable: "x" = x+1
End Loop
If (rnd ne "")
Set Variable: "Temp" = Temp & rnd
Set Variable: "i" = i + 1
End If
End Loop

Давайте разберёмся в коде шаг за шагом. Сначала мы определили преременную "i" и присвоили ей значение 1 для использования в цикле Loop While.

Set Variable: "i" = 1

Первый Loop прогоняется 10 раз т.к. нам надо 10 чисел

Loop While (i <> 11)

Мы используем функцию Random и её результат помещаем в переменную "rnd"

Set Variable: "rnd" = Random (10)

Переменная "x" используется для проверки значения в переменной "Temp" в которой будет размещен окончательный результат.

Set Variable: "x" = 1

И в конце:

Loop While (x <> (Length(Temp)+1))
If ((Substring (Temp, x, 1)) eq rnd)
Set Variable: "rnd" = ""
End If
Set Variable: "x" = x+1
End Loop

Этот фрагмент проверяет, есть ли сгенерированное число расположенное в переменной "rnd" в переменной "Temp". Это сделано просмотром каждой цифры в переменной "Temp". Число лупов определяется функцией Length. Если число уже есть, то переменная "rnd" очищается. Если сгенерированное число отсутствует в переменной "Temp", то оно туда заносится.

If (rnd ne "")
Set Variable: "Temp" = Temp & rnd
Set Variable: "i" = i + 1
End If

Продалжаем же Loop мы увеличением переменной "i".

Автор нам неизвестен.

Copyright © 2006-09.