blob: 486eea5c7d224764d19ee00081290d0beaa8e12a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Example game: ;;
;; scheme@(guile-user)> (start 60 70) ;;
;; $21 = 65 ;;
;; scheme@(guile-user)> (bigger) ;;
;; $22 = 68 ;;
;; scheme@(guile-user)> (bigger) ;;
;; $23 = 69 ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; also see (info "(guile) Definition")
(define lower 1)
(define upper 100)
(define (start n m)
(set! lower (min n m))
(set! upper (max n m))
(guess))
;;;; helpers
(define (guess)
(quotient (+ lower upper) 2))
(define (smaller)
(set! upper (max lower (- (guess) 1)))
(guess))
(define (bigger)
(set! lower (min upper (+ (guess) 1)))
(guess))
|