Play Guess My Number - nomssi/abap_scheme GitHub Wiki

(define guess-my-number
(begin (display "~ The number guessing game ~")
    (display "Please enter a number between 1 - 99: ")
    (do ([quit #f]
         [guess 0] 
        [answer (+ 1 (random 100))] )
    (quit)
    (set! guess (read))
    [if (not (number? guess))
        (begin (display "Good bye...") (set! quit #t))
        (cond ((< guess answer) (display "Too low. Please guess again: ") )
            ((> guess answer) (display "Too high. Please guess again: ") )
            (else (display "Correct!") (set! quit #t) ))   ] ) ) )

Shorter version

(begin (display "Please enter a number between 1 - 99: ")
    (do ((quit #f)
         (guess 0)   
         (answer (+ 1 (random 100))) )
    (quit)
    (set! guess (read))
    (cond ((and (number? guess) (< guess answer)) (display "Too low. Please guess again: ") )
          ((and (number? guess) (> guess answer)) (display "Too high. Please guess again: ") )
          (else (set! quit #t) (if (number? guess) (display "Correct!")
                                                   (display "Good bye...") ) ) ) ) )