[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/pacmacs bc62e40d25 444/472: Make rendering more reusable (
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/pacmacs bc62e40d25 444/472: Make rendering more reusable (#203) |
Date: |
Thu, 6 Jan 2022 21:59:47 -0500 (EST) |
branch: elpa/pacmacs
commit bc62e40d258fc89e19b141098e0c8db060faa33b
Author: rexim <reximkut@gmail.com>
Commit: rexim <reximkut@gmail.com>
Make rendering more reusable (#203)
---
pacmacs.el | 72 +++++++++++++++++++++++++++++++++++++++-----------------------
1 file changed, 45 insertions(+), 27 deletions(-)
diff --git a/pacmacs.el b/pacmacs.el
index 3a39786d6b..85e8dd1cdd 100644
--- a/pacmacs.el
+++ b/pacmacs.el
@@ -422,7 +422,11 @@
(pacmacs--switch-to-prepare-state)))))
(when (not (equal pacmacs-game-state 'game-over))
- (pacmacs--render-state)))
+ (with-current-buffer pacmacs-buffer-name
+ (let ((inhibit-read-only t))
+ (erase-buffer)
+ (pacmacs--render-state)
+ (goto-char (point-min))))))
(defun pacmacs--step-ghosts ()
(dolist (ghost pacmacs--ghosts)
@@ -601,14 +605,14 @@
(pacmacs--load-map-sign "game-over")
(pacmacs-destroy)
(setq pacmacs-game-state 'game-over)
- (pacmacs--render-state)
(fundamental-mode)
- (setq truncate-lines t)
(read-only-mode 0)
(with-current-buffer pacmacs-buffer-name
- (goto-char (point-max))
+ (erase-buffer)
+
+ (pacmacs--render-state)
(let* ((score-table (pacmacs--read-score-table))
(new-score-position (pacmacs--position-of-new-score
@@ -667,30 +671,29 @@
(dolist (wall pacmacs--wall-cells)
(pacmacs--put-object wall)))
+(defun pacmacs--render-board ()
+ (plist-bind ((width :width)
+ (height :height))
+ pacmacs--object-board
+ (dotimes (row height)
+ (dotimes (column width)
+ (let ((anim-object (car (pacmacs--cell-wrapped-get
pacmacs--object-board
+ row column))))
+ (pacmacs--render-object anim-object)))
+ (insert "\n")))
+ (insert "\n"))
+
(defun pacmacs--render-state ()
- (with-current-buffer pacmacs-buffer-name
- (let ((inhibit-read-only t))
- (erase-buffer)
-
- (insert (format "Score: %d\n\n" pacmacs-score))
-
- (when pacmacs-debug-output
- (pacmacs--render-track-board pacmacs--track-board))
-
- (plist-bind ((width :width)
- (height :height))
- pacmacs--object-board
- (dotimes (row height)
- (dotimes (column width)
- (let ((anim-object (car (pacmacs--cell-wrapped-get
pacmacs--object-board
- row column))))
- (pacmacs--render-object anim-object)))
- (insert "\n")))
- (insert "\n")
- (dotimes (i pacmacs-lives)
- (ignore i)
- (pacmacs--render-life-icon))
- (goto-char 0))))
+ (insert (format "Score: %d\n\n" pacmacs-score))
+
+ (when pacmacs-debug-output
+ (pacmacs--render-track-board pacmacs--track-board))
+
+ (pacmacs--render-board)
+
+ (dotimes (i pacmacs-lives)
+ (ignore i)
+ (pacmacs--render-life-icon)))
(defun pacmacs--unpaused-play-state-p ()
(and (equal pacmacs-game-state 'play)
@@ -737,6 +740,21 @@
(-sort #'string-lessp)
(apply #'vector)))
+(defun pacmacs-score-awesome ()
+ (interactive)
+
+ (switch-to-buffer-other-window pacmacs--score-buffer-name)
+
+ (pacmacs-game-over-mode)
+
+ (pacmacs--load-map-sign "score")
+ (pacmacs--render-state pacmacs--score-buffer-name)
+
+ (with-current-buffer pacmacs--score-buffer-name
+ (let ((inhibit-read-only t))
+ (-> (pacmacs--read-score-table)
+ (pacmacs--render-score-table)))))
+
(defun pacmacs--wall-tile-at (row column)
(pacmacs--create-wall-tile
40 40
- [nongnu] elpa/pacmacs 4ce9773129 365/472: Merge pull request #183 from codingteam/push-instead-of-add-to-list-182, (continued)
- [nongnu] elpa/pacmacs 4ce9773129 365/472: Merge pull request #183 from codingteam/push-instead-of-add-to-list-182, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 25e1fc9f85 369/472: Interactive function to clean wall cache (#138), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs b8ad3a5421 370/472: Fix game over sign (#138), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 78be23ea40 392/472: Remove make-terrifed-ghost function, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 1d52833fef 406/472: Add render-score-record function (#134), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs bd030753f0 411/472: Reset pacmacs-score to 0 (#134), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 542e38a612 429/472: Fix README for sprites folder, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 7f980e59a4 435/472: Load game-over sign from signs folder (#191), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs b7caafa647 436/472: Merge pull request #200 from codingteam/customize-level-folder-191, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs f174ccb540 438/472: Enable truncate-lines for Game Over page (#201), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs bc62e40d25 444/472: Make rendering more reusable (#203),
ELPA Syncer <=
- [nongnu] elpa/pacmacs 314809f2a7 443/472: Merge branch 'master' into feature/awesome-score-sign-203, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 5f12be8d33 450/472: Move render-object-board to pacmacs-render module, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 929b367fa2 453/472: Make render-score-table more dumb (#203), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 548155de50 456/472: Dash the mode labels (#203), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 5e0bcba1ee 468/472: Merge pull request #224 from basil-conto/blc/dash, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs b68e557f36 064/472: Refactor pacman-load-anim function. Close #53, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 3a3ead9ac1 083/472: Support dash. Close #65, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 6365c3db7b 086/472: Remove ghost-state instead of player-state, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 3cbd9508d8 089/472: Merge branch 'coverage-broken-68'. Close #68, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 2331e2074c 262/472: Automate Pill sprites generating (#26), ELPA Syncer, 2022/01/06