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

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

[nongnu] elpa/pacmacs 8e36b66a6f 199/472: Make object-board contain list


From: ELPA Syncer
Subject: [nongnu] elpa/pacmacs 8e36b66a6f 199/472: Make object-board contain list of object (#126)
Date: Thu, 6 Jan 2022 21:59:24 -0500 (EST)

branch: elpa/pacmacs
commit 8e36b66a6f87b48ec3efc74339eabb0bd224aad6
Author: rexim <reximkut@gmail.com>
Commit: rexim <reximkut@gmail.com>

    Make object-board contain list of object (#126)
---
 pacmacs.el           | 35 +++++++++++++++++++++--------------
 test/pacmacs-test.el |  2 +-
 2 files changed, 22 insertions(+), 15 deletions(-)

diff --git a/pacmacs.el b/pacmacs.el
index a024dbbb11..93238b6867 100644
--- a/pacmacs.el
+++ b/pacmacs.el
@@ -373,7 +373,10 @@
     (plist-bind ((row :row)
                  (column :column))
         anim-object
-      (pacmacs--cell-wrapped-set pacmacs--object-board row column 
anim-object))))
+      (let ((cell (pacmacs--cell-wrapped-get pacmacs--object-board
+                                             row column)))
+        (pacmacs--cell-wrapped-set pacmacs--object-board row column
+                                   (cons anim-object cell))))))
 
 (defun pacmacs--switch-to-death-state ()
   (setq pacmacs-game-state 'death)
@@ -405,6 +408,20 @@
   (setq pacmacs-game-state 'level-beaten)
   (setq pacmacs-waiting-counter 1000))
 
+(defun pacmacs--fill-object-board ()
+  (pacmacs--fill-board pacmacs--object-board nil)
+
+  (dolist (pill pacmacs-pills)
+    (pacmacs--put-object pill))
+
+  (dolist (ghost pacmacs--ghosts)
+    (pacmacs--put-object ghost))
+
+  (pacmacs--put-object pacmacs-player-state)
+  
+  (dolist (wall pacmacs-wall-cells)
+    (pacmacs--put-object wall)))
+
 (defun pacmacs--render-state ()
   (with-current-buffer pacmacs-buffer-name
     (let ((inhibit-read-only t))
@@ -415,25 +432,15 @@
       (when pacmacs-debug-output
         (pacmacs--render-track-board pacmacs--track-board))
 
-      (pacmacs--fill-board pacmacs--object-board nil)
-
-      (dolist (pill pacmacs-pills)
-        (pacmacs--put-object pill))
-
-      (dolist (ghost pacmacs--ghosts)
-        (pacmacs--put-object ghost))
+      (pacmacs--fill-object-board)
 
-      (pacmacs--put-object pacmacs-player-state)
-      
-      (dolist (wall pacmacs-wall-cells)
-        (pacmacs--put-object wall))
-      
       (plist-bind ((width :width)
                    (height :height))
           pacmacs--object-board
         (dotimes (row height)
           (dotimes (column width)
-            (let ((anim-object (pacmacs--cell-wrapped-get 
pacmacs--object-board row column)))
+            (let ((anim-object (car (pacmacs--cell-wrapped-get 
pacmacs--object-board
+                                                               row column))))
               (pacmacs--render-object anim-object)))
           (insert "\n")))
       (insert "\n")
diff --git a/test/pacmacs-test.el b/test/pacmacs-test.el
index 408551422f..b60732262c 100644
--- a/test/pacmacs-test.el
+++ b/test/pacmacs-test.el
@@ -41,6 +41,6 @@
     (pacmacs--put-object anim-object)
     (should (equal (list :width 2
                          :height 2
-                         :data [[nil (:row 0 :column 1)]
+                         :data [[nil ((:row 0 :column 1))]
                                 [nil nil]])
                    pacmacs--object-board))))



reply via email to

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