Mercurial > emacs
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"