Hi,
(Sorry for my English)
Newbie with Scheme, i try to use the termbox egg.
It seems me a very nice and cool library and the documentation helps me
a lot.
I am learning Scheme and appreciate Chicken implementation.
Here a little piece of code to print a simple text menu.
But this code isn't in the functionnal way (very iterative).
----
(use termbox)
(init)
(define running (make-parameter #t))
(define choice 1)
(define (menu x y lst)
(let loop ()
(if (> choice (length lst)) (set! choice 1))
(if (< choice 1) (set! choice (length lst)))
(do ((i 0 (+ i 1)))
((= i (length lst)))
(if (= choice (+ i 1))
(bprintf x (+ y i) (style black) (style white) (list-ref lst
i))
(bprintf x (+ y i) (style white) (style black) (list-ref lst
i))))
(present)
(poll (lambda (mod key ch)
(cond
((eq? key key-arrow-down) (set! choice (+ choice 1)))
((eq? key key-arrow-up) (set! choice (- choice 1)))
((eq? key key-enter) (running #f))))
(lambda (w h) (loop)))
(when (running) (loop))))
;; an example
(menu 5 8 '("Choice 1" "Choice 2" "Choice 3" "Other"))
(shutdown)
(printf "Your choice: ~a\n" choice)
----
Maybe, someone could give me some advices or corrections to make it
better.
Regards,
frad
http://blog.indexi.net
_______________________________________________
Chicken-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/chicken-users