use rand, console
class Run:
Run():
def mynum = rand!RandomGenerator().Choice(100) + 1
def yourguess = 200
def lastdist = 0
def tries = 0
def out = Stdout()
def in = Stdin()
console!out.Puts("I'm thinking of a number from 1 to 100.")
loop while yourguess != mynum:
.tries = tries + 1
@prompt
console!out.Write("Your guess? ")
def ans = console!in.Gets()
try:
.yourguess = Integer.parse(ans)
.
case if yourguess != mynum:
.newdist = (yourguess - mynum).magnitude
case:
lastdist = 0:
console!out.Puts("Guess again...").
newdist > lastdist:
console!out.Puts("You're getting colder.").
default:
console!out.Puts("You're getting warmer.").
.
.lastdist = newdist
.
.
console!out.Puts("Good job! That took "( tries )" tries.")
catch (event: $e):
case match e:
?_(parsed: "")/ParseError:
console!out.Puts("The solution was "( mynum ))
return.
?/ParseError:
console!out.Puts("Type a number or ENTER")
resume @prompt.
.
.
.
.