Hallo Jürgen,
wenn Du prinzipiell Werte in einer Tabelle bei jedem „Wurf“ schreiben oder lesen kannst, dann habe ich mein Verfahren schlecht erklärt. Da es weder Itteration noch Verzweigungen hat, sollte es das simpelste sein.
Ich mache mal ein Beispiel mit 5 Werten, wobei von links nach rechts 5 „Würfe“ erfolgen.
In [[]] stehen jeweils die Zahlen, die getauscht werden, die maximale Zahl reduziert sich bei jedem Wurf um 1.
Wenn die maximal mögliche Zahl geworfen wurde (Wurf 2, 4 und 5), dann bleibt die Zahl in [[[]]] an ihrem Platz
Kommentar Wurf1: 3-->22 Wurf2: 4-->99 Wurf3: 2-->77 Wurf4: 2--> 33 Wurf5: 1--> 44
maximale Zahl 5 4 3 2 1
gewürfelte Zahl 3 4 2 2 1
Spalte 44 44 44 44 [[44]]
77 77 [77] [[33]] 33
[22] 33 [33] 77 77
99 [[99]] 99 99 99
[33] 22 22 22 22