diff options
author | Richard M. Stallman <rms@gnu.org> | 2002-01-23 23:33:02 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 2002-01-23 23:33:02 +0000 |
commit | 67ec1c1ab395667bf5ed4e513d92099f6b1e3abf (patch) | |
tree | 7cd4ca7f0c5601e3a978c6ab4bc343ab586c14c9 /lisp/play/tetris.el | |
parent | ab76d3768051bb2ddc2a48ffafd092619f685119 (diff) | |
download | emacs-67ec1c1ab395667bf5ed4e513d92099f6b1e3abf.tar.gz |
(tetris): New defgroup.
(tetris-use-glyphs, tetris-use-color, tetris-draw-border-with-glyphs)
(tetris-default-tick-period): Convert to defcustom.
Added * in docstring to indicate user variable.
(tetris-update-speed-function, tetris-mode-hook, tetris-tty-colors)
(tetris-x-colors, tetris-buffer-name, tetris-buffer-width)
(tetris-buffer-height, tetris-width, tetris-height)
(tetris-top-left-x, tetris-top-left-y): Convert to defcustom.
Diffstat (limited to 'lisp/play/tetris.el')
-rw-r--r-- | lisp/play/tetris.el | 132 |
1 files changed, 90 insertions, 42 deletions
diff --git a/lisp/play/tetris.el b/lisp/play/tetris.el index 704ed5045ff..44968431497 100644 --- a/lisp/play/tetris.el +++ b/lisp/play/tetris.el @@ -35,60 +35,108 @@ ;; ;;;;;;;;;;;;; customization variables ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(defvar tetris-use-glyphs t - "Non-nil means use glyphs when available.") - -(defvar tetris-use-color t - "Non-nil means use color when available.") - -(defvar tetris-draw-border-with-glyphs t - "Non-nil means draw a border even when using glyphs.") - -(defvar tetris-default-tick-period 0.3 - "The default time taken for a shape to drop one row.") - -(defvar tetris-update-speed-function +(defgroup tetris nil + "Play a game of tetris." + :prefix "tetris-" + :group 'games) + +(defcustom tetris-use-glyphs t + "*Non-nil means use glyphs when available." + :group 'tetris + :type 'boolean) + +(defcustom tetris-use-color t + "*Non-nil means use color when available." + :group 'tetris + :type 'boolean) + +(defcustom tetris-draw-border-with-glyphs t + "*Non-nil means draw a border even when using glyphs." + :group 'tetris + :type 'boolean) + +(defcustom tetris-default-tick-period 0.3 + "*The default time taken for a shape to drop one row." + :group 'tetris + :type 'number) + +(defcustom tetris-update-speed-function 'tetris-default-update-speed-function "Function run whenever the Tetris score changes Called with two arguments: (SHAPES ROWS) SHAPES is the number of shapes which have been dropped ROWS is the number of rows which have been completed -If the return value is a number, it is used as the timer period.") +If the return value is a number, it is used as the timer period." + :group 'tetris + :type 'function) -(defvar tetris-mode-hook nil - "Hook run upon starting Tetris.") +(defcustom tetris-mode-hook nil + "Hook run upon starting Tetris." + :group 'tetris + :type 'hook) -(defvar tetris-tty-colors +(defcustom tetris-tty-colors [nil "blue" "white" "yellow" "magenta" "cyan" "green" "red"] "Vector of colors of the various shapes in text mode -Element 0 is ignored.") - -(defvar tetris-x-colors +Element 0 is ignored." + :group 'tetris + :type (let ((names `("Shape 1" "Shape 2" "Shape 3" + "Shape 4" "Shape 5" "Shape 6" "Shape 7")) + (result `(vector (const nil)))) + (while names + (add-to-list 'result + (cons 'choice + (cons :tag + (cons (car names) + (mapcar (lambda (color) + (list 'const color)) + (defined-colors))))) + t) + (setq names (cdr names))) + result)) + +(defcustom tetris-x-colors [nil [0 0 1] [0.7 0 1] [1 1 0] [1 0 1] [0 1 1] [0 1 0] [1 0 0]] "Vector of colors of the various shapes -Element 0 is ignored.") - -(defvar tetris-buffer-name "*Tetris*" - "Name used for Tetris buffer.") - -(defvar tetris-buffer-width 30 - "Width of used portion of buffer.") - -(defvar tetris-buffer-height 22 - "Height of used portion of buffer.") - -(defvar tetris-width 10 - "Width of playing area.") - -(defvar tetris-height 20 - "Height of playing area.") - -(defvar tetris-top-left-x 3 - "X position of top left of playing area.") - -(defvar tetris-top-left-y 1 - "Y position of top left of playing area.") +Element 0 is ignored." + :group 'tetris + :type 'sexp) + +(defcustom tetris-buffer-name "*Tetris*" + "Name used for Tetris buffer." + :group 'tetris + :type 'string) + +(defcustom tetris-buffer-width 30 + "Width of used portion of buffer." + :group 'tetris + :type 'number) + +(defcustom tetris-buffer-height 22 + "Height of used portion of buffer." + :group 'tetris + :type 'number) + +(defcustom tetris-width 10 + "Width of playing area." + :group 'tetris + :type 'number) + +(defcustom tetris-height 20 + "Height of playing area." + :group 'tetris + :type 'number) + +(defcustom tetris-top-left-x 3 + "X position of top left of playing area." + :group 'tetris + :type 'number) + +(defcustom tetris-top-left-y 1 + "Y position of top left of playing area." + :group 'tetris + :type 'number) (defvar tetris-next-x (+ (* 2 tetris-top-left-x) tetris-width) "X position of next shape.") |