From 297a6dcaff55833a5eed29dc47d37a854d9fe80e Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 3 Mar 2007 12:14:46 +0000 Subject: [PATCH] (tetris-move-bottom, tetris-move-left) (tetris-move-right, tetris-rotate-prev, tetris-rotate-next): Do nothing when the game is paused. --- lisp/play/tetris.el | 48 +++++++++++++++++++++++++-------------------- 1 file 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" -- 2.39.2