emacs-elpa-diffs
[Top][All Lists]
Advanced

[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



reply via email to

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