[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/pacmacs a0e3b6fe73 138/472: Implement level is beaten stat
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/pacmacs a0e3b6fe73 138/472: Implement level is beaten state. Close #99 |
Date: |
Thu, 6 Jan 2022 21:59:19 -0500 (EST) |
branch: elpa/pacmacs
commit a0e3b6fe7366e0aed4c702862f2f7f8df5ec1809
Author: rexim <reximkut@gmail.com>
Commit: rexim <reximkut@gmail.com>
Implement level is beaten state. Close #99
---
pacmacs.el | 27 +++++++++++++++++----------
1 file changed, 17 insertions(+), 10 deletions(-)
diff --git a/pacmacs.el b/pacmacs.el
index 41de38e4ef..3b40f3e844 100644
--- a/pacmacs.el
+++ b/pacmacs.el
@@ -64,7 +64,7 @@
(defvar pacmacs-board nil)
(defvar pacmacs-track-board nil)
-;;; play death prepare
+;;; play death prepare level-beaten
(defvar pacmacs-game-state 'play)
(defvar pacmacs-lives 3)
@@ -74,7 +74,7 @@
"map04" "map05" "map06"])
(defvar pacmacs-current-level 0)
-(defvar pacmacs-prepare-time-counter 0)
+(defvar pacmacs-waiting-counter 0)
(define-derived-mode pacmacs-mode special-mode "pacmacs-mode"
(define-key pacmacs-mode-map (kbd "<up>") 'pacmacs-up)
@@ -293,7 +293,11 @@
((equal pacmacs-game-state 'death)
(pacmacs-death-state-logic))
((equal pacmacs-game-state 'prepare)
- (pacmacs-prepare-state-logic)))
+ (pacmacs-waiting-logic #'pacmacs--switch-to-play-state))
+ ((equal pacmacs-game-state 'level-beaten)
+ (pacmacs-waiting-logic #'(lambda ()
+ (pacmacs--load-next-level)
+ (pacmacs--switch-to-prepare-state)))))
(erase-buffer)
(pacmacs-render-state))))
@@ -340,8 +344,7 @@
(if (pacmacs--ghost-collision-p)
(pacmacs--switch-to-death-state)
(pacmacs--step-ghosts)))
- (pacmacs--load-next-level)
- (pacmacs--switch-to-prepare-state)))
+ (pacmacs--switch-to-level-beaten-state)))
(defun pacmacs-death-state-logic ()
(pacmacs-anim-object-next-frame pacmacs-player-state
@@ -353,10 +356,10 @@
:current-frame))
(pacmacs--switch-to-play-state)))
-(defun pacmacs-prepare-state-logic ()
- (if (<= pacmacs-prepare-time-counter 0)
- (pacmacs--switch-to-play-state)
- (decf pacmacs-prepare-time-counter
+(defun pacmacs-waiting-logic (switcher)
+ (if (<= pacmacs-waiting-counter 0)
+ (funcall switcher)
+ (decf pacmacs-waiting-counter
pacmacs-tick-duration-ms)))
(defun pacmacs-render-anim (anim)
@@ -389,7 +392,11 @@
(defun pacmacs--switch-to-prepare-state ()
(setq pacmacs-game-state 'prepare)
- (setq pacmacs-prepare-time-counter 1000))
+ (setq pacmacs-waiting-counter 1000))
+
+(defun pacmacs--switch-to-level-beaten-state ()
+ (setq pacmacs-game-state 'level-beaten)
+ (setq pacmacs-waiting-counter 1000))
(defun pacmacs-render-track-board ()
(plist-bind ((width :width)
- [nongnu] elpa/pacmacs a802074eea 109/472: Add set/get functions for board (#74), (continued)
- [nongnu] elpa/pacmacs a802074eea 109/472: Add set/get functions for board (#74), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs de66c1ce17 112/472: Refactor out pacmacs--step-point (#74), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs b0561eb59f 111/472: Refactor pacmacs--cell-tracked-p (#74), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 317f9b85b7 114/472: Refactor pacmacs--track-point (#74), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 5233bac0c5 105/472: UT for pacmacs--put-object-test (#75), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs d2c449734e 124/472: Merge branch 'pacman-death-69'. Close #69, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 1ed9c057cc 127/472: Add padding above the lives, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 9e7f67e368 126/472: Implement live mechanics. Close #86, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 86d701a167 131/472: Introduce pacmacs--load-next-level, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 3d49405193 136/472: Reset the score on start, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs a0e3b6fe73 138/472: Implement level is beaten state. Close #99,
ELPA Syncer <=
- [nongnu] elpa/pacmacs 359a0facc5 140/472: Optimize empty cell rendering, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 420dbec3e6 150/472: Register score on Game Over (#92), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 6f174d6239 156/472: Access resources in more general way (#95), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 330c69201f 160/472: Fix UTs, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 131a070556 163/472: Merge pull request #110 from syohex/fix-package, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs bb622648e3 162/472: Add Package-Requires header for dependencies, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 0c0aee723a 170/472: Fix regexp bug in pacmacs--levelname-from-filename, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs f28d928e89 177/472: Update README.md, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 8b44939a29 179/472: Merge pull request #121 from kRITZCREEK/master, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 368609060e 182/472: Add Win animation for Ghost. Close #90, ELPA Syncer, 2022/01/06