| Server IP : 217.160.0.212 / Your IP : 216.73.217.5 Web Server : Apache System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/share/emacs/28.2/lisp/play/ |
Upload File : |
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.
(byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313\314DD\315\316\317%\210\310\320\312\313\321DD\322\316\323%\210\310\324\312\313\325DD\326\316\323%\210\327\330\331\332#\210\327\333\334\335#\210\327\336\337\340#\210\327\341\342\343#\210\310\344\312\313\345DD\346\316\347%\207" [custom-declare-group mpuz nil "Multiplication puzzle." :prefix "mpuz-" :group games custom-declare-variable mpuz-silent funcall function #[0 "\300\207" [error] 1 #1=""] "Set this to nil if you want dings on inputs.\nThe value t means never ding, and `error' means only ding on wrong input." :type (choice (const :tag "No" nil) (const :tag "Yes" t) (const :tag "If correct" error)) mpuz-solve-when-trivial #[0 "\300\207" [t] 1 #1#] "Solve any row that can be trivially calculated from what you've found." boolean mpuz-allow-double-multiplicator #[0 "\300\207" [nil] 1 #1#] "Allow 2nd factors like 33 or 77." custom-declare-face mpuz-unsolved ((default :weight bold) (((class color)) :foreground "red1")) "Face for letters to be solved." mpuz-solved ((default :weight bold) (((class color)) :foreground "green1")) "Face for solved digits." mpuz-trivial ((default :weight bold) (((class color)) :foreground "blue")) "Face for trivial digits solved for you." mpuz-text ((t :inherit variable-pitch)) "Face for text on right." mpuz-mode-hook #[0 "\300\207" [nil] 1 #1#] "Hook to run upon entry to mpuz." hook] 8)
#@37 Local keymap to use in Mult Puzzle.
(defvar mpuz-mode-map (byte-code "\300 \301\302\303\"\304\"\210\305\306\307#\210\305\310\311#\210\207" [make-sparse-keymap mapc make-closure #[257 "\301\300\302!\303#\207" [V0 define-key char-to-string mpuz-try-letter] 5 "\n\n(fn CH)"] "abcdefghijABCDEFGHIJ" define-key "" mpuz-offer-abort "?" describe-mode] 5) (#$ . 1484))
(defvar mpuz-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [mpuz-mode-hook variable-documentation put "Hook run after entering Mult Puzzle mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp mpuz-mode-map definition-name mpuz-mode] 4)
(defvar mpuz-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\317#\207" [mpuz-mode-abbrev-table mpuz-mode-map variable-documentation put purecopy "Keymap for `mpuz-mode'." boundp mpuz-mode-syntax-table definition-name mpuz-mode (lambda (#1=#:def-tmp-var) (defvar mpuz-mode-syntax-table #1#)) make-syntax-table "Syntax table for `mpuz-mode'." (lambda (#1#) (defvar mpuz-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `mpuz-mode'." derived-mode-parent] 5)
#@240 Major-mode.
Uses keymap `mpuz-mode-map', abbrev table `mpuz-mode-abbrev-table' and
syntax-table `mpuz-mode-syntax-table'.
This mode runs the hook `mpuz-mode-hook', as the final or penultimate
step during initialization.
\{mpuz-mode-map}
(defalias 'mpuz-mode #[0 "\306\300!\210\307\310 \210\311\312\313!\210\314\f!\210
\315)\316\317!\207" [delay-mode-hooks major-mode mode-name mpuz-mode-map mpuz-mode-syntax-table mpuz-mode-abbrev-table make-local-variable t kill-all-local-variables mpuz-mode "Mult Puzzle" use-local-map set-syntax-table 30 run-mode-hooks mpuz-mode-hook local-abbrev-table tab-width] 2 (#$ . 2962)])
#@40 Number of errors made in current game.
(defvar mpuz-nb-errors 0 (#$ . 3596))
#@28 Number of games completed.
(defvar mpuz-nb-completed-games 0 (#$ . 3679))
#@42 Number of errors made in previous games.
(defvar mpuz-nb-cumulated-errors 0 (#$ . 3759))
#@45 Non-nil if a game is currently in progress.
(defvar mpuz-in-progress nil (#$ . 3854))
#@54 A vector recording which digits have been decrypted.
(defvar mpuz-found-digits (make-bool-vector 10 nil) (#$ . 3946))
#@59 A vector recording which digits have been solved for you.
(defvar mpuz-trivial-digits (make-bool-vector 10 nil) (#$ . 4070))
#@14
(fn DIGIT)
(defalias 'mpuz-digit-solved-p '(macro . #[257 "\300\301\302E\301\303EE\207" [or aref mpuz-found-digits mpuz-trivial-digits] 6 (#$ . 4201)]))
#@38 A permutation from [0..9] to [0..9].
(defvar mpuz-digit-to-letter (make-vector 10 0) (#$ . 4364))
#@40 The inverse of `mpuz-digit-to-letter'.
(defvar mpuz-letter-to-digit (make-vector 10 0) (#$ . 4468))
#@15
(fn LETTER)
(defalias 'mpuz-to-digit '(macro . #[257 "\300\301E\207" [aref mpuz-letter-to-digit] 4 (#$ . 4574)]))
#@14
(fn DIGIT)
(defalias 'mpuz-to-letter '(macro . #[257 "\300\301E\207" [aref mpuz-digit-to-letter] 4 (#$ . 4697)]))
#@53 Initialize puzzle coding with a random permutation.
(defalias 'mpuz-build-random-perm #[0 "\302\303\304\305\306\307\310\311\312\313\257\n\314\315\205. \316!\262\317\"\262S\262I\210 I\210\202 \207" [mpuz-digit-to-letter mpuz-letter-to-digit 0 1 2 3 4 5 6 7 8 9 10 nil seq-random-elt delq] 10 (#$ . 4820)])
#@73 The board associates to any digit the list of squares where it appears.
(defvar mpuz-board (make-vector 10 nil) (#$ . 5145))
#@99 Put (last digit of) NUMBER on ROW and COLUMNS of the puzzle board.
(fn NUMBER ROW &rest COLUMNS)
(defalias 'mpuz-put-number-on-board #[642 "\301\211\205&