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

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

[nongnu] elpa/pacmacs ca32745bcb 224/472: Refactor char making duplicate


From: ELPA Syncer
Subject: [nongnu] elpa/pacmacs ca32745bcb 224/472: Refactor char making duplicate code (#81)
Date: Thu, 6 Jan 2022 21:59:26 -0500 (EST)

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

    Refactor char making duplicate code (#81)
---
 pacmacs.el | 38 ++++++++++++++------------------------
 1 file changed, 14 insertions(+), 24 deletions(-)

diff --git a/pacmacs.el b/pacmacs.el
index 86028da966..d6e85227c4 100644
--- a/pacmacs.el
+++ b/pacmacs.el
@@ -143,39 +143,29 @@
 (defun pacmacs--make-big-pill (row column)
   (pacmacs--make-pill row column "Big-Pill" 'big-pill))
 
-(defun pacmacs--make-ghost (row column)
+
+(defun pacmacs--make-character (row column anim-prefix speed type)
   (list :row row
         :column column
         :init-row row
         :init-column column
         :prev-row row
         :prev-column column
-        :direction 'right
-        :current-animation (pacmacs-load-anim "Red-Ghost-Right")
-        :direction-animations (list 'left  (pacmacs-load-anim "Red-Ghost-Left")
-                                    'right (pacmacs-load-anim 
"Red-Ghost-Right")
-                                    'up    (pacmacs-load-anim "Red-Ghost-Up")
-                                    'down  (pacmacs-load-anim 
"Red-Ghost-Down"))
-        :speed 1
+        :directory 'right
+        :current-animation (pacmacs-load-anim (concat anim-prefix "-Right"))
+        :direction-animations (-interleave '(left right up down)
+                                           (-map (-compose #'pacmacs-load-anim
+                                                           (-partial #'concat 
anim-prefix "-"))
+                                                 (list "Left" "Right" "Up" 
"Down")))
+        :speed speed
         :speed-counter 0
-        :type 'ghost))
+        :type type))
+
+(defun pacmacs--make-ghost (row column)
+  (pacmacs--make-character row column "Red-Ghost" 1 'ghost))
 
 (defun pacmacs--make-player (row column)
-  (list :row row
-        :column column
-        :init-row row
-        :init-column column
-        :prev-row row
-        :prev-column column
-        :direction 'right
-        :current-animation (pacmacs-load-anim "Pacman-Chomping-Right")
-        :direction-animations (list 'left  (pacmacs-load-anim 
"Pacman-Chomping-Left")
-                                    'right (pacmacs-load-anim 
"Pacman-Chomping-Right")
-                                    'up    (pacmacs-load-anim 
"Pacman-Chomping-Up")
-                                    'down  (pacmacs-load-anim 
"Pacman-Chomping-Down"))
-        :speed 0
-        :speed-counter 0
-        :type 'player))
+  (pacmacs--make-character row column "Pacman-Chomping" 0 'player))
 
 (defun pacmacs--reset-object-position (game-object)
   (plist-bind ((init-row :init-row)



reply via email to

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