Dick Kriesel wrote:

> command shuffle @rLines
>    sort rLines by random( 4294967295 ) -- note:  2^32-1
> end shuffle

Wouldn't that put the probability of sorting bottom-to-top unusually high, since there the odds are 4294967292-to-1 that the sort integer will exceed the number of lines in the list?


Chris Sheffield originally wrote:

> I have a list of three words that I need to be randomly sorted.
> To start with, the first word is the correct answer to a question.
> I want to re-order the list so that the correct answer may be the
> second or third word, and not necessarily the first.

If we were to do this manually, we'd do something like:

1. Put a random line out of three lines into a new list.
   This leaves us with two remaining lines, so:
2. Put a random line out of two lines after the new list.
   This leaves us with just one so:
3. Put the remaining line at the bottom of the new list.

On a field containing lines with "rat", "cat", and "bat", this simple script provides a reasonable distribution of results:

on mouseUp
   put fld 1 into tList
   put random(3) into n
   put line n of tList into tNewList
   delete line n of tList
   put random(2) into n
   put cr& line n of tList after tNewList
   delete line n of tList
   put cr& line 1 of tList after tNewList
   put tNewList into fld 2
end mouseUp

I wouldn't use such a crude method for a long list, but for just three lines it seems to get the job done.

Did I miss something in the original problem statement?

--
 Richard Gaskin
 Fourth World
 LiveCode training and consulting: http://www.fourthworld.com
 Webzine for LiveCode developers: http://www.LiveCodeJournal.com
 Follow me on Twitter:  http://twitter.com/FourthWorldSys


_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to