noooo! you got it all wrong, call randomise timer
once after some delay like
press a key to start
nobody can press a key in exactly the same millisecond (unless they lean on it all through the program start) so you get apparently random times, the problem with the way you did it is it will return the same results since the code randomises from the timer at the same intervals, for example...
RANDOMIZE TIMER()
rnd01 = RND(99) + 1
WAIT 1
took 1.5 msecs
RANDOMIZE TIMER()
rnd02 = RND(99) + 1
WAIT 1
took 1.5 msecs
RANDOMIZE TIMER()
rnd03 = RND(99) + 1
WAIT 1
took 1.5 msecs
RANDOMIZE TIMER()
rnd04 = RND(99) + 1
WAIT 1
ETC
so what your code actualy did was
RANDOMIZE 1
rnd01 = RND(99) + 1
WAIT 1
RANDOMIZE 2 <<<<<<<1 + 1.5 msecs = 2.5 = 2 in integer
rnd02 = RND(99) + 1
WAIT 1
RANDOMIZE 4 <<<<<<< 2.5 msecs last time + 1.5 =4
rnd03 = RND(99) + 1
WAIT 1
RANDOMIZE 5 <<<<<<< 4 + 1.5 = 5.5 = 5
rnd04 = RND(99) + 1
WAIT 1
etc
all you need to do is to randomise timer once at the start of the code, all those extra randomises are just counting up in milliseconds from when the program started so you get mostly the same results (apart from when something lags slightly and delays the timer a bit..eg windoze does a swap to the swapfile)
timer()
gives a number in milliseconds since the system started
doing
do
cls
print timer()
loop
will give you the current timer value, if you call it too often (say every 1/10th of a millisecond) then you get the same number, if you call it every millisecond then you get something like
123
124
125
126
127
128
etc
what you need to do is to make your program have it called after a unpredictable amount of time, so add a random delay (like the time it takes the user to press space to continue) and your code will not run to the exact same number of milliseconds every time, otherwise your code takes the same number of milliseconds to reach your instructions and you get the same result, the other way to do it would be to randomize by the time from the system clock, (add the hours, minutes and seconds together) that way you would always get a different result unless the user started the program at exactly the same time each day (and if you added in the day, month and year then that would stop even that happening)eg:
do
cls
print get date$()
print get time$()
loop
is how you get the system date and time, this will always be different every time the program is run unless the user owns a time machine

, so all you have to do is to extract the numbers from those strings and use them in the randomise command rather than the number from the timer, eg:
cls
date$=""
time$=""
newdate$=""
newtime$=""
date$=get date$()
time$=get time$()
for i=1 to 8
a$=mid$(date$,i)
b$=mid$(time$,i)
if left$(a$,1)<>"/"
newdate$=newdate$+a$
endif
if b$<>":"
newtime$=newtime$+b$
endif
next i
print "here is the date and time with the colons and slashes removed"
print
print newtime$
print newdate$
number=val(newtime$)+val(newdate$)
print
print "here is the date and time added together to make a number that will"
print "mostly only occur at this date and time and can be used in randomise"
print
print number
print
print "and here we use the number just once to seed randomise and print ten numbers"
print
randomize number
for i=1 to 10
print rnd(100)
next i
print
print "note that if you press the key too fast (under 1 second) the numbers would"
print "stay the same since you get the same date and time to use in randomize"
print "the following bit prevents this happening by forcing you to wait 1 second"
print "try remming this line out and pressing a key fast to see what I mean"
wait 1000
print "press any key to loop"
wait key
loop
I hope that explains things a bit better.
Mentor.
PC1:XP, P4 3ghz, 1gig mem, 3x160gig hd`s, Radeon 9800pro, 6 way sound.
PC2: Linux, AMD 2ghz, 512mb ram, Nvidia GeForce4mx, 16 bit SB.
PC3: XP, laptop, intel 2.6ghz celeron, ATI 9000igp, 256mb