Current File : //proc/self/root/kunden/usr/share/emacs/27.2/lisp/play/gomoku.elc |
;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313\314DD\315\316\317\306\301&\207" [custom-declare-group gomoku nil "Gomoku game between you and Emacs." :prefix "gomoku-" :group games custom-declare-variable gomoku-mode-hook funcall function #[0 "\300\207" [nil] 1] "If non-nil, its value is called on entry to Gomoku mode.\nOne useful value to include is `turn-on-font-lock' to highlight the pieces." :type hook] 8)
#@28 Name of the Gomoku buffer.
(defconst gomoku-buffer-name "*Gomoku*" (#$ . 842))
#@57 Horizontal spacing between squares on the Gomoku board.
(defconst gomoku-square-width 4 (#$ . 927))
#@55 Vertical spacing between squares on the Gomoku board.
(defconst gomoku-square-height 2 (#$ . 1033))
#@72 Number of columns between the Gomoku board and the side of the window.
(defconst gomoku-x-offset 3 (#$ . 1139))
#@69 Number of lines between the Gomoku board and the top of the window.
(defconst gomoku-y-offset 1 (#$ . 1257))
#@37 Local keymap to use in Gomoku mode.
(defvar gomoku-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\313#\210\301\314\315#\210\301\316\317#\210\301\320\321#\210\301\322\303#\210\301\323\305#\210\301\324\307#\210\301\325\311#\210\301\326\313#\210\301\327\315#\210\301\330\317#\210\301\331\321#\210\301\332\317#\210\301\333\321#\210\301\334\335#\210\301\336\335#\210\301\337\335#\210\301\340\335#\210\301\341\335#\210\301\342\343#\210\301\344\345#\210\301\346\347#\210\301\350\335#\210\301\351\335#\210\301\352\353#\210\301\354\353#\210\301\355\353#\210\301\356\353#\210\301\357\360#\210\301\361\360#\210\301\362\321#\210\301\363\317#\210\301\364\365#\210\301\366\367#\210\301\370\343#\210\301\371\343#\210\211\207" [make-sparse-keymap define-key "y" gomoku-move-nw "u" gomoku-move-ne "b" gomoku-move-sw "n" gomoku-move-se "h" backward-char "l" forward-char "j" gomoku-move-down "k" gomoku-move-up [kp-7] [kp-9] [kp-1] [kp-3] [kp-4] [kp-6] [kp-2] [kp-8] "" "" "X" gomoku-human-plays "x" " " "
" "" "" gomoku-human-takes-back "" gomoku-human-resigns "" gomoku-emacs-plays [kp-enter] [insert] [down-mouse-1] gomoku-click [drag-mouse-1] [mouse-1] [down-mouse-2] [mouse-2] gomoku-mouse-play [drag-mouse-2] [remap previous-line] [remap next-line] [remap move-beginning-of-line] gomoku-beginning-of-line [remap move-end-of-line] gomoku-end-of-line [remap undo] [remap advertised-undo]] 5) (#$ . 1372))
#@58 For making font-lock use the winner's face for the line.
(defvar gomoku-emacs-won nil (#$ . 2875))
(byte-code "\300\301\302\303\304\305%\210\300\306\307\310\304\305%\207" [custom-declare-face gomoku-O ((((class color)) (:foreground "red" :weight bold))) "Face to use for Emacs's O." :group gomoku gomoku-X ((((class color)) (:foreground "green" :weight bold))) "Face to use for your X."] 6)
#@29 Font lock rules for Gomoku.
(defvar gomoku-font-lock-keywords '(("O" quote gomoku-O) ("X" quote gomoku-X) ("[-|/\\]" 0 (if gomoku-emacs-won 'gomoku-O 'gomoku-X))) (#$ . 3272))
(defvar gomoku-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [gomoku-mode-hook variable-documentation put "Hook run after entering Gomoku mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp gomoku-mode-map definition-name gomoku-mode] 4)
(defvar gomoku-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\307!\204 \303\307\310\311#\210\312\313 !\210\307\302N\204- \303\307\302\304\314!#\210\306\300!\204B \303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P \303\300\302\304\320!#\210\303\311\321\322#\207" [gomoku-mode-abbrev-table gomoku-mode-map variable-documentation put purecopy "Keymap for `gomoku-mode'." boundp gomoku-mode-syntax-table definition-name gomoku-mode (lambda (#1=#:def-tmp-var) (defvar gomoku-mode-syntax-table #1#)) make-syntax-table "Syntax table for `gomoku-mode'." (lambda (#1#) (defvar gomoku-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `gomoku-mode'." derived-mode-parent special-mode] 5)
#@569 Major mode for playing Gomoku against Emacs.
You and Emacs play in turn by marking a free square. You mark it with X
and Emacs marks it with O. The winner is the first to get five contiguous
marks horizontally, vertically or in diagonal.
\<gomoku-mode-map>
You play by moving the cursor over the square you choose and hitting \[gomoku-human-plays].
Other useful commands:
\{gomoku-mode-map}
In addition to any hooks its parent mode `special-mode' might have run,
this mode runs the hook `gomoku-mode-hook', as the final or penultimate step
during initialization.
(defalias 'gomoku-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204'