1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-03 11:33:37 +00:00

(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.
This commit is contained in:
Richard M. Stallman 2002-01-23 23:33:02 +00:00
parent ab76d37680
commit 67ec1c1ab3
2 changed files with 89 additions and 30 deletions

View File

@ -1,3 +1,14 @@
2002-01-23 Richard M. Stallman <rms@gnu.org>
* play/tetris.el: (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.
2002-01-22 Richard M. Stallman <rms@gnu.org>
* bindings.el (mode-line-copied-mode-name): New variable.

View File

@ -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.")