Difference between revisions of "random"

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Reverted edits by Heecf..... (talk) to last revision by Str)
(Added probability clarification to round and floor.)
Line 30: Line 30:
 
* Be careful using random numbers in multiplayer, each client will come up with a different result. See multiplayer tutorials for more general information about locality.  
 
* Be careful using random numbers in multiplayer, each client will come up with a different result. See multiplayer tutorials for more general information about locality.  
 
* The number returned is unlikely to be a whole number.<br>To return a whole number use either '''[[round]]''', '''[[ceil]]''' or '''[[floor]]''' together with '''random''':<br>
 
* The number returned is unlikely to be a whole number.<br>To return a whole number use either '''[[round]]''', '''[[ceil]]''' or '''[[floor]]''' together with '''random''':<br>
  x=round(random 5) will return 0,1,2,3,4 or 5.
+
  x=round(random 5) will return 0,1,2,3,4 or 5. (non-uniform distribution, 0 and 5 are half as likely to be selected than any of the other numbers)
  x=floor(random 5) will return 0,1,2,3 or 4.
+
  x=floor(random 5) will return 0,1,2,3 or 4.   (uniform distribution, all numbers have the same probability of being selected)
  x=ceil(random 5) will return 0, 1,2,3,4 or 5. (0 is very unlikely, but possible, as ceil 0 is 0)
+
  x=ceil(random 5) will return 0,1,2,3,4 or 5. (0 is very unlikely, but possible, as ceil 0 is 0)
 
<!-- Note Section END -->
 
<!-- Note Section END -->
 
</dl>
 
</dl>

Revision as of 13:09, 28 December 2012

Template:Command

Notes

  • Be careful using random numbers in multiplayer, each client will come up with a different result. See multiplayer tutorials for more general information about locality.
  • The number returned is unlikely to be a whole number.
    To return a whole number use either round, ceil or floor together with random:
x=round(random 5) will return 0,1,2,3,4 or 5. (non-uniform distribution, 0 and 5 are half as likely to be selected than any of the other numbers) x=floor(random 5) will return 0,1,2,3 or 4. (uniform distribution, all numbers have the same probability of being selected) x=ceil(random 5) will return 0,1,2,3,4 or 5. (0 is very unlikely, but possible, as ceil 0 is 0)

Bottom Section