and save it as a TAP file,
then If I doubleclick on that file from within the My Computer, Euphoric Emulator will launch and run my program, but in this case IT WILL ALWAYS GIVE THE SAME SEQUENCE OF NUMBERS!?

Why is this happening?

Is there anything I could do to have DIFFERENT sequence of numbers generated by RND function in the BASIC program that is started by a doubleclick of the mouse from My Computer?

It's because, when you run Euphoric directly with your program, Euphoric is always in the exact same state so the random function will always give the same results. This probably doesn't happen with real hardware, nor if Euphoric works a bit before running the program - though I don't exactly know what is used by the random function to, obviously, simulate random.

I think you are right Symoon. All the procedural random generators which start from a given seed act like that. Will probably happen on the real hardware too, unless some kind of source is used to generate the seed (such as VIA timers). But even with that, I doubt it will change anything when using emulators, as the state is always the same.

My latest random generator uses the VIA and other quite random bits, but you'll have the same sequence with euphoric unless you have some kind of user interaction (which changes timings between calls).

Oh, and even being able to change the seed by program (don't know if this is possible, but should be by pokeing somehting into an address), that won't help Brana. He will have the same thing happening again and again unless he does something like a loop asking for a keypress and keep calling RND(1) inside the loop. At least the sequence will start at a different position...

I wonder if something could be done if Euphoric is emulating a hardware real-time clock...

You're using RND(1), that is, RND with a seed of 1. It should always generate the same sequence of numbers.
What you need is a way of getting a random number to replace the 1.
Just make a loop which increases a variable and at the same time waits for the user to press a key.
Then use that variable instead of 1 in RND(1).

The RND function will generate the same list of numbers, starting at the same point.

iirc, you can use RND (1) for example, then RND (3), but if you go back to RND (1) it'll start again with the same list of numbers from the beginning (I think, its been a while)

In the example you'd given, inputting a word doesn't change your RND statement. If you asked for a number and used that as your seed, you'd get variable results (though the same one if the same number was entered at the start).

Simpler to run a loop until a key is pressed and use it to either run through your RND function in the loop so its start point is a variable position through the list (depending on where the user stopped it), or count the number of loops and use that number as the seed for your RND following.

I am not sure that the Oric's RND function works like that. In the Oric-1 manual it says:

RND(n) will produce a random number greater than or equal to 0
and less than 1, if n is a positive number. If n is a negative number,
then the random seed is set to a particular number, and subsequent
positive n’s will always produce the same sequence. If n is zero, the
last random number generated will be produced.

So there's no difference in RND(1) or RND(3). And I even did not know that a negative number set the seed.

Anyway, still the problem is not solved.

But, can't a Real-time clock extension be emulated with Euphoric? I know nothing about it, but if you can get the seconds (or milliseconds) or the current time of day by peeking somewhere, you can use that as a seed to initialize the RND generator differently in every run... could that be done?

Not sure the above code is correct, but you should get the idea. Also you can add in line 40 the value of one of the VIA counters (for instance at $308, by PEEK(#308) ) to add more sources of randomness