Add files via upload

This commit is contained in:
chinhouse
2023-09-15 21:10:00 -07:00
committed by GitHub
parent da28a784de
commit 2899eebe54

View File

@@ -0,0 +1,71 @@
num = 9
reverse = function(i)
if i == null then return i
ret = []
for item in i
ret.insert(0,item)
end for
return ret
end function
showRules = function
print
print "This is the game of 'Reverse'. To win, all you have"
print "to do is arrange a list of numbers (1 through " + num + ")"
print "in numerical order from left to right. To move, you"
print "tell me how many numbers (counting from the left) to"
print "reverse. For example, if the current list is:"
print; print "2 3 4 5 1 6 7 8 9"
print; print "and you reverse 4, the result will be:"
print; print "5 4 3 2 1 6 7 8 9"
print; print "Now if reverse 5, you win!"
print; print "1 2 3 4 5 6 7 8 9"
print
print "No doubt you will like this game, but"
print "if you want to quit, reverse 0 (zero)."
print
return
end function
printState = function
print;print digits.join(" "); print
end function
print " " * 32 + "REVERSE"
print " " * 15 + "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
print; print; print
print "Reverse -- a game of skill"
print
ans = input("Do you want the rules? ")
if ans != null and ans[0].lower == "y" then showRules
while 1
turns = 0
digits = range(1, num)
digits.shuffle
print;print "Here we go ... the list is:"
while 1
printState
amt = input("How many shall I reverse? ").val
if amt == null or amt == 0 then break
if amt > num then
print "OOPS! Too many! I can reverse at most " + num
else
turns += 1
digits = reverse(digits[:amt]) + digits[amt:]
end if
if digits == range(1,num) then
printState
print "You won it in " + turns + " moves!!"
break
end if
end while
print
ans = input("Try again (YES or NO)? ")
print
if ans == null or ans[0].lower == "n" then break
end while
print "O.K. Hope you had fun!!"