Hello
While creating your systems using RX Scripting for Roulette Xtreme, did you ever have the need to sort a list of numeric values in a data record?  Posted here is a method that will perform that task.  You can sort the list Ascending or Descending.  The posted test system will generate 38 random numbers from 1 to 200.  To use the Bubble Sort method, just copy/paste to your system and call the method "bubble sort".
Have fun!
Les
system "bubble sort"
{
   To test Bubble sorting
}
method "main"
begin
    while starting a new session
    begin
        // Generate a set of 38 random numbers
        clear record "Items" data
        Put 1 on record "Items" data index
        
        Loop Until record "Items" data index > 38
        begin
            Generate Random Number from 1 to 200 into record "Items" data
            Add 1 to record "Items" data index
        end
        // True to sort Descending or False to sort Ascending
        set flag "Descending" to true
    end
    
    while on each spin
    begin
        //Do the sort  - all you need is just 1 spin for this test
        //
        //To use this method as a common function, duplicate (copy) or
        //record containing a list of numeric values to a record "X()"
        Duplicate record "Items" to record "X()"
        call "Bubble Sort"
        //The copy it back after the sort operation is performed
        Duplicate record "X()" to record "Items"
        //clean up the array
        Clear record "X()" data
    end
end
method "Bubble Sort"
{
    Bubble Sort to sort data items from a Data record "X()"
    
    Algorithm
    
      X() = an array of items
      N = # of items in the array
      H = temporary variable to swap data in the X() array
      
      FOR I = 1 TO N - 1
        FOR J = I + 1 TO N
          IF X(I)>X(J) THEN
          BEGIN
             H = X(I)
             X(I) = X(J)
             X(J) = H
          END
        NEXT J
      NEXT I
      
******* REQUIRED INPUTS for this METHOD **********
        record "X()" data - contains a list of numeric values
        flag "Descending"
            True  = sort Descending
            False = sort Ascending
}
begin
    set max to record "X()" Data index
    put 100% of record "X()" data index to record "N-1" data
    put 100% of record "X()" data index to record "N" data
    subtract 1 from record "N-1" data
    put 1 on record "I" data
    Loop until record "I" data > record "N-1" data
    begin
        put 100% of record "I" data to record "J" data
        add 1 to record "J" data
        Loop until record "J" data > record "N" data
        begin
            put 100% of record "I" data to record "X()" data index
            put 100% of record "X()" data to record "X(I)" data
            put 100% of record "J" data to record "X()" data index
            put 100% of record "X()" data to record "X(J)" data
            
            if Flag "Descending" is False
            begin
                if record "X(I)" data > record "X(J)" data
                begin
                    put 100% of record "X(I)" data to record "H" data
                    put 100% of record "X(J)" data to record "X(I)" data
                    put 100% of record "H" data to record "X(J)" data
                
                    put 100% of record "I" data to record "X()" data index
                    put 100% of record "X(I)" data to record "X()" data
                    put 100% of record "J" data to record "X()" data index
                    put 100% of record "X(J)" data to record "X()" data
                end
            end
            else
            begin
                if record "X(I)" data < record "X(J)" data
                begin
                    put 100% of record "X(I)" data to record "H" data
                    put 100% of record "X(J)" data to record "X(I)" data
                    put 100% of record "H" data to record "X(J)" data
                    put 100% of record "I" data to record "X()" data index
                    put 100% of record "X(I)" data to record "X()" data
                    put 100% of record "J" data to record "X()" data index
                    put 100% of record "X(J)" data to record "X()" data
                end
            end
            Add 1 to record "J" data
        end
        
        Add 1 to record "I" data
    end
end
			
			
			
				Thanks for the tip Les! :thumbsup:
Would you like it moved to roulette coding zone Section?  :)
			
			
			
				Yes,
Please move it to coding zone. 
Thanks
Les