24 lines
476 B
Racket
24 lines
476 B
Racket
#lang racket
|
|
(require (planet neil/charterm:3:0))
|
|
(define x 0)
|
|
(define y 0)
|
|
|
|
(define (on-key k)
|
|
(match k
|
|
['down (move 0 -1)]
|
|
['up (move 0 +1)]
|
|
['right (move +1 0)]
|
|
['left (move -1 0)]
|
|
[else #f]))
|
|
|
|
(define (move dx dy)
|
|
(set! x (+ x dx))
|
|
(set! y (+ y dy))
|
|
(charterm-cursor x y))
|
|
|
|
(with-charterm
|
|
(charterm-clear-screen)
|
|
(charterm-cursor 0 0)
|
|
(let loop ([continue? #t])
|
|
(when continue?
|
|
(loop (on-key (charterm-read-key))))))
|