diff options
author | bd <bdunahu@operationnull.com> | 2024-05-18 14:34:37 -0600 |
---|---|---|
committer | bd <bdunahu@operationnull.com> | 2024-05-18 14:47:07 -0600 |
commit | 6eb36d8a2f317f2eb49832f3ee06f24204c9e4fb (patch) | |
tree | 3c6710d8116d8c3e65c070fa9fffc67ae653fcf9 /number-guesser.scm |
Hello, Palindrome, & Number-Guesser code-bases
Diffstat (limited to 'number-guesser.scm')
-rw-r--r-- | number-guesser.scm | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/number-guesser.scm b/number-guesser.scm new file mode 100644 index 0000000..486eea5 --- /dev/null +++ b/number-guesser.scm @@ -0,0 +1,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)) |