RosettaCodeData/Task/Knuth-shuffle/True-BASIC/knuth-shuffle.basic

27 lines
445 B
Plaintext

OPTION BASE 0
RANDOMIZE
DIM cards(51)
PRINT "before:"
FOR L0 = 0 TO 51
LET cards(L0) = L0
PRINT LTRIM$(STR$(cards(L0))); " ";
NEXT L0
FOR L0 = 51 TO 0 STEP -1
LET card = INT(RND * (L0 + 1))
IF card <> L0 THEN
LET t = cards(lb + L0)
LET cards(lb + L0) = cards(lb + card)
LET cards(lb + card) = t
END IF
NEXT L0
PRINT
PRINT "after:"
FOR L0 = 0 TO 51
PRINT LTRIM$(STR$(cards(L0))); " ";
NEXT L0
END