emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bad.el - ascii art games [package] [screenshots] [video]


From: Emanuel Berg
Subject: Re: bad.el - ascii art games [package] [screenshots] [video]
Date: Sun, 29 Sep 2024 09:50:12 +0200
User-agent: Gnus/5.13 (Gnus v5.13)

>> does every kind of visual object _have to_ have is own
>> data type?
>
> No, you can draw or type any way you want, as long as you
> don't tell the program to overwrite it. You can also draw
> manually, if you will, via the program, by manipulating
> a "data" member and then let the program draw it.

Here is how it looks - 

;;; -*- lexical-binding: t -*-

(require 'bad-box)
(require 'bad-box-draw)
(require 'bad-draw)
(require 'bad-mode)
(require 'bad-move)
(require 'bad-rotate)
(require 'bad-size)
(require 'bad-triangle)
(require 'bad-write)

(defun bad-run-mini ()
  (let ((bg  (box :w 11 :h 9 :spc '(?\s)))
        (tri (triangle)))
    (draw bg)

    (size tri 7)
    (mov  tri 2 1)
    (rotate tri)
    (write-over bg tri)

    (let* ((i 35)
           (line (oref bg w)))
      (write-index bg i                ?G)
      (write-index bg (cl-incf i line) ?N)
      (write-index bg (cl-incf i line) ?U)

      (write-index bg (cl-incf i (* 2 line)) ?E)
      (write-index bg (cl-incf i)            ?m)
      (write-index bg (cl-incf i)            ?a)
      (write-index bg (cl-incf i)            ?c)
      (write-index bg (cl-incf i)            ?s))

    (draw-to-buf bg)
    (pop-to-buffer (bad-mode-buffer))
    (delete-other-windows)))

(provide 'bad-mini)

;; +---------+
;; | ####### |
;; |  ###### |
;; | G ##### |
;; | N  #### |
;; | U   ### |
;; |      ## |
;; | Emacs # |
;; +---------+

Attachment: gnu-emacs.png
Description: PNG image

-- 
underground experts united
https://dataswamp.org/~incal

reply via email to

[Prev in Thread] Current Thread [Next in Thread]