Seeking simple code to rank a series of stats

Insert Sort using arrays, for giggles:

*title Insert Sort Test
*author RTWojick
*scene_list
	startup

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

*create stat_0 ""
*create stat_1 ""
*create stat_2 ""
*create stat_3 ""

*create val_0 0
*create val_1 0
*create val_2 0
*create val_3 0

*label reset

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

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

*set val_0 leadership
*set val_1 strength
*set val_2 intellect
*set val_3 agility

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}: ${val_0}
*line_break
${stat_1}: ${val_1}
*line_break
${stat_2}: ${val_2}
*line_break
${stat_3}: ${val_3}

*page_break

*goto reset

*label insert_sort

*temp i 1
*temp j 0
*temp curr_stat ""
*temp curr_val 0

*label sort_start

*set curr_stat stat[i]
*set curr_val val[i]
*set j (i - 1)

*label shift_vals
*if (j >= 0)
	*if (val[j] < curr_val)
		*set val[j + 1] val[j]
		*set stat[j + 1] stat[j]
		*set j -1
		*goto shift_vals
*set val[j + 1] curr_val
*set stat[j + 1] curr_stat
*set i +1
*if (i < 4)
	*goto sort_start

*return
2 Likes