Server IP : 111.118.215.189 / Your IP : 3.128.31.200 Web Server : Apache System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64 User : a1673wkz ( 2475) PHP Version : 8.2.25 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /usr/share/emacs/24.3/lisp/play/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
;ELC ;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:06:34 2024 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/play/5x5.el ;;; in Emacs version 24.3.1 ;;; 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\314\315\304\301&\210\310\316\317\320\314\315\304\301&\210\310\321\322\323\314\315\304\301&\210\310\324\325\326\314\327\304\301&\210\310\330\331\332\314\333\304\301&\210\310\334\302\335\314\336\304\301&\207" [custom-declare-group 5x5 nil "5x5 - Silly little puzzle game." :group games :prefix "5x5-" custom-declare-variable 5x5-grid-size 5 "Size of the playing area." :type integer 5x5-x-scale 4 "X scaling factor for drawing the grid." 5x5-y-scale 3 "Y scaling factor for drawing the grid." 5x5-animate-delay 0.01 "Delay in seconds when animating a solution crack." number 5x5-hassle-me t "Should 5x5 ask you when you want to do a destructive operation?" boolean 5x5-mode-hook "Hook run on starting 5x5." hook] 8) #@70 Define VAR to VALUE with documentation DOC and make it buffer local. (defalias '5x5-defvar-local '(macro . #[(var value doc) "\303\304 \nF\305\306DDE\207" [var value doc progn defvar make-variable-buffer-local quote] 5 (#$ . 1338)])) #@20 5x5 grid contents. (defvar 5x5-grid nil (#$ . 1580)) (make-variable-buffer-local '5x5-grid) #@23 X position of cursor. (defvar 5x5-x-pos 2 (#$ . 1678)) (make-variable-buffer-local '5x5-x-pos) #@23 Y position of cursor. (defvar 5x5-y-pos 2 (#$ . 1779)) (make-variable-buffer-local '5x5-y-pos) #@13 Moves made. (defvar 5x5-moves 0 (#$ . 1880)) (make-variable-buffer-local '5x5-moves) #@26 Are we in cracking mode? (defvar 5x5-cracking nil (#$ . 1971)) (make-variable-buffer-local '5x5-cracking) #@30 Name of the 5x5 play buffer. (defvar 5x5-buffer-name "*5x5*" (#$ . 2083)) #@32 Local keymap for the 5x5 game. (defvar 5x5-mode-map (byte-code "\301 \302\303\"\210\304\305\306#\210\304\307\310#\210\304\311\310#\210\304\312\313#\210\304\314\315#\210\304\316\317#\210\304\320\321#\210\304\322\321#\210\304\323\324#\210\304\325\326#\210\304\327\313#\210\304\330\315#\210\304\331\317#\210\304\332\321#\210\304\333\324#\210\304\334\326#\210\304\335\336#\210\304\337\340#\210\304\341\342#\210\304\343\344#\210\304\345\346#\210\304\347\350#\210\304\351\352#\210\304\353\354#\210\304\355\356#\210\304\357\360#\210\304\361\362#\210\304\363\364#\210)\207" [map make-sparse-keymap suppress-keymap t define-key "?" describe-mode " " 5x5-flip-current " " [up] 5x5-up [down] 5x5-down [left] 5x5-left [tab] 5x5-right [right] [(control a)] 5x5-bol [(control e)] 5x5-eol [(control p)] [(control n)] [(control b)] [(control f)] [home] [end] [prior] 5x5-first [next] 5x5-last "r" 5x5-randomize [(control c) (control r)] 5x5-crack-randomly [(control c) (control c)] 5x5-crack-mutating-current [(control c) (control b)] 5x5-crack-mutating-best [(control c) (control x)] 5x5-crack-xor-mutate "n" 5x5-new-game "s" 5x5-solve-suggest "<" 5x5-solve-rotate-left ">" 5x5-solve-rotate-right "q" 5x5-quit-game] 4) (#$ . 2163)) #@450 List that is the output of an arithmetic solver. This list L is such that L = (M S_1 S_2 ... S_N) M is the move count when the solve output was stored. S_1 ... S_N are all the solutions ordered from least to greatest number of strokes. S_1 is the solution to be displayed. Each solution S_1, ..., S_N is a list (STROKE-COUNT GRID) where STROKE-COUNT is the number of strokes to achieve the solution and GRID is the grid of positions to click. (defvar 5x5-solver-output nil (#$ . 3418)) (make-variable-buffer-local '5x5-solver-output) #@11 5x5 menu. (defvar 5x5-mode-menu nil (#$ . 3964)) (byte-code "\301\302\303\304$\210\305\306\307\310#\207" [5x5-mode-map easy-menu-do-define 5x5-mode-menu "5x5 menu." ("5x5" ["New game" 5x5-new-game t] ["Random game" 5x5-randomize t] ["Quit game" 5x5-quit-game t] "---" ["Use Calc solver" 5x5-solve-suggest t] ["Rotate left list of Calc solutions" 5x5-solve-rotate-left t] ["Rotate right list of Calc solutions" 5x5-solve-rotate-right t] "---" ["Crack randomly" 5x5-crack-randomly t] ["Crack mutating current" 5x5-crack-mutating-current t] ["Crack mutating best" 5x5-crack-mutating-best t] ["Crack with xor mutate" 5x5-crack-xor-mutate t]) put 5x5-mode mode-class special] 5) #@82 A mode for playing `5x5'. The key bindings for `5x5-mode' are: \{5x5-mode-map} (defalias '5x5-mode #[nil "\305 \210\306!\210\307\310\311\312!\210\313\211\314 \207" [5x5-mode-map major-mode mode-name buffer-read-only truncate-lines kill-all-local-variables use-local-map 5x5-mode "5x5" run-mode-hooks 5x5-mode-hook t buffer-disable-undo] 3 (#$ . 4645)]) #@873 Play 5x5. The object of 5x5 is very simple, by moving around the grid and flipping squares you must fill the grid. 5x5 keyboard bindings are: \<5x5-mode-map> Flip \[5x5-flip-current] Move up \[5x5-up] Move down \[5x5-down] Move left \[5x5-left] Move right \[5x5-right] Start new game \[5x5-new-game] New game with random grid \[5x5-randomize] Random cracker \[5x5-crack-randomly] Mutate current cracker \[5x5-crack-mutating-current] Mutate best cracker \[5x5-crack-mutating-best] Mutate xor cracker \[5x5-crack-xor-mutate] Solve with Calc \[5x5-solve-suggest] Rotate left Calc Solutions \[5x5-solve-rotate-left] Rotate right Calc Solutions \[5x5-solve-rotate-right] Quit current game \[5x5-quit-game] (defalias '5x5 #[(&optional size) "\305\306 !\210\307 \210\310\n!\203 \n\f\203 \f\311HGU\204! \312 \210\313\fC!\210\314 \207" [5x5-cracking 5x5-buffer-name size 5x5-grid-size 5x5-grid nil switch-to-buffer 5x5-mode natnump 0 5x5-new-game 5x5-draw-grid 5x5-position-cursor] 3 (#$ . 5012) "P"]) #@28 Start a new game of `5x5'. (defalias '5x5-new-game #[nil "\306\307!\203\f \310\311!\202 \312\205* \313\245\313\245\314\315\316 \n #\317\320\fC!\210\321 \207" [5x5-grid-size 5x5-x-pos 5x5-y-pos 5x5-moves 5x5-grid 5x5-solver-output called-interactively-p interactive 5x5-y-or-n-p "Start a new game? " t 2 0 5x5-make-move 5x5-make-new-grid nil 5x5-draw-grid 5x5-position-cursor] 4 (#$ . 6187) nil]) #@33 Quit the current game of `5x5'. (defalias '5x5-quit-game #[nil "\301!\207" [5x5-buffer-name kill-buffer] 2 (#$ . 6597) nil]) #@47 Create and return a new `5x5' grid structure. (defalias '5x5-make-new-grid #[nil "\304\305\"\306\nW\203 \n\304\305\"I\210\nT\211\202\n * )\207" [5x5-grid-size grid y --dotimes-limit-- make-vector nil 0] 6 (#$ . 6729)]) #@55 Return the value of the cell in GRID at location X,Y. (defalias '5x5-cell #[(grid y x) " H\nH\207" [grid y x] 2 (#$ . 6964)]) #@45 Set the value of cell X,Y in GRID to VALUE. (defalias '5x5-set-cell #[(grid y x value) " H\nI\207" [grid y x value] 3 (#$ . 7097)]) #@37 Flip the value of cell X,Y in GRID. (defalias '5x5-flip-cell #[(grid y x) "\303 \n\304 \n#?$\207" [grid y x 5x5-set-cell 5x5-cell] 8 (#$ . 7237)]) #@26 Make a new copy of GRID. (defalias '5x5-copy-grid #[(grid) "\306 \307\nW\2031 \307\fW\203) \310\n\f\311 \n\f#$\210\fT\211\202 *\nT\211\202 *)\207" [copy 5x5-grid-size y --dotimes-limit-- x grid 5x5-make-new-grid 0 5x5-set-cell 5x5-cell] 9 (#$ . 7392)]) #@48 Make a move on GRID at row ROW and column COL. (defalias '5x5-make-move #[(grid row col) "\304 \n#\210 \305V\203 \304 S\n#\210 SW\203! \304 T\n#\210\n\305V\203. \304 \nS#\210\nSW\203<