Mercurial > emacs
changeset 42921:6267794dc181
(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.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Wed, 23 Jan 2002 23:32:12 +0000 |
parents | 6e3dc2b37909 |
children | f2345433de85 |
files | lisp/play/tetris.el |
diffstat | 1 files changed, 78 insertions(+), 30 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/play/tetris.el Wed Jan 23 22:03:26 2002 +0000 +++ b/lisp/play/tetris.el Wed Jan 23 23:32:12 2002 +0000 @@ -35,60 +35,108 @@ ;; ;;;;;;;;;;;;; customization variables ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(defvar tetris-use-glyphs t - "Non-nil means use glyphs when available.") +(defgroup tetris nil + "Play a game of tetris." + :prefix "tetris-" + :group 'games) -(defvar tetris-use-color t - "Non-nil means use color when available.") +(defcustom tetris-use-glyphs t + "*Non-nil means use glyphs when available." + :group 'tetris + :type 'boolean) -(defvar tetris-draw-border-with-glyphs t - "Non-nil means draw a border even when using glyphs.") +(defcustom tetris-use-color t + "*Non-nil means use color when available." + :group 'tetris + :type 'boolean) -(defvar tetris-default-tick-period 0.3 - "The default time taken for a shape to drop one row.") +(defcustom tetris-draw-border-with-glyphs t + "*Non-nil means draw a border even when using glyphs." + :group 'tetris + :type 'boolean) -(defvar tetris-update-speed-function +(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.") +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)) -(defvar tetris-x-colors +(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.") +Element 0 is ignored." + :group 'tetris + :type 'sexp) -(defvar tetris-buffer-name "*Tetris*" - "Name used for Tetris buffer.") +(defcustom tetris-buffer-name "*Tetris*" + "Name used for Tetris buffer." + :group 'tetris + :type 'string) -(defvar tetris-buffer-width 30 - "Width of used portion of buffer.") +(defcustom tetris-buffer-width 30 + "Width of used portion of buffer." + :group 'tetris + :type 'number) -(defvar tetris-buffer-height 22 - "Height of used portion of buffer.") +(defcustom tetris-buffer-height 22 + "Height of used portion of buffer." + :group 'tetris + :type 'number) -(defvar tetris-width 10 - "Width of playing area.") +(defcustom tetris-width 10 + "Width of playing area." + :group 'tetris + :type 'number) -(defvar tetris-height 20 - "Height of playing area.") +(defcustom tetris-height 20 + "Height of playing area." + :group 'tetris + :type 'number) -(defvar tetris-top-left-x 3 - "X position of top left of playing area.") +(defcustom tetris-top-left-x 3 + "X position of top left of playing area." + :group 'tetris + :type 'number) -(defvar tetris-top-left-y 1 - "Y position of top left of playing area.") +(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.")