Best shuffle: Difference between revisions

(→‎{{header|Java}}: fix randomization bug)
Line 1,262:
<lang Elena>#define system.
#define system'routines.
 
// --- shuffle ---
 
#symbol shuffle = (:aLiteral)
Line 1,268 ⟶ 1,270:
#var aShuffled := literalControl toArray:aLiteral.
 
control fromforrange &int:0 &tillint:(aLength-1) &do: (&int:i)
[
#var aChar := aLiteral@i.
(aChar == (aShuffled@i)) ?
[
control fromforrange &int:0 &tillint:(aLength-1) &do: (&int:j)
[
#var anAltChar := aShuffled@j.
Line 1,288 ⟶ 1,290:
^ Summing new:(String new) foreach:aShuffled literal.
].
 
// --- ShuffleScore ---
 
#symbol scoreShuffle = (:anOriginal:aShuffled)
Line 1,293 ⟶ 1,297:
#var aScore := Integer new.
control fromforrange &int:0 &tillint:(anOriginal length - 1) &do: (&int:i)
[ (anOriginal @ i) == (aShuffled @ i) ? [ aScore += 1. ]. ].
^ aScore number.
].
 
// --- Program ---
 
#symbol program =
Anonymous user