Hi! Nice little game!
My Lisp is almost as rusty as my Portugese (don't worry, the comments were still useful to me thanks to the powers of automatic translation! :D), but I wonder if you could consider doing something similar to:
; somewhere at the top (define direction 0) ; then in the timer (set! char-pos (pos (+ (pos-x char-pos) (* direction 10)) (pos-y char-pos))) ; then in the frame code (instead of using move-esq and move-dir) [(eq? (send key-event get-key-code) 'left) (set! direction -1)] [(eq? (send key-event get-key-code) 'right) (set! direction 1)] [(eq? (send key-event get-key-code) 'release) (set! direction 0)]
This way the character movement is a bit nicer, don't you think? Lisp is weird, but in a good way I guess. Thanks for introducing me to Racket, looks interesting.
I hope you'll get a good mark as well as you'll add more content to the game (I've seen you're planning on adding fire and ice enemies) :)