Seeking simple code to rank a series of stats

Update! More efficient version using references:

*title Insert Sort Test
*author RTWojick
*scene_list
	startup

*create leadership 50
*create strength 50
*create intellect 50
*create agility 50

*create stat_0 "leadership"
*create stat_1 "strength"
*create stat_2 "intellect"
*create stat_3 "agility"

*label reset

*rand leadership 1 100
*rand strength 1 100
*rand intellect 1 100
*rand agility 1 100

Insert Sort Test

*page_break

*gosub insert_sort

Unsorted:
*stat_chart
	text Leadership
	text Strength
	text Intellect
	text Agility
*line_break
Sorted:
*line_break
$!{stat_0}: ${{stat_0}}
*line_break
$!{stat_1}: ${{stat_1}}
*line_break
$!{stat_2}: ${{stat_2}}
*line_break
$!{stat_3}: ${{stat_3}}

*page_break

*goto reset

*label insert_sort

*temp i 1
*temp j 0
*temp curr ""

*label sort_start

*set curr stat[i]
*set j (i - 1)

*label shift_vals
*if (j >= 0)
	*if ({stat[j]} < {curr})
		*set stat[j + 1] stat[j]
		*set j -1
		*goto shift_vals
*set stat[j + 1] curr
*set i +1
*if (i < 4)
	*goto sort_start

*return
4 Likes