Port snake menu to Emacs
* lisp/play/snake.el (snake--menu-def): New constant. (snake-mode-menu, snake-null-menu): Add a menu. (snake-mode): Remove XEmacs compat code. (snake-mode-map, snake-null-map): Add docstring.
This commit is contained in:
parent
34923412b5
commit
0a70727c40
1 changed files with 29 additions and 13 deletions
|
@ -186,12 +186,39 @@ and then start moving it leftwards.")
|
|||
(define-key map "\C-f" 'snake-move-right)
|
||||
(define-key map "\C-p" 'snake-move-up)
|
||||
(define-key map "\C-n" 'snake-move-down)
|
||||
map))
|
||||
map)
|
||||
"Keymap for Snake games.")
|
||||
|
||||
(defvar snake-null-map
|
||||
(let ((map (make-sparse-keymap 'snake-null-map)))
|
||||
(define-key map "n" 'snake-start-game)
|
||||
map))
|
||||
map)
|
||||
"Keymap for finished Snake games.")
|
||||
|
||||
(defconst snake--menu-def
|
||||
'("Snake"
|
||||
["Start new game" snake-start-game
|
||||
:help "Start a new Snake game"]
|
||||
["End game" snake-end-game
|
||||
:active (snake-active-p)
|
||||
:help "End the current Snake game"]
|
||||
["Pause" snake-pause-game
|
||||
:active (and (snake-active-p) (not snake-paused))
|
||||
:help "Pause running Snake game"]
|
||||
["Resume" snake-pause-game
|
||||
:active (and (snake-active-p) snake-paused)
|
||||
:help "Resume paused Snake game"])
|
||||
"Menu for `snake'. Used to initialize menus.")
|
||||
|
||||
(easy-menu-define
|
||||
snake-mode-menu snake-mode-map
|
||||
"Menu for running Snake games."
|
||||
snake--menu-def)
|
||||
|
||||
(easy-menu-define
|
||||
snake-null-menu snake-null-map
|
||||
"Menu for finished Snake games."
|
||||
snake--menu-def)
|
||||
|
||||
;; ;;;;;;;;;;;;;;;; game functions ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
|
@ -368,17 +395,6 @@ Argument SNAKE-BUFFER is the name of the buffer."
|
|||
|
||||
(use-local-map snake-null-map)
|
||||
|
||||
(unless (featurep 'emacs)
|
||||
(setq mode-popup-menu
|
||||
'("Snake Commands"
|
||||
["Start new game" snake-start-game]
|
||||
["End game" snake-end-game
|
||||
(snake-active-p)]
|
||||
["Pause" snake-pause-game
|
||||
(and (snake-active-p) (not snake-paused))]
|
||||
["Resume" snake-pause-game
|
||||
(and (snake-active-p) snake-paused)])))
|
||||
|
||||
(setq gamegrid-use-glyphs snake-use-glyphs-flag)
|
||||
(setq gamegrid-use-color snake-use-color-flag)
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue