In an attempt to generate 10 unique, non-doubling random numbers I came up with this solution:
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
Use it at random!
Let's have a closer look at this code step by step. First we set a Variable called "i" which is set to the value 1, for use in the Loop While.Set Variable: "i" = 1The first loop runs 10 times, because we need 10 numbers.
Loop While (i <> 11)We use the Random function and put its outcome into Variable "rnd"
Set Variable: "rnd" = Random (10)
The Variable "x" is used to check the content of Variable "Temp" which will hold the final result.
Set Variable: "x" = 1
And now for the tougher bit:
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
This checks whether a generated random number, held in Variable "rnd", already exists in the "Temp" variable. This is done by looping through every digit in "Temp". The number of loops is determined by the Length function. If the number does exist the variable "rnd" is cleared. If the generated number is not present in "Temp" it is added to it.
If (rnd ne "") Set Variable: "Temp" = Temp & rnd Set Variable: "i" = i + 1 End If
We continue the Loop by increasing "i".
Here is one I prepared earlier! Enjoy!That's it for this tutorial on the code that generates random numbers. If you download my example you will be able to see how I integrated it into the .fla.
Peter Brouwers
discuss this topic to forum
