代码拉取完成,页面将自动刷新
(define ascii-screen%
(class object%
(init width height)
(super-new)
(define w width)
(define h height)
(define vec (make-vector height))
(for ((i (range h)))
(vector-set! vec i (make-vector w)))
(define/public (set x y p)
(vector-set! (vector-ref vec y) x p))
(define/public (fill p)
(for ((y (range h)))
(for ((x (range w)))
(set x y p))))
(fill "+")
(define/public (draw)
(for ([r (range h)])
(for ([c (range w)])
(display (vector-ref (vector-ref vec r) c)))
(displayln "")))))
(define (text-width text)
(define (ch-width ch)
(if (> (char->integer ch) 127) 2 1))
(apply + (map (λ (ch) (ch-width ch)) (string->list text))))
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。