summaryrefslogtreecommitdiff
path: root/lisp/play
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2007-03-03 12:14:46 +0000
committerEli Zaretskii <eliz@gnu.org>2007-03-03 12:14:46 +0000
commit297a6dcaff55833a5eed29dc47d37a854d9fe80e (patch)
treecc95ce197ba1902d07492f3c720edff6d0cff42e /lisp/play
parent362bcf23fe813c32b30676282262c79ae0648ecd (diff)
downloademacs-297a6dcaff55833a5eed29dc47d37a854d9fe80e.tar.gz
(tetris-move-bottom, tetris-move-left)
(tetris-move-right, tetris-rotate-prev, tetris-rotate-next): Do nothing when the game is paused.
Diffstat (limited to 'lisp/play')
-rw-r--r--lisp/play/tetris.el48
1 files changed, 27 insertions, 21 deletions
diff --git a/lisp/play/tetris.el b/lisp/play/tetris.el
index 53305a08e66..f1901a129dd 100644
--- a/lisp/play/tetris.el
+++ b/lisp/play/tetris.el
@@ -512,19 +512,21 @@ Drops the shape one square, testing for collision."
(defun tetris-move-bottom ()
"Drops the shape to the bottom of the playing area"
(interactive)
- (let ((hit nil))
- (tetris-erase-shape)
- (while (not hit)
- (setq tetris-pos-y (1+ tetris-pos-y))
- (setq hit (tetris-test-shape)))
- (setq tetris-pos-y (1- tetris-pos-y))
- (tetris-draw-shape)
- (tetris-shape-done)))
+ (if (not tetris-paused)
+ (let ((hit nil))
+ (tetris-erase-shape)
+ (while (not hit)
+ (setq tetris-pos-y (1+ tetris-pos-y))
+ (setq hit (tetris-test-shape)))
+ (setq tetris-pos-y (1- tetris-pos-y))
+ (tetris-draw-shape)
+ (tetris-shape-done))))
(defun tetris-move-left ()
"Moves the shape one square to the left"
(interactive)
- (unless (= tetris-pos-x 0)
+ (unless (or (= tetris-pos-x 0)
+ tetris-paused)
(tetris-erase-shape)
(setq tetris-pos-x (1- tetris-pos-x))
(if (tetris-test-shape)
@@ -534,8 +536,9 @@ Drops the shape one square, testing for collision."
(defun tetris-move-right ()
"Moves the shape one square to the right"
(interactive)
- (unless (= (+ tetris-pos-x (tetris-shape-width))
- tetris-width)
+ (unless (or (= (+ tetris-pos-x (tetris-shape-width))
+ tetris-width)
+ tetris-paused)
(tetris-erase-shape)
(setq tetris-pos-x (1+ tetris-pos-x))
(if (tetris-test-shape)
@@ -545,20 +548,23 @@ Drops the shape one square, testing for collision."
(defun tetris-rotate-prev ()
"Rotates the shape clockwise"
(interactive)
- (tetris-erase-shape)
- (setq tetris-rot (% (+ 1 tetris-rot) 4))
- (if (tetris-test-shape)
- (setq tetris-rot (% (+ 3 tetris-rot) 4)))
- (tetris-draw-shape))
+ (if (not tetris-paused)
+ (progn (tetris-erase-shape)
+ (setq tetris-rot (% (+ 1 tetris-rot) 4))
+ (if (tetris-test-shape)
+ (setq tetris-rot (% (+ 3 tetris-rot) 4)))
+ (tetris-draw-shape))))
(defun tetris-rotate-next ()
"Rotates the shape anticlockwise"
(interactive)
- (tetris-erase-shape)
- (setq tetris-rot (% (+ 3 tetris-rot) 4))
- (if (tetris-test-shape)
- (setq tetris-rot (% (+ 1 tetris-rot) 4)))
- (tetris-draw-shape))
+ (if (not tetris-paused)
+ (progn
+ (tetris-erase-shape)
+ (setq tetris-rot (% (+ 3 tetris-rot) 4))
+ (if (tetris-test-shape)
+ (setq tetris-rot (% (+ 1 tetris-rot) 4)))
+ (tetris-draw-shape))))
(defun tetris-end-game ()
"Terminates the current game"