[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/pacmacs 8f9b38b16e 233/472: Revert all the refactoring in
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/pacmacs 8f9b38b16e 233/472: Revert all the refactoring in the scope of #81 |
Date: |
Thu, 6 Jan 2022 21:59:27 -0500 (EST) |
branch: elpa/pacmacs
commit 8f9b38b16ea69380f41669a42a657f767f7653a3
Author: rexim <reximkut@gmail.com>
Commit: rexim <reximkut@gmail.com>
Revert all the refactoring in the scope of #81
This reverts commits:
- ca32745bcb37af5c91ac76cf9707e8fee7523cc3
- 1eadfb94fd244a2036c3e7276ea3125edbc8891a
- 843d42874497d3cb7547b56279786665794befcf
This refactoring was not actually needed and it's always better to do
any refactoring separately.
---
pacmacs.el | 99 +++++++++++++++++++++++++++++++++++++++-----------------------
1 file changed, 62 insertions(+), 37 deletions(-)
diff --git a/pacmacs.el b/pacmacs.el
index 3eab42798e..86028da966 100644
--- a/pacmacs.el
+++ b/pacmacs.el
@@ -58,9 +58,10 @@
(defvar pacmacs--player-state nil)
(defvar pacmacs--ghosts nil)
+(defvar pacmacs--wall-cells nil)
(defvar pacmacs--pills nil)
+(defvar pacmacs--big-pills nil)
-(defvar pacmacs--object-list nil)
(defvar pacmacs--object-board nil)
(defvar pacmacs--track-board nil)
@@ -142,29 +143,39 @@
(defun pacmacs--make-big-pill (row column)
(pacmacs--make-pill row column "Big-Pill" 'big-pill))
-
-(defun pacmacs--make-character (row column anim-prefix speed type)
+(defun pacmacs--make-ghost (row column)
(list :row row
:column column
:init-row row
:init-column column
:prev-row row
:prev-column column
- :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
+ :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
:speed-counter 0
- :type type))
-
-(defun pacmacs--make-ghost (row column)
- (pacmacs--make-character row column "Red-Ghost" 1 'ghost))
+ :type 'ghost))
(defun pacmacs--make-player (row column)
- (pacmacs--make-character row column "Pacman-Chomping" 0 'player))
+ (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))
(defun pacmacs--reset-object-position (game-object)
(plist-bind ((init-row :init-row)
@@ -422,9 +433,21 @@
(setq pacmacs-waiting-counter 1000))
(defun pacmacs--fill-object-board ()
- (-each pacmacs--object-list
- (-lambda ((_ . objects))
- (-each objects #'pacmacs--put-object))))
+ (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))
+
+ (dolist (big-pill pacmacs--big-pills)
+ (pacmacs--put-object big-pill)))
(defun pacmacs--render-state ()
(with-current-buffer pacmacs-buffer-name
@@ -492,17 +515,6 @@
(-sort #'string-lessp)
(apply #'vector)))
-(defun pacmacs--lines-to-objects (lines)
- (apply #'append
- (cl-loop
- for line being the element of lines using (index row)
- collect (cl-loop for x being the element of line using (index column)
- collect (cond ((char-equal x ?#)
(pacmacs--make-wall-cell row column))
- ((char-equal x ?.)
(pacmacs--make-regular-pill row column))
- ((char-equal x ?+)
(pacmacs--make-big-pill row column))
- ((char-equal x ?o)
(pacmacs--make-player row column))
- ((char-equal x ?g)
(pacmacs--make-ghost row column)))))))
-
(defun pacmacs--load-map (map-name)
(let* ((lines (split-string (->> map-name
(format "./maps/%s.txt")
@@ -516,16 +528,29 @@
(setq pacmacs--track-board (pacmacs--make-board board-width
board-height))
- (setq pacmacs--object-list
- (->> lines
- (pacmacs--lines-to-objects)
- (-remove #'null)
- (-group-by (-partial (-flip #'plist-get) :type))))
+ (setq pacmacs--wall-cells nil)
+ (setq pacmacs--pills nil)
+ (setq pacmacs--ghosts nil)
+ (setq pacmacs--player-state nil)
+ (setq pacmacs--big-pills nil)
+
+ (cl-loop
+ for line being the element of lines using (index row)
+ do (cl-loop for x being the element of line using (index column)
+ do (cond ((char-equal x ?#)
+ (add-to-list 'pacmacs--wall-cells
(pacmacs--make-wall-cell row column)))
+
+ ((char-equal x ?.)
+ (add-to-list 'pacmacs--pills
(pacmacs--make-regular-pill row column)))
+
+ ((char-equal x ?+)
+ (add-to-list 'pacmacs--big-pills
(pacmacs--make-big-pill row column)))
- (setq pacmacs--pills (cdr (assoc 'pill pacmacs--object-list)))
- (setq pacmacs--ghosts (cdr (assoc 'ghost pacmacs--object-list)))
- (setq pacmacs--player-state (cadr (assoc 'player pacmacs--object-list)))
+ ((char-equal x ?o)
+ (setq pacmacs--player-state (pacmacs--make-player
row column)))
+ ((char-equal x ?g)
+ (add-to-list 'pacmacs--ghosts (pacmacs--make-ghost
row column))))))
(pacmacs--fill-object-board)))
(provide 'pacmacs)
- [nongnu] elpa/pacmacs ee83af998d 467/472: Replace deprecated dash-functional dependency, (continued)
- [nongnu] elpa/pacmacs ee83af998d 467/472: Replace deprecated dash-functional dependency, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 31853e0341 166/472: Update README, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 13f24ef937 171/472: Implement pause. Close #112, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs cf693bef1c 173/472: UTs for pacmacs--levelname-from-filename function, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 239e27b0f2 178/472: Update README.md, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs d128a6f057 183/472: Enable lexical binding, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 9f9a514129 165/472: Add MELPA badge. Close #93, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 02c5a40cd3 193/472: Rename cell get/set as wrapped operations (#105), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs bddb837ffd 200/472: Rename object vars according to convension (#126), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs a3b2a5ce44 216/472: Replace pacmacs--file-content with f-read-text (#122), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 8f9b38b16e 233/472: Revert all the refactoring in the scope of #81,
ELPA Syncer <=
- [nongnu] elpa/pacmacs 52fec0d180 241/472: Normalize wall generating bits (#131), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs e06beacb11 242/472: Assign wall tiles on load map (#131), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 9e7685b818 248/472: Drop XBM support for wall tiles (#141), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 5ec5ce8e67 267/472: Remove that pacmacs--object-at-p already!, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs c571f5874c 272/472: Extract wall bits normalization, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 9a9ecb6679 283/472: Implement direction switching callbacks (#153), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs e710f00f69 295/472: Remove pacmacs--unterrify-all-ghosts (#153), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs e1ae35d526 316/472: Minimal version of 24.4 as the package requirement, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 73fcaa8a91 324/472: Remove pacmacs--vector+ (#159), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs e228a3c95d 334/472: Add 5th big pill level (#162), ELPA Syncer, 2022/01/06