%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/obsolete/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/obsolete/landmark.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.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(custom-declare-group 'landmark nil "Neural-network robot that learns landmarks." :prefix "landmark-" :group 'games)
#@42 Number of columns on the Landmark board.
(defvar landmark-board-width nil (#$ . 525))
#@40 Number of lines on the Landmark board.
(defvar landmark-board-height nil (#$ . 617))
#@58 Vector recording the actual state of the Landmark board.
(defvar landmark-board nil (#$ . 708))
#@34 Length of landmark-board vector.
(defvar landmark-vector-length nil (#$ . 810))
#@47 After how many moves will Emacs offer a draw?
(defvar landmark-draw-limit nil (#$ . 896))
#@54 This is the x coordinate of the center of the board.
(defvar landmark-cx 0 (#$ . 992))
#@54 This is the y coordinate of the center of the board.
(defvar landmark-cy 0 (#$ . 1085))
#@47 This is the x dimension of the playing board.
(defvar landmark-m 0 (#$ . 1179))
#@47 This is the y dimension of the playing board.
(defvar landmark-n 0 (#$ . 1265))
#@79 Translate X, Y cartesian coords into the corresponding board index.

(fn X Y)
(defalias 'landmark-xy-to-index #[514 "\301_#\207" [landmark-board-width +] 6 (#$ . 1351)])
#@58 Return corresponding x-coord of board INDEX.

(fn INDEX)
(defalias 'landmark-index-to-x #[257 "\211T\246\207" [landmark-board-width] 3 (#$ . 1531)])
#@58 Return corresponding y-coord of board INDEX.

(fn INDEX)
(defalias 'landmark-index-to-y #[257 "\211T\245\207" [landmark-board-width] 3 (#$ . 1687)])
#@67 Create the landmark-board vector and fill it with initial values.
(defalias 'landmark-init-board #[0 "\303\304\"\304S\nX\203#	\305I\210	\305I\210T\262\211S\262\202\266\304\211W\205;	\305I\210\306\n\307#\262\202&\207" [landmark-vector-length landmark-board landmark-board-width make-vector 0 -1 + 1] 5 (#$ . 1843)])
#@59 Horizontal spacing between squares on the Landmark board.
(defconst landmark-square-width 2 (#$ . 2183))
#@57 Vertical spacing between squares on the Landmark board.
(defconst landmark-square-height 1 (#$ . 2294))
#@74 Number of columns between the Landmark board and the side of the window.
(defconst landmark-x-offset 3 (#$ . 2404))
#@71 Number of lines between the Landmark board and the top of the window.
(defconst landmark-y-offset 1 (#$ . 2526))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable landmark-mode-hook funcall function #[0 "\300\207" [nil] 1] "If non-nil, its value is called on entry to Landmark mode." :type hook :group landmark] 8)
#@39 Local keymap to use in Landmark mode.
(defvar landmark-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\340#\210\301\341\340#\210\301\342\343#\210\301\344\343#\210\301\345\343#\210\301\346\347#\210\301\350\347#\210\301\351\321#\210\301\352\317#\210\301\353\354#\210\301\355\356#\210\301\357\360#\210\301\361\360#\210\211\207" [make-sparse-keymap define-key "y" landmark-move-nw "u" landmark-move-ne "b" landmark-move-sw "n" landmark-move-se "h" backward-char "l" forward-char "j" landmark-move-down "k" landmark-move-up [kp-7] [kp-9] [kp-1] [kp-3] [kp-4] [kp-6] [kp-2] [kp-8] "" "" "X" landmark-human-plays "x" " " landmark-start-robot [down-mouse-1] [drag-mouse-1] landmark-click [mouse-1] [down-mouse-2] [mouse-2] landmark-mouse-play [drag-mouse-2] [remap previous-line] [remap next-line] [remap beginning-of-line] landmark-beginning-of-line [remap end-of-line] landmark-end-of-line [remap undo] landmark-human-takes-back [remap advertised-undo]] 5) (#$ . 2884))
#@58 For making font-lock use the winner's face for the line.
(defvar landmark-emacs-won nil (#$ . 4216))
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\305\306\307&\207" [custom-declare-face landmark-font-lock-face-O ((((class color)) :foreground "red") (t :weight bold)) "Face to use for Emacs's O." :version "22.1" :group landmark landmark-font-lock-face-X ((((class color)) :foreground "green") (t :weight bold)) "Face to use for your X."] 8)
#@31 Font lock rules for Landmark.
(defvar landmark-font-lock-keywords '(("O" quote landmark-font-lock-face-O) ("X" quote landmark-font-lock-face-X) ("[-|/\\]" 0 (if landmark-emacs-won 'landmark-font-lock-face-O 'landmark-font-lock-face-X))) (#$ . 4689))
(defvar landmark-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [landmark-mode-hook variable-documentation put "Hook run after entering Lm mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp landmark-mode-map definition-name landmark-mode] 4)
(defvar landmark-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" [landmark-mode-abbrev-table landmark-mode-map variable-documentation put purecopy "Keymap for `landmark-mode'." boundp landmark-mode-syntax-table definition-name landmark-mode (lambda (#1=#:def-tmp-var) (defvar landmark-mode-syntax-table #1#)) make-syntax-table "Syntax table for `landmark-mode'." (lambda (#1#) (defvar landmark-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `landmark-mode'." derived-mode-parent special-mode] 5)
#@509 Major mode for playing Lm 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.

You play by moving the cursor over the square you choose and hitting \[landmark-human-plays].

Other useful commands:
\{landmark-mode-map}
Entry to this mode calls the value of `landmark-mode-hook' if that value
is non-nil.  One interesting value is `turn-on-font-lock'.
(defalias 'landmark-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324
\325\"\204R
\"=\204R\326
\325\"C#\210\327!\210\330\f!\210
\"\331 \210\306\332!\210\333\307#\334\335\336\337\307$\210)\340\341!\207" [delay-mode-hooks major-mode mode-name landmark-mode-map landmark-mode-syntax-table landmark-mode-abbrev-table make-local-variable t special-mode landmark-mode "Lm" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table landmark-display-statistics font-lock-defaults (landmark-font-lock-keywords t) add-hook post-command-hook landmark--intangible nil run-mode-hooks landmark-mode-hook local-abbrev-table buffer-read-only] 5 (#$ . 6111) nil])
#@56 Vector recording the actual score of the free squares.
(defvar landmark-score-table nil (#$ . 7562))
#@27 Score of an empty qtuple.
(defconst landmark-nil-score 7 (#$ . 7669))
#@52 Vector associating qtuple contents to their score.
(defconst landmark-score-trans-table (byte-code "\301\302\303\304\305\306\307\310\311				\312\n\312\211\211\211\211\312\211\211\211\211\312\211\211\211\211\312\211\211\211\211\211&\207" [landmark-nil-score 15 400 1800 100000 35 800 15000 800000 vector 0] 40) (#$ . 7745))
#@56 Threshold score beyond which an Emacs move is winning.
(defconst landmark-winning-threshold (aref landmark-score-trans-table 24) (#$ . 8087))
#@55 Threshold score beyond which a human move is winning.
(defconst landmark-losing-threshold (aref landmark-score-trans-table 4) (#$ . 8235))
#@66 Compute index of free square with highest score, or nil if none.
(defalias 'landmark-strongest-square #[0 "\304\211\305\306\211\"\305	\"\307\211X\203l\nHW\204e\nH\211\262V\203CH\304U\203;\306\262\262\211\262\202e\n\310I\210\202eH\304U\204S\n\310I\210\202e\311T\211\262!\304U\203e\262\211\262T\262\202\f\207" [landmark-board-width landmark-board-height landmark-score-table landmark-board 0 landmark-xy-to-index 1 nil -1 random] 9 (#$ . 8380)])
#@49 Recorded initial value of previous score table.
(defvar landmark-saved-score-table nil (#$ . 8868))
#@41 Recorded value of previous board width.
(defvar landmark-saved-board-width nil (#$ . 8974))
#@42 Recorded value of previous board height.
(defvar landmark-saved-board-height nil (#$ . 9072))
#@64 Create the score table vector and fill it with initial values.
(defalias 'landmark-init-score-table #[0 "\203	\nU\203\fU\203\306!\211\207\307\310_\"\311\211\211\211\211\211	T\312\245\262T\312\245\262\313^\262\313^\262\314\262X\203b\314\262X\203[\315\"\210T\262\202GT\262\202>X\203\206\314\262X\203\315\"\210T\262\202kT\262\202b\266\306
!	\211\207" [landmark-saved-score-table landmark-board-width landmark-saved-board-width landmark-board-height landmark-saved-board-height landmark-score-table copy-sequence make-vector 20 nil 2 4 1 landmark-init-square-score landmark-vector-length landmark-nil-score] 9 (#$ . 9172)])
#@63 Return the number of qtuples containing square I,J.

(fn I J)
(defalias 'landmark-nb-qtuples #[514 "\302S^\302Z^\302S^\302	Z^\303\304\\\305]\306^\\\305]\306^^^\\\305]\306^^	^\\\305]\306^%\207" [landmark-board-width landmark-board-height 4 + -12 3 8] 14 (#$ . 9861)])
#@70 Give initial score to square I,J and to its mirror images.

(fn I J)
(defalias 'landmark-init-square-score #[514 "ZT	ZT\304\"\n\305H_\306\"I\210\306\"I\210\306\"I\210\306\"I\207" [landmark-board-width landmark-board-height landmark-score-trans-table landmark-score-table landmark-nb-qtuples 0 landmark-xy-to-index] 9 (#$ . 10158)])
#@78 Update score table after SQUARE received a DVAL increment.

(fn SQUARE DVAL)
(defalias 'landmark-update-score-table #[514 "\302!\303!\304\305Z]\304\305Z]\306\307\310#^\306\307	\310#^\311\n\305\306\f&\210\311\n\306\305\f&\210\311]^\n\305\211\f&\210\311\305Z\304]Z]\306\312Z^\307		\310#^\n\313\305\f&\207" [landmark-board-width landmark-board-height landmark-index-to-x landmark-index-to-y -4 1 0 - 4 landmark-update-score-in-direction 5 -1] 15 (#$ . 10521)])
#@238 Update scores for all squares in the qtuples in range.
That is, those between the LEFTth square and the RIGHTth after SQUARE,
along the DX, DY direction, considering that DVAL has been added on SQUARE.

(fn LEFT RIGHT SQUARE DX DY DVAL)
(defalias 'landmark-update-score-in-direction #[1542 "V\206\256\303\211\211\211\211\211\304		\"\262	\f_\\\262	_\\\262\305_\\\262\262\n\306\262	X\203OH\\\262	\\\262\n\2026X\205\254	H		ZHZ\262\211\306U\204\217\262\n	X\203\217\nH\306U\203\205\n\n\n\fH\\I\210	\\\262\n\202j\\\262\307H[H#\262\\\262\202O\266\206\207" [landmark-board landmark-score-trans-table landmark-score-table nil landmark-xy-to-index 4 0 +] 17 (#$ . 11023)])
#@35 Non-nil if a game is in progress.
(defvar landmark-game-in-progress nil (#$ . 11766))
#@66 A record of all moves that have been played during current game.
(defvar landmark-game-history nil (#$ . 11858))
#@49 Number of moves already played in current game.
(defvar landmark-number-of-moves nil (#$ . 11977))
#@58 Number of moves already played by human in current game.
(defvar landmark-number-of-human-moves nil (#$ . 12082))
#@32 Non-nil if Emacs played first.
(defvar landmark-emacs-played-first nil (#$ . 12202))
#@52 Non-nil if Human took back a move during the game.
(defvar landmark-human-took-back nil (#$ . 12293))
#@49 Non-nil if Human refused Emacs offer of a draw.
(defvar landmark-human-refused-draw nil (#$ . 12401))
#@53 Non-nil if Emacs is in the middle of a computation.
(defvar landmark-emacs-is-computing nil (#$ . 12509))
#@53 Initialize a new game on an N by M board.

(fn N M)
(defalias 'landmark-start-game #[514 "\306\211\211\211\307\\T_T\310\311#\312\245\313\211\314\211\313\211\313\315\"\210\316 \210\317 \210\313\211\207" [landmark-emacs-is-computing landmark-game-in-progress landmark-board-width landmark-board-height landmark-vector-length landmark-draw-limit t 2 * 7 10 nil 0 landmark-init-display landmark-init-score-table landmark-init-board landmark-emacs-won landmark-game-history landmark-number-of-moves landmark-number-of-human-moves landmark-emacs-played-first landmark-human-took-back landmark-human-refused-draw] 7 (#$ . 12621)])
#@92 Go to SQUARE, play VAL and update everything.

(fn SQUARE VAL &optional DONT-UPDATE-SCORE)
(defalias 'landmark-play-move #[770 "\306\307U\203	T\202\n\310U\203\306\fHB
B\nT\311\"\210
I\210\211\204:\312\"\210\f\313I\210\314\211\207" [landmark-emacs-is-computing landmark-number-of-human-moves landmark-number-of-moves landmark-emacs-played-first landmark-score-table landmark-game-history t 1 0 landmark-plot-square landmark-update-score-table -1 nil landmark-board] 6 (#$ . 13278)])
#@44 Take back last move and update everything.
(defalias 'landmark-take-back #[0 "\306	@\211@\nH\211\307U\203S	A\fS\310\311\"\210\n\311I\210\312[\"\210
AI\266\313\211\207" [landmark-emacs-is-computing landmark-game-history landmark-board landmark-number-of-human-moves landmark-number-of-moves landmark-score-table t 1 landmark-plot-square 0 landmark-update-score-table nil] 6 (#$ . 13790)])
#@49 The number of times that landmark has been run.
(defvar landmark-number-of-trials 0 (#$ . 14200))
#@46 The total number of moves made in all games.
(defvar landmark-sum-of-moves 0 (#$ . 14304))
#@44 Number of games Emacs won in this session.
(defvar landmark-number-of-emacs-wins 0 (#$ . 14401))
#@42 Number of games you won in this session.
(defvar landmark-number-of-human-wins 0 (#$ . 14504))
#@48 Number of games already drawn in this session.
(defvar landmark-number-of-draws 0 (#$ . 14605))
#@54 Terminate the current game with RESULT.

(fn RESULT)
(defalias 'landmark-terminate-game #[257 "T	\n\\\211\304=\203\305\306!\210\307 \210\310\211\207" [landmark-number-of-trials landmark-sum-of-moves landmark-number-of-moves landmark-game-in-progress crash-game message "Sorry, I have been interrupted and cannot resume that game..." landmark-display-statistics nil] 3 (#$ . 14707)])
#@56 What to do when Emacs detects it has been interrupted.
(defalias 'landmark-crash-game #[0 "\301\302\303!\210\304\305!\210\306 \207" [landmark-emacs-is-computing nil landmark-terminate-game crash-game sit-for 4 landmark-prompt-for-other-game] 2 (#$ . 15102)])
#@38 Compute Emacs next move and play it.
(defalias 'landmark-emacs-plays #[0 "\306 \210\203\n\307 \207	\204\310 \207\311\312!\210\313 \314\204\"\315\316!\202d\nH\262\317\320\"\210\211Y\203?\321\322\320\"\210\315\323!\202d\211\324U\203K\315\316!\202d
V\203b\204b\325 \203b\315\326!\202d\327 \207" [landmark-emacs-is-computing landmark-game-in-progress landmark-score-table landmark-winning-threshold landmark-emacs-won landmark-number-of-moves landmark-switch-to-window landmark-crash-game landmark-prompt-for-other-game message "Let me think..." landmark-strongest-square nil landmark-terminate-game nobody-won landmark-play-move 6 t landmark-find-filled-qtuple emacs-won 0 landmark-offer-a-draw draw-agreed landmark-prompt-for-move landmark-draw-limit landmark-human-refused-draw] 5 (#$ . 15368) nil])
#@53 Position at the square where you click.

(fn CLICK)
(defalias 'landmark-click #[257 "\306\307!\211\262\211@\262!\205\\\310!\247\205\\\311\211@\262!\205\\\312!\211\262\205\\\313\314\315@\316#\317 	\211\320\246	\320\245%	\245\316]\n^\314\315A\316#\321e\322 \"\f\211\320\246\f\320\245%\f\245\316]
^\"\207" [landmark-x-offset landmark-square-width landmark-board-width landmark-y-offset landmark-square-height landmark-board-height windowp event-end posn-point select-window posn-col-row landmark-goto-xy + - 1 window-hscroll 2 count-lines window-start] 10 (#$ . 16198) "e"])
#@49 Play at the square where you click.

(fn CLICK)
(defalias 'landmark-mouse-play #[257 "\300!\205\301 \207" [landmark-click landmark-human-plays] 3 (#$ . 16792) "e"])
#@186 Signal to the Landmark program that you have played.
You must have put the cursor on the square where you want to play.
If the game is finished, this command requests for another game.
(defalias 'landmark-human-plays #[0 "\305 \210\203\n\306 \207	\204\307 \207\310 \311\204\312\313!\202K\nH\314U\204,\312\315!\202KH\262\316\317\"\210\211\fY\203I\320\317\"\203I\321\322!\202K\323 \207" [landmark-emacs-is-computing landmark-game-in-progress landmark-board landmark-score-table landmark-losing-threshold landmark-switch-to-window landmark-crash-game landmark-prompt-for-other-game landmark-point-square nil error "Your point is not on a square. Retry!" 0 "Your point is not on a free square. Retry!" landmark-play-move 1 landmark-find-filled-qtuple landmark-terminate-game human-won landmark-emacs-plays] 5 (#$ . 16967) nil])
#@75 Signal to the Landmark program that you wish to take back your last move.
(defalias 'landmark-human-takes-back #[0 "\304 \210\203\n\305 \207	\204\306\307!\210\310\311!\210\312 \207\n\313U\203#\306\314!\207\306\315!\210\316\n\211\nU\2036\317 \210\202*\210\320 \207" [landmark-emacs-is-computing landmark-game-in-progress landmark-number-of-human-moves landmark-human-took-back landmark-switch-to-window landmark-crash-game message "Too late for taking back..." sit-for 4 landmark-prompt-for-other-game 0 "You have not played yet... Your move?" "One moment, please..." t landmark-take-back landmark-prompt-for-move] 3 (#$ . 17816) nil])
#@61 Signal to the Landmark program that you may want to resign.
(defalias 'landmark-human-resigns #[0 "\302 \210\203\n\303 \207	\204\304\305!\207\306\307!\203\310\311!\207\306\312!\203%\313 \207\310\311!\207" [landmark-emacs-is-computing landmark-game-in-progress landmark-switch-to-window landmark-crash-game message "There is no game in progress" y-or-n-p "You mean, you resign? " landmark-terminate-game human-resigned "You mean, we continue? " landmark-prompt-for-move] 2 (#$ . 18465) nil])
#@44 Display a message asking for Human's move.
(defalias 'landmark-prompt-for-move #[0 "\301\302U\203\303\202\f\304!\207" [landmark-number-of-human-moves message 0 "Your move? (move to a free square and hit X, RET ...)" "Your move?"] 3 (#$ . 18969)])
#@37 Ask for another game, and start it.
(defalias 'landmark-prompt-for-other-game #[0 "\300\301!\203\300\302!\203\303\304!\207\303\305!\207\306\307!\207" [y-or-n-p "Another game? " "Retain learned weights " landmark 2 1 message "Chicken!"] 2 (#$ . 19226)])
#@49 Offer a draw and return t if Human accepted it.
(defalias 'landmark-offer-a-draw #[0 "\301\302!\206\n\303\211?\207" [landmark-human-refused-draw y-or-n-p "I offer you a draw. Do you accept it? " t] 2 (#$ . 19489)])
#@54 Largest possible board width for the current window.
(defalias 'landmark-max-width #[0 "\302\303 \211\304$	\245T\207" [landmark-x-offset landmark-square-width - window-width 1] 5 (#$ . 19712)])
#@55 Largest possible board height for the current window.
(defalias 'landmark-max-height #[0 "\302\303 \211\304$	\245T\207" [landmark-y-offset landmark-square-height - window-height 2] 5 (#$ . 19913)])
#@38 Return the board row where point is.
(defalias 'landmark-point-y #[0 "\302\303e`\"n\203\304\202\305#	\245T\207" [landmark-y-offset landmark-square-height - count-lines 0 1] 4 (#$ . 20118)])
#@45 Return the index of the square point is on.
(defalias 'landmark-point-square #[0 "\302iZ	\245T\303 \"\207" [landmark-x-offset landmark-square-width landmark-xy-to-index landmark-point-y] 3 (#$ . 20319)])
#@48 Move point to square number INDEX.

(fn INDEX)
(defalias 'landmark-goto-square #[257 "\300\301!\302!\"\207" [landmark-goto-xy landmark-index-to-x landmark-index-to-y] 5 (#$ . 20530)])
#@48 Move point to square at X, Y coords.

(fn X Y)
(defalias 'landmark-goto-xy #[514 "eb\210	S_\\y\210\304\nS_\\!\207" [landmark-y-offset landmark-square-height landmark-x-offset landmark-square-width move-to-column] 6 (#$ . 20722)])
#@90 Draw `X', `O' or `.' on SQUARE depending on VALUE, leave point there.

(fn SQUARE VALUE)
(defalias 'landmark-plot-square #[514 "\211\301U\204\n\302!\210\303\211\301U\203\304\202E\211\305U\203 \306\202E\211\307U\203*\310\202E\211\311U\2034\312\202E\211\313U\203>\314\202E\211\315U\205E\316c\210\211\317U\203T\320`S`\321#\210\322\301!\210\323u\210)\324\317!\207" [inhibit-read-only 1 landmark-goto-square t 46 2 78 3 83 4 69 5 87 6 94 0 add-text-properties (mouse-face highlight help-echo "mouse-1: get robot moving, mouse-2: play on this square") delete-char -1 sit-for] 6 (#$ . 20962)])
#@45 Display an N by M Landmark board.

(fn N M)
(defalias 'landmark-init-display #[514 "\306p!\210\307e\310\310\211	\n\246\311U\203\n\202#\312	\n\246\n\313#\314\245\314]\315 \210\316\317\f\"\210\262	\nZ\262S\211\262\311Y\203\211\316\320\n\\\211\262iZ\245\"\210\316\321iZ\"\210\311U\203z\314ZU\203z\322Y\203w\323p`#\210\314Z\262\202cdb\210`\262\324c\210\325`\326#\210\2025S\211\262\311V\203\246SU\203\236\262\316\317
\"\210\202,\316\317!\210)\266\327T\314\245T\314\245\"\210\330\311!\207" [inhibit-read-only landmark-x-offset landmark-square-width tab-width landmark-y-offset landmark-square-height buffer-disable-undo t nil 0 + 1 2 erase-buffer insert-char 10 9 32 3 append-to-buffer 61 add-text-properties (mouse-face highlight help-echo "mouse-1: get robot moving, mouse-2: play on this square") landmark-goto-xy sit-for] 12 (#$ . 21571)])
#@72 Obnoxiously display some statistics about previous games in mode line.
(defalias 'landmark-display-statistics #[0 "\303\304\211\305U\203
\305\202	\245#\306 \207" [landmark-number-of-trials landmark-sum-of-moves mode-line-process format ": Trials: %d, Avg#Moves: %d" 0 force-mode-line-update] 5 (#$ . 22461)])
#@53 Find or create the Landmark buffer, and display it.
(defalias 'landmark-switch-to-window #[0 "\301\302!\211\203
\303!\202\203\304 \210\303\302!\210\305 \207" [landmark-game-in-progress get-buffer "*Landmark*" switch-to-buffer landmark-crash-game landmark-mode] 3 (#$ . 22782) nil])
#@79 Return t if SQUARE belongs to a qtuple filled with VALUEs.

(fn SQUARE VALUE)
(defalias 'landmark-find-filled-qtuple #[514 "\300\301\302$\206!\300\302\301$\206!\300\301\211$\206!\300\303\301$\207" [landmark-check-filled-qtuple 1 0 -1] 7 (#$ . 23077)])
#@98 Return t if SQUARE belongs to a qtuple filled with VALUEs along DX, DY.

(fn SQUARE VALUE DX DY)
(defalias 'landmark-check-filled-qtuple #[1028 "\301\211\211\302\"\303V\203%Z\211\262HU\203%S\262\202\n\304\\W\203B\\\211\262HU\203BT\262\202%\304\\U\205`\305	_\\\n_\\		$\210\306\207" [landmark-board 0 landmark-xy-to-index -4 4 landmark-cross-qtuple t] 14 (#$ . 23346)])
#@101 Cross every square between SQUARE1 and SQUARE2 in the DX, DY direction.

(fn SQUARE1 SQUARE2 DX DY)
(defalias 'landmark-cross-qtuple #[1028 "\212\304\"\305U\204\200\306!\210\\\262\307U\2031\310u\210\311\312	S\305#\210`\313\314w\210`|\210\202\307U\203V\310i\nW\203P\nT\310y\210\211j\210\315c\210\202;)\266\202\316U\203ni	\317\245Z\317\245y\210j\210\320c\210\202i	\317\245\\\317\245y\210j\210\321c\210\202)\210)\322\307!\207" [inhibit-read-only landmark-square-width landmark-n landmark-square-height landmark-xy-to-index t landmark-goto-square 0 1 insert-char 45 " 	" nil 124 -1 2 47 92 sit-for] 9 (#$ . 23764)])
(defvar landmark--last-pos 0 nil)
(make-variable-buffer-local 'landmark--last-pos)
(defconst landmark--intangible-chars "- 	\n|/\\\\")
(defalias 'landmark--intangible #[0 "m\204\212\302w\303U)\2048	`X\203&\302w\210m\2038\302x\210\304u\210\2028\302x\210o\2035\302w\210\2028\304u\210`\211\207" [landmark--intangible-chars landmark--last-pos nil 0 -1] 2])
#@48 Move point down one row on the Landmark board.
(defalias 'landmark-move-down #[0 "\301 W\205i\302y\210\303!\262\207" [landmark-board-height landmark-point-y 1 move-to-column] 3 (#$ . 24782) nil])
#@46 Move point up one row on the Landmark board.
(defalias 'landmark-move-up #[0 "\301 \302V\205i[y\210\303!\262\207" [landmark-square-height landmark-point-y 1 move-to-column] 3 (#$ . 24989) nil])
#@46 Move point North East on the Landmark board.
(defalias 'landmark-move-ne #[0 "\300 \210\301u\207" [landmark-move-up nil] 1 (#$ . 25194) nil])
#@46 Move point South East on the Landmark board.
(defalias 'landmark-move-se #[0 "\300 \210\301u\207" [landmark-move-down nil] 1 (#$ . 25342) nil])
#@46 Move point North West on the Landmark board.
(defalias 'landmark-move-nw #[0 "\300 \210\301u\207" [landmark-move-up -1] 1 (#$ . 25492) nil])
#@46 Move point South West on the Landmark board.
(defalias 'landmark-move-sw #[0 "\300 \210\301u\207" [landmark-move-down -1] 1 (#$ . 25639) nil])
#@55 Move point to first square on the Landmark board row.
(defalias 'landmark-beginning-of-line #[0 "\301!\207" [landmark-x-offset move-to-column] 2 (#$ . 25788) nil])
#@54 Move point to last square on the Landmark board row.
(defalias 'landmark-end-of-line #[0 "\303	\nS_\\!\207" [landmark-x-offset landmark-square-width landmark-board-width move-to-column] 4 (#$ . 25959) nil])
#@146 Not used.
Affects a noise generator which was used in an earlier incarnation of
this program to add a random element to the way moves were made.
(defvar landmark-nvar 0.0075 (#$ . 26174))
#@65 Used when doing something relative to the north and south axes.
(defvar landmark-ns '(landmark-n landmark-s) (#$ . 26368))
#@63 Used when doing something relative to the east and west axes.
(defvar landmark-ew '(landmark-e landmark-w) (#$ . 26497))
#@26 The cardinal directions.
(defvar landmark-directions '(landmark-n landmark-s landmark-e landmark-w) (#$ . 26624))
#@33 The full 8 possible directions.
(defvar landmark-8-directions '((landmark-n) (landmark-n landmark-w) (landmark-w) (landmark-s landmark-w) (landmark-s) (landmark-s landmark-e) (landmark-e) (landmark-n landmark-e)) (#$ . 26744))
(defvar landmark-number-of-moves "The number of moves made by the robot so far.")
#@35 If non-nil, debugging is printed.
(defvar landmark-debug nil (#$ . 27059))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\307\310\311&\207" [custom-declare-variable landmark-one-moment-please funcall function #[0 "\300\207" [nil] 1] "If non-nil, print \"One moment please\" when a new board is generated.\nThe drawback of this is you don't see how many moves the last run took\nbecause it is overwritten by \"One moment please\"." :type boolean :group landmark landmark-output-moves #[0 "\300\207" [t] 1] "If non-nil, output number of moves so far on a move-by-move basis."] 8)
(defalias 'landmark-weights-debug #[0 "\205\301 \210\302 \210\303 \210\304 \207" [landmark-debug landmark-print-wts landmark-blackbox landmark-print-y-s-noise landmark-print-smell] 1])
#@18 

(fn DIRECTION)
(defalias 'landmark-print-distance-int #[257 "\300\301\211\302N#c\207" [format "%S %S " distance] 6 (#$ . 27876) nil])
(defalias 'landmark-print-distance #[0 "\301\302\303\304!\"c\210\305\306\"\207" [landmark-directions format "tree: %S \n" landmark-calc-distance-of-robot-from landmark-tree mapc landmark-print-distance-int] 4])
#@18 

(fn DIRECTION)
(defalias 'landmark-nslify-wts-int #[257 "\301\302\303\304\305\306!\307\"\310\311%\"\207" [landmark-directions mapcar make-byte-code 257 "\300N\207" vconcat vector [] 3 "\n\n(fn TARGET-DIRECTION)"] 8 (#$ . 28231)])
(defalias 'landmark-nslify-wts #[0 "\301\302\303\304\"\"\305\306\"c\210\305\307\310\311B!\310\312B!#c\207" [landmark-directions apply append mapcar landmark-nslify-wts-int format "set data_value WTS \n %s \n" "/* max: %S min: %S */" eval max min] 7 nil nil])
#@18 

(fn DIRECTION)
(defalias 'landmark-print-wts-int #[257 "\301\302\303\304\305\306!\307\"\310\311%\"\210\312c\207" [landmark-directions mapc make-byte-code 257 "\301\302\300\300N$c\207" vconcat vector [format "%S %S %S "] 7 "\n\n(fn TARGET-DIRECTION)" "\n"] 8 (#$ . 28736)])
(defalias 'landmark-print-wts #[0 "r\301q\210\302c\210\303\304\")\207" [landmark-directions "*landmark-wts*" "==============================\n" mapc landmark-print-wts-int] 3 nil nil])
#@14 

(fn MOVES)
(defalias 'landmark-print-moves #[257 "r\300q\210\301\302\"c)\207" ["*landmark-moves*" format "%S\n"] 4 (#$ . 29208) nil])
#@18 

(fn DIRECTION)
(defalias 'landmark-print-y-s-noise-int #[257 "\300\301\302!\303N\304N\305N%c\207" [format "%S:landmark-y %S, s %S, noise %S \n" symbol-name y_t s noise] 8 (#$ . 29351)])
(defalias 'landmark-print-y-s-noise #[0 "r\301q\210\302c\210\303\304\")\207" [landmark-directions "*landmark-y,s,noise*" "==============================\n" mapc landmark-print-y-s-noise-int] 3 nil nil])
#@18 

(fn DIRECTION)
(defalias 'landmark-print-smell-int #[257 "\300\301\302!\303N#c\207" [format "%S: smell: %S \n" symbol-name smell] 6 (#$ . 29753)])
(defalias 'landmark-print-smell #[0 "r\301q\210\302c\210\303\304\305\306N\"c\210\307\310\")\207" [landmark-directions "*landmark-smell*" "==============================\n" format "tree: %S \n" z t mapc landmark-print-smell-int] 4 nil nil])
#@18 

(fn DIRECTION)
(defalias 'landmark-print-w0-int #[257 "\300\301\302!\303N#c\207" [format "%S: w0: %S \n" symbol-name w0] 6 (#$ . 30151)])
(defalias 'landmark-print-w0 #[0 "r\301q\210\302c\210\303\304\")\207" [landmark-directions "*landmark-w0*" "==============================\n" mapc landmark-print-w0-int] 3 nil nil])
(defalias 'landmark-blackbox #[0 "r\301q\210\302c\210\303c\210\304\305\"\210\306c\210\307c\210\304\310\"\210\306c\210\311 \210\312\313\314\315N\314\316NZ\"c\210\317 \210\306c)\207" [landmark-directions "*landmark-blackbox*" "==============================\n" "I smell: " mapc #[257 "\211\300N\301V\205
\302\303\"c\207" [smell 0 format "%S "] 4 "\n\n(fn DIRECTION)"] "\n" "I move: " #[257 "\211\300N\301V\205
\302\303\"c\207" [y_t 0 format "%S "] 4 "\n\n(fn DIRECTION)"] landmark-print-wts-blackbox format "z_t-z_t-1: %S" z t t-1 landmark-print-distance] 5])
(defalias 'landmark-print-wts-blackbox #[0 "\301\302\"\207" [landmark-directions mapc landmark-print-wts-int] 3 nil nil])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\307\310\311&\210\300\315\302\303\316DD\317\306\307\310\311&\207" [custom-declare-variable landmark-bound funcall function #[0 "\300\207" [0.005] 1] "The maximum that w0j may be." :type number :group landmark landmark-c #[0 "\300\207" [1.0] 1] "A factor applied to modulate the increase in wij.\nUsed in the function landmark-update-normal-weights." landmark-c-naught #[0 "\300\207" [0.5] 1] "A factor applied to modulate the increase in w0j.\nUsed in the function landmark-update-naught-weights."] 8)
(defvar landmark-initial-w0 0.0)
(defvar landmark-initial-wij 0.0)
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\307\310\311&\207" [custom-declare-variable landmark-no-payoff funcall function #[0 "\300\207" [0] 1] "The amount of simulation cycles that have occurred with no movement.\nUsed to move the robot when he is stuck in a rut for some reason." :type integer :group landmark landmark-max-stall-time #[0 "\300\207" [2] 1] "The maximum number of cycles that the robot can remain stuck in a place.\nAfter this limit is reached, landmark-random-move is called to push him out of it."] 8)
(defalias 'landmark-flip-a-coin #[0 "\300\301!\302V\203\n\303\207\304\207" [random 5000 2500 -1 1] 2])
#@18 

(fn DIRECTION)
(defalias 'landmark-randomize-weights-for #[257 "\301\302\303\304\305\306!\307\"\310\311%\"\207" [landmark-directions mapc make-byte-code 257 "\301\300\302 \303\304!\305\245_#\207" vconcat vector [put landmark-flip-a-coin random 10000 10000.0] 7 "\n\n(fn TARGET-DIRECTION)"] 8 (#$ . 32504)])
(defalias 'landmark-noise #[0 "\301\302!\303\245S_\207" [landmark-nvar random 30001 15000.0] 2])
#@18 

(fn DIRECTION)
(defalias 'landmark-fix-weights-for #[257 "\301\302\303\304\305\306!\307\"\310\311%\"\207" [landmark-directions mapc make-byte-code 257 "\302\300	#\207" vconcat vector [landmark-initial-wij put] 5 "\n\n(fn TARGET-DIRECTION)"] 8 (#$ . 32921)])
#@12 

(fn SYM)
(defalias 'landmark-plot-internal #[257 "\300\301\302N\303N\"\304N\"\207" [landmark-plot-square landmark-xy-to-index x y sym] 6 (#$ . 33191)])
(defalias 'landmark-plot-landmarks #[0 "\304\245\n\304\245\305\306\307	#\210\305\306\310\311#\210\305\306\312\304#\210\305\313\307	#\210\305\313\310#\210\305\313\312\314#\210\305\315\307	#\210\305\315\310\n#\210\305\315\312\316#\210\305\317\307\311#\210\305\317\310\n\304\245#\210\305\317\312\320#\210\305\321\307#\210\305\321\310\n\304\245#\210\305\321\312\322#\210\323\324\325\"\207" [landmark-board-width landmark-cx landmark-board-height landmark-cy 2 put landmark-n x y 1 sym landmark-tree 6 landmark-s 3 landmark-w 5 landmark-e 4 mapc landmark-plot-internal (landmark-n landmark-s landmark-e landmark-w landmark-tree)] 5])
#@18 

(fn X X0 Y Y0)
(defalias 'landmark--distance #[1028 "ZZ\300\211_\211_\\!\207" [sqrt] 10 (#$ . 33988)])
#@18 

(fn DIRECTION)
(defalias 'landmark-calc-distance-of-robot-from #[257 "\300\301\302\303N\304\305 !\306N\307\305 !$#\207" [put distance landmark--distance x landmark-index-to-x landmark-point-square y landmark-index-to-y] 10 (#$ . 34105)])
#@12 

(fn SYM)
(defalias 'landmark-calc-smell-internal #[257 "\211\300N\301!\302\303\245Z_\304V\203\305\303\245Z_\202\304\207" [r landmark-calc-distance-of-robot-from 0.5 1 0 0.5] 7 (#$ . 34355)])
#@10 

(fn X)
(defalias 'landmark-f #[257 "\211V\203\207\211\301W\203\302\207\207" [landmark-bound 0.0 0.0] 3 (#$ . 34563)])
#@18 

(fn DIRECTION)
(defalias 'landmark-y #[257 "\300\301\302 #\210\300\303\304N\305V\203\306\202\307#\207" [put noise landmark-noise y_t s 0.0 1.0 0.0] 6 (#$ . 34695)])
#@18 

(fn DIRECTION)
(defalias 'landmark-update-normal-weights #[257 "\301\302\303\304\305\306!\307\"\310\311%\"\207" [landmark-directions mapc make-byte-code 257 "\302\300\300N\303	\304\305N\304\306NZ\307N\300\310N$\\#\207" vconcat vector [landmark-c put * z t t-1 y_t smell] 11 "\n\n(fn TARGET-DIRECTION)"] 8 (#$ . 34875)])
#@18 

(fn DIRECTION)
(defalias 'landmark-update-naught-weights #[257 "\301\302\303\304\305\306!\307\"\310\311%\"\207" [landmark-directions mapc make-byte-code 257 "\302\300\303\304\300\303N\305	\306\307N\306\310NZ\300\311N#\\!#\207" vconcat vector [landmark-c-naught put w0 landmark-f * z t t-1 y_t] 11 "\n\n(fn TARGET-DIRECTION)"] 8 (#$ . 35210)])
(defalias 'landmark-calc-current-smells #[0 "\301\302\"\207" [landmark-directions mapc #[257 "\300\301\302!#\207" [put smell landmark-calc-smell-internal] 6 "\n\n(fn DIRECTION)"]] 3])
(defalias 'landmark-calc-payoff #[0 "\301\302\303\302\304N#\210\301\302\304\305\306!#\210\302\304N\302\303NZ\307U\203!T\211\207\310\211\207" [landmark-no-payoff put z t-1 t landmark-calc-smell-internal landmark-tree 0.0 0] 5])
(defalias 'landmark-store-old-y_t #[0 "\301\302\"\207" [landmark-directions mapc #[257 "\300\301\302N#\207" [put y_t-1 y_t] 6 "\n\n(fn DIRECTION)"]] 3])
#@25 

(fn TARGET-DIRECTION)
(defalias 'landmark-confidence-for #[257 "\301\302\303N\304\305\306\307\310\311	!\312\"\313\314%\"#\207" [landmark-directions apply + w0 mapcar make-byte-code 257 "\211\300N\301N_\207" vconcat vector [smell] 4 "\n\n(fn DIRECTION)"] 11 (#$ . 36138)])
(defalias 'landmark-calc-confidences #[0 "\301\302\"\207" [landmark-directions mapc #[257 "\300\301\302!#\207" [put s landmark-confidence-for] 6 "\n\n(fn DIRECTION)"]] 3])
(defalias 'landmark-move #[0 "\305\306N\307U\203\310\306N\311U\203\312\313\"\210	\203\314\315!\210\316\306N\317U\203:\320\306N\321U\203:\312\322\n\"\210	\203:\314\323!\210\312\324\325\"\210\326\327 \330\"\210T\f\205P\314\331\"\207" [landmark-ns landmark-debug landmark-ew landmark-number-of-moves landmark-output-moves landmark-n y_t 1.0 landmark-s 1.0 mapc #[257 "\300\301\302#\207" [put y_t 0] 5 "\n\n(fn DIR)"] message "n-s normalization." landmark-w 1.0 landmark-e 1.0 #[257 "\300\301\302#\207" [put y_t 0] 5 "\n\n(fn DIR)"] "e-w normalization" #[257 "\211@\300N\301V\205\211A@ \210\302 \207" [y_t 0 landmark--intangible] 3 "\n\n(fn PAIR)"] ((landmark-n landmark-move-up) (landmark-s landmark-move-down) (landmark-e forward-char) (landmark-w backward-char)) landmark-plot-square landmark-point-square 1 "Moves made: %d"] 3])
(defalias 'landmark-random-move #[0 "\302\303\"\210\304\305!	8\211\203\211@\306\307\310#\210A\266\202\202\n\210\311 \207" [landmark-directions landmark-8-directions mapc #[257 "\300\301\302#\207" [put y_t 0] 5 "\n\n(fn DIRECTION)"] random 8 put y_t 1.0 landmark-move] 6])
(defalias 'landmark-amble-robot #[0 "\304\305!\306V\203<\307 \210\310 \210	V\203\311 \210\202%\312 \210\313\314\n\"\210\315 \210\316 \210\313\317\n\"\210\313\320\n\"\210\203\321 \210\202\322\323!\207" [landmark-no-payoff landmark-max-stall-time landmark-directions landmark-debug landmark-calc-distance-of-robot-from landmark-tree 0 landmark-store-old-y_t landmark-calc-current-smells landmark-random-move landmark-calc-confidences mapc landmark-y landmark-move landmark-calc-payoff landmark-update-normal-weights landmark-update-naught-weights landmark-weights-debug landmark-terminate-game nil] 3 nil nil])
#@186 Signal to the Landmark program that you have played.
You must have put the cursor on the square where you want to play.
If the game is finished, this command requests for another game.
(defalias 'landmark-start-robot #[0 "\304 \210\203\n\305 \207	\204\306 \207\307 \211\204\310\311!\202P\nH\312U\204+\310\313!\202P\314\315\"\210\316 \210\317 \210\320\321\322\323\324!#\210\325 \210\326 \210\327\330\"\210\327\331\"\210\332 \207" [landmark-emacs-is-computing landmark-game-in-progress landmark-board landmark-directions landmark-switch-to-window landmark-crash-game landmark-prompt-for-other-game landmark-point-square error "Your point is not on a square. Retry!" 0 "Your point is not on a free square. Retry!" landmark-plot-square 1 landmark-store-old-y_t landmark-calc-current-smells put z t landmark-calc-smell-internal landmark-tree landmark-random-move landmark-calc-payoff mapc landmark-update-normal-weights landmark-update-naught-weights landmark-amble-robot] 6 (#$ . 38343) nil])
(defvar landmark-tree-r "")
#@32 

(fn AUTO-START SAVE-WEIGHTS)
(defalias 'landmark-init #[514 "\306\307 \210	\203@r\310\311!q\210\312 \210\310\313!q\210\310\314!q\210\312 \210\310\315!q\210\312 \210\310\316!q\210\312 \210\310\317!q\210\312 \210\310\320!q\210\312 \210)\321 \210\n\211\203W\211@\322\323\324#\210A\266\202\202D\210\211\204y\325\326\n\"\210\n\211\203u\211@\322\327#\210A\266\202\202b\210\202}\330\331!\210\205\216\332\333\f!T\333
!T\"\210\334 \207" [landmark-number-of-moves landmark-debug landmark-directions landmark-initial-w0 landmark-board-width landmark-board-height 0 landmark-plot-landmarks get-buffer-create "*landmark-w0*" erase-buffer "*landmark-moves*" "*landmark-wts*" "*landmark-y,s,noise*" "*landmark-smell*" "*landmark-blackbox*" "*landmark-distance*" landmark-set-landmark-signal-strengths put y_t 0.0 mapc landmark-fix-weights-for w0 message "Weights preserved for this run." landmark-goto-xy random landmark-start-robot] 8 (#$ . 39379)])
(defalias 'landmark-set-landmark-signal-strengths #[0 "\305\211_	\211_\\!\306_\307\310\"\210\307\311\f\"\210\312\313\314\n#\207" [landmark-cx landmark-cy landmark-tree-r landmark-ew landmark-ns sqrt 1.5 mapc #[257 "\301\302\303_#\207" [landmark-cx put r 1.1] 6 "\n\n(fn DIRECTION)"] #[257 "\301\302\303_#\207" [landmark-cy put r 1.1] 6 "\n\n(fn DIRECTION)"] put landmark-tree r] 4])
(defalias 'landmark-repeat 'landmark-test-run)
#@78 Run 100 Landmark games, each time saving the weights from the previous game.
(defalias 'landmark-test-run #[0 "\300\301!\210\302\303\211W\205\211\300\304!\266\211T\262\202\207" [landmark 1 100 0 2] 5 (#$ . 40775) nil])
#@637 Start or resume an Landmark game.
If a game is in progress, this command allows you to resume it.
Here is the relation between prefix args and game options:

prefix arg | robot is auto-started | weights are saved from last game
---------------------------------------------------------------------
none / 1   | yes                   | no
       2   | yes                   | yes
       3   | no                    | yes
       4   | no                    | no

You start by moving to a square and typing \[landmark-start-robot],
if you did not use a prefix arg to ask for automatic start.
Use \[describe-mode] for more info.

(fn PARG)
(defalias 'landmark #[257 "\306\211\307 \210\n\203\310 \207\203\f\311X\205\241\312 \313 \204\"	\204(\211\314W\2035\315\316!\210\202M	\314W\203B\315\317!\210\202MV\203M\315\320\"\210	V\203d	
=\204d\321\322\323	\"!\204d\211\266 \203o\324\325!\210\326	\"\210\327\330\314U\203\200\331\202\237\311U\203\212\332\202\237\333U\203\224\334\202\237\335U\203\236\336\202\237\337B!\207" [landmark-n landmark-m landmark-emacs-is-computing landmark-game-in-progress landmark-number-of-moves landmark-saved-board-height nil landmark-switch-to-window landmark-crash-game 2 landmark-max-width landmark-max-height 1 error "I need at least 1 column" "I need at least 1 row" "I cannot display %d columns in that window" y-or-n-p format "Do you really want %d rows? " message "One moment, please..." landmark-start-game eval landmark-init (t nil) (t t) 3 (nil t) 4 (nil nil) (nil t) landmark-one-moment-please] 8 (#$ . 41008) "p"])
(provide 'landmark)

Zerion Mini Shell 1.0