changeset 76281:678584f358ef

(tetris-move-bottom, tetris-move-left) (tetris-move-right, tetris-rotate-prev, tetris-rotate-next): Do nothing when the game is paused.
author Eli Zaretskii <eliz@gnu.org>
date Sat, 03 Mar 2007 12:14:46 +0000
parents 1d7ec2331de4
children 5c5cfff568a1
files lisp/play/tetris.el
diffstat 1 files changed, 27 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/play/tetris.el	Sat Mar 03 11:17:49 2007 +0000
+++ b/lisp/play/tetris.el	Sat Mar 03 12:14:46 2007 +0000
@@ -512,19 +512,21 @@
 (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 @@
 (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 @@
 (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"