branch: elpa/pacmacs
commit 8e36b66a6f87b48ec3efc74339eabb0bd224aad6
Author: rexim <[email protected]>
Commit: rexim <[email protected]>
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))))