[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 # |
;; +---------+
gnu-emacs.png
Description: PNG image
--
underground experts united
https://dataswamp.org/~incal