Random annoyance
Shari
gypsyware at earthlink.net
Fri May 9 15:46:00 EDT 2003
I've just discovered an annoyance in the random() function. (And
according to the docs, it is not a bug.)
random(0) produces the result of "1"
One would assume that random(0) would always produce 0.
Why would one want to get random(0), you ask?
If 0 is a variable, which could be any number, and you write a
mathematical function, assuming that if the variable is 0, the end
result of the function will also be zero, the function fails.
It is quicker to let the result be 0, which affects nothing, than to
say "if the variable > 0 then... run the function"
The following failed when item 17 of terrData was 0:
add round((random(item 17 of terrData)) * multiplier) to \
item 56 of line x of gStats
Had to go thru and add a whole slew of "if..." statements to the code.
Even though the docs claim random(x) will always produce a number
between 1 and x (and that x must be a positive integer), I tried
random(-10) and got (-3) which was cool.
It would still be very nice for random(0) to = 0
Math is not an entity where one wants unexpected results.
Shari C
--
--Shareware Games for the Mac--
http://www.gypsyware.com
More information about the metacard
mailing list