Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #lang racket
- (require "libtcod.rkt")
- (define (handle-keys)
- (call/cc (lambda (k)
- (let* ([key (tcod:console-wait-for-keypress #t)]
- [vk (tcod:key-vk key)]
- [char (integer->char (tcod:key-c key))])
- (cond
- [(and (eq? 'key-enter vk) (tcod:key-left-alt key))
- (tcod:console-set-fullscreen (not (tcod:console-is-fullscreen?)))
- (k #f)]
- [(or (eq? 'key-escape vk) (and (eq? 'key-char vk) (eq? char #\Q) (tcod:key-left-ctrl key)))
- (k #t)]) ; shortcut
- #f))))
- (define (main-loop)
- (tcod:console-set-custom-font "data/fonts/prestige12x12_gs_tc.png" 12 -1 -1)
- (tcod:console-init-root 30 24 "scheme/libtcod tutorial" #f 'glsl)
- (tcod:sys-set-fps 20)
- (let* ([foo 1])
- (let loop ([first #t])
- (unless (tcod:console-is-window-closed?)
- (when first
- (tcod:console-flush))
- (let ([break [and (not first) (handle-keys)]])
- (unless break
- (tcod:console-flush)
- (loop #f)))))))
- (main-loop)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement