32 lines
790 B
Text
32 lines
790 B
Text
DIM list%(8), done%(8), test%(8)
|
|
list%() = 1, 2, 3, 4, 5, 6, 7, 8, 9
|
|
done%() = list%()
|
|
|
|
REM Shuffle:
|
|
REPEAT
|
|
FOR i% = 9 TO 2 STEP -1
|
|
SWAP list%(i%-1), list%(RND(i%)-1)
|
|
NEXT
|
|
test%() = list%() - done%()
|
|
UNTIL MOD(test%()) <> 0
|
|
|
|
REM Run the game:
|
|
tries% = 0
|
|
REPEAT
|
|
tries% += 1
|
|
FOR i% = 0 TO 8 : PRINT ; list%(i%) " " ; : NEXT
|
|
INPUT ": Reverse how many", n%
|
|
PROCreverse(list%(), n%)
|
|
test%() = list%() - done%()
|
|
UNTIL MOD(test%()) = 0
|
|
PRINT "You took " ; tries% " attempts."
|
|
END
|
|
|
|
DEF PROCreverse(a%(), n%)
|
|
IF n% < 2 ENDPROC
|
|
LOCAL i%
|
|
n% -= 1
|
|
FOR i% = 0 TO n% DIV 2
|
|
SWAP a%(i%), a%(n%-i%)
|
|
NEXT
|
|
ENDPROC
|