;; ;; This emacs program draws some flies buzzing around on the screen. ;; (with-current-buffer (get-buffer-create "*flies*") (switch-to-buffer "*flies*") (erase-buffer) (setq cursor-type nil) (ruler-mode) (let* ((cols nil) (flies-n 20) (howlong 100) (spread 70) (delay 0.1) (sprites (list "O|O" ":/:" "olo"))) (delete-region (point) (point-max)) (dotimes (i flies-n) (push (list :col (random spread) :state (random (length sprites))) cols)) (dotimes (i howlong) (dolist (b cols) (let ((col (plist-get b :col)) (state (plist-get b :state))) (move-beginning-of-line 1) (delete-region (point) (line-end-position)) (setq col (min spread (max 0 (+ col (- (random 3) 1))))) (insert (make-string col 32)) (plist-put b :col col) (insert (elt sprites state)) (plist-put b :state (% (+ state 1) 3)) (newline))) (sit-for delay) (erase-buffer))) (discard-input) (kill-buffer (current-buffer)))