%PDF- %PDF-
Mini Shell

Mini Shell

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

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


#@31 Version number of bubbles.el.
(defconst bubbles-version "0.5" (#$ . 408))
(byte-code "\300\301!\210\302\303\304\305\306DD\307\310\311\312\313&\207" [require gamegrid custom-declare-variable bubbles-game-theme funcall function #[0 "\300\207" [easy] 1] "Overall game theme.\nThe overall game theme specifies a grid size, a set of colors,\nand a shift mode." :type (radio (const :tag "Easy" easy) (const :tag "Medium" medium) (const :tag "Difficult" difficult) (const :tag "Hard" hard) (const :tag "User defined" user-defined)) :group bubbles] 8)
#@27 Set game theme to `easy'.
(defalias 'bubbles-set-game-easy #[0 "\301\302 \207" [bubbles-game-theme easy bubbles] 1 (#$ . 959) nil])
#@29 Set game theme to `medium'.
(defalias 'bubbles-set-game-medium #[0 "\301\302 \207" [bubbles-game-theme medium bubbles] 1 (#$ . 1098) nil])
#@32 Set game theme to `difficult'.
(defalias 'bubbles-set-game-difficult #[0 "\301\302 \207" [bubbles-game-theme difficult bubbles] 1 (#$ . 1244) nil])
#@27 Set game theme to `hard'.
(defalias 'bubbles-set-game-hard #[0 "\301\302 \207" [bubbles-game-theme hard bubbles] 1 (#$ . 1399) nil])
#@35 Set game theme to `user-defined'.
(defalias 'bubbles-set-game-userdefined #[0 "\301\302 \207" [bubbles-game-theme user-defined bubbles] 1 (#$ . 1539) nil])
(byte-code "\300\301\302\303\304\305%\210\306\307\310\311\312DD\313\314\315%\207" [custom-declare-group bubbles nil "Bubbles, a puzzle game." :group games custom-declare-variable bubbles-graphics-theme funcall function #[0 "\300\207" [circles] 1] "Graphics theme.\nIt is safe to choose a graphical theme.  If Emacs cannot display\nimages the `ascii' theme will be used." :type (radio (const :tag "Circles" circles) (const :tag "Squares" squares) (const :tag "Diamonds" diamonds) (const :tag "Balls" balls) (const :tag "Emacs" emacs) (const :tag "ASCII (no images)" ascii))] 6)
#@32 Predefined small bubbles grid.
(defconst bubbles--grid-small '(10 . 10) (#$ . 2279))
#@33 Predefined medium bubbles grid.
(defconst bubbles--grid-medium '(15 . 10) (#$ . 2370))
#@32 Predefined large bubbles grid.
(defconst bubbles--grid-large '(20 . 15) (#$ . 2463))
#@31 Predefined huge bubbles grid.
(defconst bubbles--grid-huge '(30 . 20) (#$ . 2554))
(byte-code "\304\305\306\307\310DD\311\312\313\314\315\316F\314\315\317	F\314\315\320\nF\314\315\321F\322BBBBB%\207" [bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge custom-declare-variable bubbles-grid-size funcall function #[0 "\207" [bubbles--grid-medium] 1] "Size of bubbles grid." :type radio const :tag "Small" "Medium" "Large" "Huge" ((cons :tag "User defined" (integer :tag "Width") (integer :tag "Height")))] 13)
#@48 Predefined bubbles color list with two colors.
(defconst bubbles--colors-2 '("orange" "violet") (#$ . 3100))
#@50 Predefined bubbles color list with three colors.
(defconst bubbles--colors-3 '("lightblue" "palegreen" "pink") (#$ . 3215))
#@49 Predefined bubbles color list with four colors.
(defconst bubbles--colors-4 '("firebrick" "sea green" "steel blue" "chocolate") (#$ . 3345))
#@49 Predefined bubbles color list with five colors.
(defconst bubbles--colors-5 '("firebrick" "sea green" "steel blue" "sandy brown" "bisque3") (#$ . 3492))
(byte-code "\304\305\306\307\310DD\311\312\313\314\315\316F\314\315\317	F\314\315\320\nF\314\315\321F\322BBBBB%\210\304\323\306\307\324DD\325\312\326%\210\304\327\306\307\330DD\331\312\332%\210\304\333\306\307\334DD\335\312\336%\207" [bubbles--colors-2 bubbles--colors-3 bubbles--colors-4 bubbles--colors-5 custom-declare-variable bubbles-colors funcall function #[0 "\207" [bubbles--colors-3] 1] "List of bubble colors.\nThe length of this list determines how many different bubble\ntypes are present." :type radio const :tag "Red, darkgreen" "Red, darkgreen, blue" "Red, darkgreen, blue, orange" "Red, darkgreen, blue, orange, violet" ((repeat :tag "User defined" color)) bubbles-chars #[0 "\300\207" [(43 79 35 88 46 42 38 167)] 1] "Characters used for bubbles.\nNote that the actual number of different bubbles is determined by\nthe number of colors, see `bubbles-colors'." (repeat character) bubbles-shift-mode #[0 "\300\207" [default] 1] "Shift mode.\nAvailable modes are `shift-default' and `shift-always'." (radio (const :tag "Default" default) (const :tag "Shifter" always)) bubbles-mode-hook #[0 "\300\207" [nil] 1] "Hook run by Bubbles mode." hook] 13)
#@40 Open customization buffer for bubbles.
(defalias 'bubbles-customize #[0 "\300\301!\207" [customize-group bubbles] 2 (#$ . 4818) nil])
#@24 Current Bubbles score.
(defvar bubbles--score 0 (#$ . 4958))
#@39 Score of active bubbles neighborhood.
(defvar bubbles--neighborhood-score 0 (#$ . 5025))
#@31 List of currently used faces.
(defvar bubbles--faces nil (#$ . 5120))
#@24 Play status indicator.
(defvar bubbles--playing nil (#$ . 5196))
#@52 Image used for removed bubbles (empty grid cells).
(defvar bubbles--empty-image nil (#$ . 5267))
#@29 List of images for bubbles.
(defvar bubbles--images nil (#$ . 5370))
#@57 Indicate whether images have been created successfully.
(defvar bubbles--images-ok nil (#$ . 5445))
#@62 Horizontal offset for centering the bubbles grid, in pixels.
(defvar bubbles--col-offset 0 (#$ . 5551))
#@60 Vertical offset for centering the bubbles grid, in pixels.
(defvar bubbles--row-offset 0 (#$ . 5661))
#@59 List containing bubbles save data (SCORE BUFFERCONTENTS).
(defvar bubbles--save-data nil (#$ . 5769))
(defconst bubbles--image-template-circle "/* XPM */\nstatic char * dot_xpm[] = {\n\"20 20 2 1\",\n\" 	c None\",\n\".	c #FFFFFF\",\n\"       ......       \",\n\"     ..........     \",\n\"   ..............   \",\n\"  ................  \",\n\"  ................  \",\n\" .................. \",\n\" .................. \",\n\"....................\",\n\"....................\",\n\"....................\",\n\"....................\",\n\"....................\",\n\"....................\",\n\" .................. \",\n\" .................. \",\n\"  ................  \",\n\"  ................  \",\n\"   ..............   \",\n\"     ..........     \",\n\"       ......       \"};")
(defconst bubbles--image-template-square "/* XPM */\nstatic char * dot_xpm[] = {\n\"20 20 2 1\",\n\"0	c None\",\n\"1	c #FFFFFF\",\n\"00000000000000000000\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"00000000000000000000\"};")
(defconst bubbles--image-template-diamond "/* XPM */\nstatic char * dot_xpm[] = {\n\"20 20 2 1\",\n\"0	c None\",\n\"1	c #FFFFFF\",\n\"00000000011000000000\",\n\"00000000111100000000\",\n\"00000001111110000000\",\n\"00000011111111000000\",\n\"00000111111111100000\",\n\"00001111111111110000\",\n\"00011111111111111000\",\n\"00111111111111111100\",\n\"01111111111111111110\",\n\"11111111111111111111\",\n\"01111111111111111110\",\n\"00111111111111111100\",\n\"00011111111111111000\",\n\"00001111111111110000\",\n\"00000111111111100000\",\n\"00000011111111000000\",\n\"00000001111110000000\",\n\"00000000111100000000\",\n\"00000000011000000000\",\n\"00000000000000000000\"};")
(defconst bubbles--image-template-emacs "/* XPM */\nstatic char * emacs_24_xpm[] = {\n\"24 24 129 2\",\n\"  	c None\",\n\". 	c #837DA4\",\n\"+ 	c #807AA0\",\n\"@ 	c #9894B2\",\n\"# 	c #CCCAD9\",\n\"$ 	c #C2C0D2\",\n\"% 	c #B6B3C9\",\n\"& 	c #A19DB9\",\n\"* 	c #8681A5\",\n\"= 	c #7D779B\",\n\"- 	c #B6B3C7\",\n\"; 	c #ABA7BE\",\n\"> 	c #9792AF\",\n\", 	c #AAA6BD\",\n\"' 	c #CBC9D7\",\n\") 	c #AAA7BE\",\n\"! 	c #908BAA\",\n\"~ 	c #797397\",\n\"{ 	c #948FAC\",\n\"] 	c #9A95B1\",\n\"^ 	c #EBEAEF\",\n\"/ 	c #F1F1F5\",\n\"( 	c #BCB9CB\",\n\"_ 	c #A9A5BD\",\n\": 	c #757093\",\n\"< 	c #918DA9\",\n\"[ 	c #DDDBE4\",\n\"} 	c #FFFFFF\",\n\"| 	c #EAE9EF\",\n\"1 	c #A7A4BA\",\n\"2 	c #716C8F\",\n\"3 	c #8D89A5\",\n\"4 	c #9C98B1\",\n\"5 	c #DBDAE3\",\n\"6 	c #A4A1B7\",\n\"7 	c #6E698A\",\n\"8 	c #8B87A1\",\n\"9 	c #928EA7\",\n\"0 	c #C5C3D1\",\n\"a 	c #F8F8F9\",\n\"b 	c #CCCAD6\",\n\"c 	c #A29FB4\",\n\"d 	c #6A6585\",\n\"e 	c #88849D\",\n\"f 	c #B5B2C2\",\n\"g 	c #F0F0F3\",\n\"h 	c #E1E0E6\",\n\"i 	c #A5A2B5\",\n\"j 	c #A09DB1\",\n\"k 	c #676281\",\n\"l 	c #85819A\",\n\"m 	c #9591A7\",\n\"n 	c #E1E0E5\",\n\"o 	c #F0EFF2\",\n\"p 	c #B3B0C0\",\n\"q 	c #9D9AAE\",\n\"r 	c #635F7C\",\n\"s 	c #827F96\",\n\"t 	c #9997AA\",\n\"u 	c #F7F7F9\",\n\"v 	c #C8C7D1\",\n\"w 	c #89869D\",\n\"x 	c #9B99AB\",\n\"y 	c #5F5B78\",\n\"z 	c #7F7C93\",\n\"A 	c #CFCDD6\",\n\"B 	c #B7B5C2\",\n\"C 	c #9996A9\",\n\"D 	c #5C5873\",\n\"E 	c #7A778D\",\n\"F 	c #F5F5F6\",\n\"G 	c #8E8C9E\",\n\"H 	c #7D798F\",\n\"I 	c #58546F\",\n\"J 	c #6C6981\",\n\"K 	c #D5D4DB\",\n\"L 	c #F5F4F6\",\n\"M 	c #9794A5\",\n\"N 	c #625F78\",\n\"O 	c #79768C\",\n\"P 	c #55516A\",\n\"Q 	c #605C73\",\n\"R 	c #CAC9D1\",\n\"S 	c #EAE9EC\",\n\"T 	c #B4B3BE\",\n\"U 	c #777488\",\n\"V 	c #514E66\",\n\"W 	c #DEDEE2\",\n\"X 	c #F4F4F5\",\n\"Y 	c #9D9BA9\",\n\"Z 	c #747185\",\n\"` 	c #4E4B62\",\n\" .	c #DEDDE1\",\n\"..	c #A6A5B0\",\n\"+.	c #716F81\",\n\"@.	c #4A475D\",\n\"#.	c #A4A3AE\",\n\"$.	c #F4F3F5\",\n\"%.	c #777586\",\n\"&.	c #6E6C7D\",\n\"*.	c #464358\",\n\"=.	c #514E62\",\n\"-.	c #B9B8C0\",\n\";.	c #D1D0D5\",\n\">.	c #747282\",\n\",.	c #6B6979\",\n\"'.	c #434054\",\n\").	c #5A5769\",\n\"!.	c #D0CFD4\",\n\"~.	c #5B5869\",\n\"{.	c #696676\",\n\"].	c #403D50\",\n\"^.	c #DBDADE\",\n\"/.	c #F3F3F4\",\n\"(.	c #646271\",\n\"_.	c #666473\",\n\":.	c #3D3A4C\",\n\"<.	c #555362\",\n\"[.	c #9E9DA6\",\n\"}.	c #9E9CA5\",\n\"|.	c #646170\",\n\"1.	c #393647\",\n\"2.	c #514E5D\",\n\"3.	c #83818C\",\n\"4.	c #A8A7AE\",\n\"5.	c #E6E6E8\",\n\"6.	c #DAD9DC\",\n\"7.	c #353343\",\n\"8.	c #32303E\",\n\"      . . . . . . . . . . . . . . . . . .       \",\n\"  + @ # $ % % % % % % % % % % % % % % & * + +   \",\n\"  = - ; > > > > > > > > , ' ) > > > > > > ! =   \",\n\"~ ~ { { { { { { { { { { { ] ^ / ( { { { { _ ~ ~ \",\n\": : < < < < < < < < < < < < [ } } | < < < 1 : : \",\n\"2 2 3 3 3 3 3 3 3 3 3 3 4 5 } } } 5 3 3 3 6 2 2 \",\n\"7 7 8 8 8 8 8 8 8 8 9 0 a } } } b 8 8 8 8 c 7 7 \",\n\"d d e e e e e e e f g } } } h i e e e e e j d d \",\n\"k k l l l l l m n } } } o p l l l l l l l q k k \",\n\"r r s s s s t u } } } v w s s s s s s s s x r r \",\n\"y y z z z z A } } } B z z z z z z z z z z C y y \",\n\"D D D D D D E F } } G D D D D D D D D D D H D D \",\n\"I I I I I I I J K } L M N I I I I I I I I O I I \",\n\"P P P P P P Q R } } } S T P P P P P P P P U P P \",\n\"V V V V V V W } } X Y V V V V V V V V V V Z V V \",\n\"` ` ` ` ` `  .} } ..` ` ` ` ` ` ` ` ` ` ` +.` ` \",\n\"@.@.@.@.@.@.@.#.$.$.%.@.@.@.@.@.@.@.@.@.@.&.@.@.\",\n\"*.*.*.*.*.*.*.*.=.-.} ;.>.*.*.*.*.*.*.*.*.,.*.*.\",\n\"'.'.'.'.'.'.'.'.'.'.).!.} !.~.'.'.'.'.'.'.{.'.'.\",\n\"].].].].].].].].].].].].^.} /.(.].].].].]._.].].\",\n\":.:.:.:.:.:.:.:.:.:.<.[./.} } }.:.:.:.:.:.|.:.:.\",\n\"  1.1.1.1.1.1.1.1.2.3.4.5.6.3.1.1.1.1.1.1.1.1.  \",\n\"  7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.  \",\n\"      8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.      \"};")
(defconst bubbles--image-template-ball "/* XPM */\nstatic char * dot3d_xpm[] = {\n\"20 20 190 2\",\n\"  	c None\",\n\". 	c #F9F6F6\",\n\"+ 	c #D6D0D0\",\n\"@ 	c #BFBBBB\",\n\"# 	c #AAA4A4\",\n\"$ 	c #ABAAAB\",\n\"% 	c #A8A8A8\",\n\"& 	c #A29D9D\",\n\"* 	c #B5B2B2\",\n\"= 	c #CDC9C9\",\n\"- 	c #D7D0D0\",\n\"; 	c #B3AFAF\",\n\"> 	c #B5B5B5\",\n\", 	c #B7B7B7\",\n\"' 	c #B8B8B8\",\n\") 	c #B6B6B6\",\n\"! 	c #B3B3B3\",\n\"~ 	c #AFAFAF\",\n\"{ 	c #A9A9A9\",\n\"] 	c #A2A2A2\",\n\"^ 	c #9C9A9A\",\n\"/ 	c #C9C5C5\",\n\"( 	c #FDFBFB\",\n\"_ 	c #C3BCBC\",\n\": 	c #BBBBBB\",\n\"< 	c #C0C0C0\",\n\"[ 	c #C3C2C2\",\n\"} 	c #C3C3C3\",\n\"| 	c #C2C2C2\",\n\"1 	c #BEBEBE\",\n\"2 	c #B9B9B9\",\n\"3 	c #B2B2B2\",\n\"4 	c #ABAAAA\",\n\"5 	c #999999\",\n\"6 	c #ACA7A7\",\n\"7 	c #C2BBBB\",\n\"8 	c #C5C5C5\",\n\"9 	c #CACBCB\",\n\"0 	c #CECECE\",\n\"a 	c #CFCFCF\",\n\"b 	c #CDCDCD\",\n\"c 	c #C8C9C9\",\n\"d 	c #9F9F9F\",\n\"e 	c #959595\",\n\"f 	c #A9A5A5\",\n\"g 	c #D5CFCE\",\n\"h 	c #BDBDBD\",\n\"i 	c #C6C6C6\",\n\"j 	c #D5D5D5\",\n\"k 	c #D9D9D9\",\n\"l 	c #DADADA\",\n\"m 	c #D8D8D8\",\n\"n 	c #D2D2D2\",\n\"o 	c #CBCBCB\",\n\"p 	c #A4A4A5\",\n\"q 	c #9A9A9A\",\n\"r 	c #8F8F8F\",\n\"s 	c #C3BFBF\",\n\"t 	c #AFACAB\",\n\"u 	c #CCCCCC\",\n\"v 	c #D6D6D6\",\n\"w 	c #DEDEDE\",\n\"x 	c #E4E4E4\",\n\"y 	c #E5E5E5\",\n\"z 	c #E2E2E2\",\n\"A 	c #DBDBDB\",\n\"B 	c #C9C8C8\",\n\"C 	c #A8A9A8\",\n\"D 	c #9D9E9D\",\n\"E 	c #929292\",\n\"F 	c #8A8888\",\n\"G 	c #D3CECE\",\n\"H 	c #B0B0B0\",\n\"I 	c #D1D1D1\",\n\"J 	c #DCDCDC\",\n\"K 	c #E6E6E6\",\n\"L 	c #EEEEEE\",\n\"M 	c #F1F1F0\",\n\"N 	c #EBEBEB\",\n\"O 	c #D7D7D8\",\n\"P 	c #ABABAB\",\n\"Q 	c #A0A0A0\",\n\"R 	c #949494\",\n\"S 	c #898989\",\n\"T 	c #C0BDBD\",\n\"U 	c #B9B6B6\",\n\"V 	c #B1B1B1\",\n\"W 	c #BCBCBC\",\n\"X 	c #C8C8C8\",\n\"Y 	c #D3D3D3\",\n\"Z 	c #DFDFDE\",\n\"` 	c #EAEAEA\",\n\" .	c #F5F5F5\",\n\"..	c #FAFAFA\",\n\"+.	c #F1F1F1\",\n\"@.	c #CECFCF\",\n\"#.	c #ACACAC\",\n\"$.	c #A1A1A1\",\n\"%.	c #8A8A8A\",\n\"&.	c #9B9999\",\n\"*.	c #C7C7C7\",\n\"=.	c #DDDDDD\",\n\"-.	c #E8E8E8\",\n\";.	c #F2F2F2\",\n\">.	c #898A89\",\n\",.	c #7A7878\",\n\"'.	c #AEAEAE\",\n\").	c #C4C4C4\",\n\"!.	c #CBCBCA\",\n\"~.	c #AAAAAA\",\n\"{.	c #939393\",\n\"].	c #888888\",\n\"^.	c #7C7C7C\",\n\"/.	c #AAAAAB\",\n\"(.	c #BFBFBF\",\n\"_.	c #C9C9C9\",\n\":.	c #DFDEDF\",\n\"<.	c #A6A6A6\",\n\"[.	c #9B9B9B\",\n\"}.	c #909191\",\n\"|.	c #858586\",\n\"1.	c #797979\",\n\"2.	c #989494\",\n\"3.	c #A5A6A5\",\n\"4.	c #B9B9B8\",\n\"5.	c #C1C1C1\",\n\"6.	c #CFCFCE\",\n\"7.	c #979797\",\n\"8.	c #8D8D8D\",\n\"9.	c #828282\",\n\"0.	c #747171\",\n\"a.	c #ADAAAA\",\n\"b.	c #A9A8A9\",\n\"c.	c #B8B9B9\",\n\"d.	c #A5A5A5\",\n\"e.	c #9C9C9C\",\n\"f.	c #7E7E7D\",\n\"g.	c #929191\",\n\"h.	c #C9C4C4\",\n\"i.	c #989898\",\n\"j.	c #ADADAD\",\n\"k.	c #9D9D9D\",\n\"l.	c #8C8C8C\",\n\"m.	c #787878\",\n\"n.	c #B8B6B6\",\n\"o.	c #939191\",\n\"p.	c #A5A5A6\",\n\"q.	c #ABABAA\",\n\"r.	c #A8A8A9\",\n\"s.	c #A3A3A3\",\n\"t.	c #858585\",\n\"u.	c #757474\",\n\"v.	c #C5C1C1\",\n\"w.	c #969696\",\n\"x.	c #9B9B9C\",\n\"y.	c #A4A4A4\",\n\"z.	c #9E9E9E\",\n\"A.	c #939394\",\n\"B.	c #7D7D7D\",\n\"C.	c #747474\",\n\"D.	c #B7B5B5\",\n\"E.	c #A5A1A1\",\n\"F.	c #919191\",\n\"G.	c #9A9999\",\n\"H.	c #838383\",\n\"I.	c #757575\",\n\"J.	c #939090\",\n\"K.	c #A29E9E\",\n\"L.	c #868686\",\n\"M.	c #8D8D8C\",\n\"N.	c #8E8E8E\",\n\"O.	c #8D8D8E\",\n\"P.	c #8B8C8C\",\n\"Q.	c #848485\",\n\"R.	c #7F7F80\",\n\"S.	c #7A7A7A\",\n\"T.	c #737373\",\n\"U.	c #929090\",\n\"V.	c #828080\",\n\"W.	c #818181\",\n\"X.	c #808080\",\n\"Y.	c #7E7E7E\",\n\"Z.	c #737272\",\n\"`.	c #B7B4B4\",\n\" +	c #BCBABA\",\n\".+	c #959494\",\n\"++	c #747172\",\n\"@+	c #767676\",\n\"#+	c #6F6D6D\",\n\"$+	c #8F8E8E\",\n\"          . + @ # $ % & * = .           \",\n\"        - ; > , ' ) ! ~ { ] ^ /         \",\n\"    ( _ > : < [ } | 1 2 3 4 ] 5 6 (     \",\n\"    7 ) 1 8 9 0 a b c | : 3 { d e f     \",\n\"  g ! h i 0 j k l m n o | 2 ~ p q r s   \",\n\". t ' | u v w x y z A n B 1 ! C D E F . \",\n\"G H : i I J K L M N z O b | ) P Q R S T \",\n\"U V W X Y Z `  ...+.y l @.} ' #.$.e %.&.\",\n\"& H W *.n =.-.;. .L x k 0 [ , #.Q e >.,.\",\n\"] '.2 ).a k z -.` K w j !.< > ~.d {.].^.\",\n\"d /.> (._.I k =.:.J v 0 8 : V <.[.}.|.1.\",\n\"2.3.~ 4.5._.6.n Y I u i 1 > P $.7.8.9.0.\",\n\"a.d b.V c.(.).*.X i | h ) '.d.e.E ].f.g.\",\n\"h.i.$.C ~ > 2 W W : ' ! j.d.k.e l.9.m.n.\",\n\". o.i.d p.q.'.H V H j.r.s.k.e 8.t.^.u.. \",\n\"  v.r w.x.Q s.d.d.y.] z.5 A.8.t.B.C.D.  \",\n\"    E.l.F.e i.G.q 5 7.{.r %.H.^.I.J.    \",\n\"    ( K.L.%.M.N.N.O.P.S Q.R.S.T.U.(     \",\n\"        @ V.W.H.H.9.X.Y.S.I.Z.`.        \",\n\"          .  +.+++@+C.#+$+D..           \"};")
#@51 Return the grid width for the current game theme.
(defalias 'bubbles--grid-width #[0 "\306\267\202	\202\n\202\202\f\202
\202\307@\207" [bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 10 difficult 14 hard 18 user-defined 22)) nil] 2 (#$ . 16420)])
(put 'bubbles--grid-width 'byte-optimizer 'byte-compile-inline-expand)
#@52 Return the grid height for the current game theme.
(defalias 'bubbles--grid-height #[0 "\306\267\202	\202\n\202\202\f\202
\202\307A\207" [bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 10 difficult 14 hard 18 user-defined 22)) nil] 2 (#$ . 16928)])
(put 'bubbles--grid-height 'byte-optimizer 'byte-compile-inline-expand)
#@51 Return the color list for the current game theme.
(defalias 'bubbles--colors #[0 "\306\267\202	\207\n\207\207\f\207
\207\307\207" [bubbles-game-theme bubbles--colors-2 bubbles--colors-3 bubbles--colors-4 bubbles--colors-5 bubbles-colors #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 8 difficult 10 hard 12 user-defined 14)) nil] 2 (#$ . 17439)])
(put 'bubbles--colors 'byte-optimizer 'byte-compile-inline-expand)
#@51 Return the shift mode for the current game theme.
(defalias 'bubbles--shift-mode #[0 "\302\267\202\303\207\303\207\304\207\304\207	\207\305\207" [bubbles-game-theme bubbles-shift-mode #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 8 difficult 10 hard 12 user-defined 14)) default always nil] 2 (#$ . 17916)])
(put 'bubbles--shift-mode 'byte-optimizer 'byte-compile-inline-expand)
#@38 Save current customization settings.
(defalias 'bubbles-save-settings #[0 "\302\300\303D\304E\301\303	D\304E\"\210\305 \207" [bubbles-game-theme bubbles-graphics-theme custom-set-variables quote t customize-save-customized] 5 (#$ . 18358) nil])
#@60 The character used for removed bubbles (empty grid cells).
(defalias 'bubbles--empty-char #[0 "\300\207" [32] 1 (#$ . 18610)])
(put 'bubbles--empty-char 'byte-optimizer 'byte-compile-inline-expand)
#@32 Set graphics theme to `ascii'.
(defalias 'bubbles-set-graphics-theme-ascii #[0 "\301\302 \207" [bubbles-graphics-theme ascii bubbles--update-faces-or-images] 1 (#$ . 18814) nil])
#@34 Set graphics theme to `circles'.
(defalias 'bubbles-set-graphics-theme-circles #[0 "\301\302 \210\303 \207" [bubbles-graphics-theme circles bubbles--initialize-images bubbles--update-faces-or-images] 1 (#$ . 19000) nil])
#@34 Set graphics theme to `squares'.
(defalias 'bubbles-set-graphics-theme-squares #[0 "\301\302 \210\303 \207" [bubbles-graphics-theme squares bubbles--initialize-images bubbles--update-faces-or-images] 1 (#$ . 19228) nil])
#@35 Set graphics theme to `diamonds'.
(defalias 'bubbles-set-graphics-theme-diamonds #[0 "\301\302 \210\303 \207" [bubbles-graphics-theme diamonds bubbles--initialize-images bubbles--update-faces-or-images] 1 (#$ . 19456) nil])
#@32 Set graphics theme to `balls'.
(defalias 'bubbles-set-graphics-theme-balls #[0 "\301\302 \210\303 \207" [bubbles-graphics-theme balls bubbles--initialize-images bubbles--update-faces-or-images] 1 (#$ . 19687) nil])
#@32 Set graphics theme to `emacs'.
(defalias 'bubbles-set-graphics-theme-emacs #[0 "\301\302 \210\303 \207" [bubbles-graphics-theme emacs bubbles--initialize-images bubbles--update-faces-or-images] 1 (#$ . 19909) nil])
#@34 Map for bubbles game theme menu.
(defvar bubbles-game-theme-menu (byte-code "\300\301!\302\303\304\305\306\307\310\257#\210\302\311\304\312\313\307\314\257#\210\302\315\304\316\317\307\320\257#\210\302\321\304\322\323\307\324\257#\210\302\325\304\326\327\307\330\257#\210\211\207" [make-sparse-keymap "Game Theme" define-key [bubbles-set-game-userdefined] menu-item "User defined" bubbles-set-game-userdefined :button (:radio eq bubbles-game-theme 'user-defined) [bubbles-set-game-hard] "Hard" bubbles-set-game-hard (:radio eq bubbles-game-theme 'hard) [bubbles-set-game-difficult] "Difficult" bubbles-set-game-difficult (:radio eq bubbles-game-theme 'difficult) [bubbles-set-game-medium] "Medium" bubbles-set-game-medium (:radio eq bubbles-game-theme 'medium) [bubbles-set-game-easy] "Easy" bubbles-set-game-easy (:radio eq bubbles-game-theme 'easy)] 9) (#$ . 20131))
#@38 Map for bubbles graphics theme menu.
(defvar bubbles-graphics-theme-menu (byte-code "\300\301!\302\303\304\305\306\307\310\257#\210\302\311\304\312\313\307\314\257#\210\302\315\304\316\317\307\320\257#\210\302\321\304\322\323\307\324\257#\210\302\325\304\326\327\307\330\257#\210\302\331\304\332\333\307\334\257#\210\211\207" [make-sparse-keymap "Graphics Theme" define-key [bubbles-set-graphics-theme-ascii] menu-item "ASCII" bubbles-set-graphics-theme-ascii :button (:radio eq bubbles-graphics-theme 'ascii) [bubbles-set-graphics-theme-emacs] "Emacs" bubbles-set-graphics-theme-emacs (:radio eq bubbles-graphics-theme 'emacs) [bubbles-set-graphics-theme-balls] "Balls" bubbles-set-graphics-theme-balls (:radio eq bubbles-graphics-theme 'balls) [bubbles-set-graphics-theme-diamonds] "Diamonds" bubbles-set-graphics-theme-diamonds (:radio eq bubbles-graphics-theme 'diamonds) [bubbles-set-graphics-theme-squares] "Squares" bubbles-set-graphics-theme-squares (:radio eq bubbles-graphics-theme 'squares) [bubbles-set-graphics-theme-circles] "Circles" bubbles-set-graphics-theme-circles (:radio eq bubbles-graphics-theme 'circles)] 9) (#$ . 21016))
#@23 Map for bubbles menu.
(defvar bubbles-menu (byte-code "\302\303!\304\305\306\307\310E#\210\304\311\306\312\313E#\210\304\314\315#\210\304\316\306\317\320E#\210\304\321\306\322\323E#\210\304\324\306\325E#\210\304\326\306\327	\330\331\257#\210\304\332\333#\210\304\334\306\335\336\330\337\257#\210\211\207" [bubbles-game-theme-menu bubbles-graphics-theme-menu make-sparse-keymap "Bubbles" define-key [bubbles-quit] menu-item "Quit" bubbles-quit [bubbles] "New game" bubbles [bubbles-separator-1] ("--") [bubbles-save-settings] "Save all settings" bubbles-save-settings [bubbles-customize] "Edit all settings" bubbles-customize [bubbles-game-theme-menu] "Game Theme" [bubbles-graphics-theme-menu] "Graphics Theme" :enable bubbles--playing [bubbles-separator-2] ("--") [bubbles-undo] "Undo last move" bubbles-undo (and bubbles--playing (listp buffer-undo-list))] 9) (#$ . 22180))
#@23 Mode map for bubbles.
(defvar bubbles-mode-map (byte-code "\301\302!\303\304\305#\210\303\306\307#\210\303\310\307#\210\303\311\307#\210\303\312\307#\210\303\313\307#\210\303\314\315#\210\303\316\317#\210\303\320\321#\210\303\322\323#\210\303\324\325#\210\303\326#\210\303\327\330B#\210\211\207" [bubbles-menu make-sparse-keymap bubbles-mode-map define-key "q" bubbles-quit "\n" bubbles-plop " " [double-down-mouse-1] [mouse-2] "
" "u" bubbles-undo "p" previous-line "n" next-line "f" forward-char "b" backward-char [down-mouse-3] [menu-bar Bubbles] "Bubbles"] 6) (#$ . 23074))
(defvar bubbles-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [bubbles-mode-hook variable-documentation put "Hook run after entering Bubbles mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp bubbles-mode-map definition-name bubbles-mode] 4)
(defvar bubbles-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" [bubbles-mode-abbrev-table bubbles-mode-map variable-documentation put purecopy "Keymap for `bubbles-mode'." boundp bubbles-mode-syntax-table definition-name bubbles-mode (lambda (#1=#:def-tmp-var) (defvar bubbles-mode-syntax-table #1#)) make-syntax-table "Syntax table for `bubbles-mode'." (lambda (#1#) (defvar bubbles-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `bubbles-mode'." derived-mode-parent] 5)
#@155 Major mode for playing bubbles.
\{bubbles-mode-map}

This mode runs the hook `bubbles-mode-hook', as the final or penultimate step
during initialization.
(defalias 'bubbles-mode #[0 "\306\300!\210\307\310 \210\311\312\313!\210\314\f!\210
\307\315\316 \210\317 \210\320 \210\321\322\323\307\211$\210)\324\325!\207" [delay-mode-hooks major-mode mode-name bubbles-mode-map bubbles-mode-syntax-table bubbles-mode-abbrev-table make-local-variable t kill-all-local-variables bubbles-mode "Bubbles" use-local-map set-syntax-table nil buffer-disable-undo force-mode-line-update redisplay add-hook post-command-hook bubbles--mark-neighborhood run-mode-hooks bubbles-mode-hook local-abbrev-table buffer-read-only show-trailing-whitespace] 5 (#$ . 24817) nil])
#@553 Play Bubbles game.
\<bubbles-mode-map>
The goal is to remove all bubbles with as few moves as possible.
\[bubbles-plop] on a bubble removes that bubble and all
connected bubbles of the same color.  Unsupported bubbles fall
down, and columns that do not contain any bubbles suck the
columns on its right towards the left.

\[bubbles-set-game-easy] sets the difficulty to easy.
\[bubbles-set-game-medium] sets the difficulty to medium.
\[bubbles-set-game-difficult] sets the difficulty to difficult.
\[bubbles-set-game-hard] sets the difficulty to hard.
(defalias 'bubbles #[0 "\302\303\304!!\210\203\305\306!\205\307\310\311 \207" [bubbles--playing bubbles--save-data switch-to-buffer get-buffer-create "*bubbles*" y-or-n-p "Start new game? " nil t bubbles--initialize] 3 (#$ . 25584) nil])
#@15 Quit Bubbles.
(defalias 'bubbles-quit #[0 "\300\301!\210\302 \207" [message "bubbles-quit" bury-buffer] 2 (#$ . 26387) nil])
#@125 Update horizontal and vertical offsets for centering the bubbles grid.
Set `bubbles--col-offset' and `bubbles--row-offset'.
(defalias 'bubbles--compute-offsets #[0 "\305 \205
\205
	\306=?\211\203\307\n@\310\"@\202\311\203%\211\312\\\202&\211\203/T\2020\313\314\312\315 8\315 @\316 _#\312\245]\313\314\317\315 8\315 A@\320 _#\312\245]\211\207" [bubbles--images-ok bubbles-graphics-theme bubbles--images bubbles--col-offset bubbles--row-offset display-images-p ascii image-size t 1 2 0 - window-body-pixel-edges #[0 "\306\267\202	\202\n\202\202\f\202
\202\307@\207" [bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 10 difficult 14 hard 18 user-defined 22)) nil] 2 "Return the grid width for the current game theme."] 3 #[0 "\306\267\202	\202\n\202\202\f\202
\202\307A\207" [bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 10 difficult 14 hard 18 user-defined 22)) nil] 2 "Return the grid height for the current game theme."]] 10 (#$ . 26519)])
#@22 Remove all overlays.
(defalias 'bubbles--remove-overlays #[0 "\300\301!\205\301 \207" [fboundp remove-overlays] 2 (#$ . 27852)])
#@26 Initialize Bubbles game.
(defalias 'bubbles--initialize #[0 "\305 \210\306 \210\307 \210\310\311\312!!\210\313 \210\314\315\316!\210\317 \210\320c\210\321e`\322\323\324	CDB$\210\325c\210\326 G\327 \330\211W\203}\211`\320c\210\321`\322\323\331\nCDB$\266\332 \330\211W\203p\211\333!\2118\211c\210\334`S`\335D#\266\211T\262\202N\266\325c\266\211T\262\2023\266\336c\210\321`S`\322\323\331\nCDB$\266\321ed\337\340$\210)\341 \210\342 \210\343 \210\344\330\211\"\210\314\345 \210\346 \207" [inhibit-read-only bubbles--row-offset bubbles--col-offset bubbles-chars buffer-undo-list bubbles--initialize-faces bubbles--initialize-images bubbles--remove-overlays switch-to-buffer get-buffer-create "*bubbles*" bubbles--compute-offsets t set-buffer-modified-p nil erase-buffer " " put-text-property display space :height "\n" #[0 "\306\267\202	\207\n\207\207\f\207
\207\307\207" [bubbles-game-theme bubbles--colors-2 bubbles--colors-3 bubbles--colors-4 bubbles--colors-5 bubbles-colors #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 8 difficult 10 hard 12 user-defined 14)) nil] 2 "Return the color list for the current game theme."] #[0 "\306\267\202	\202\n\202\202\f\202
\202\307A\207" [bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 10 difficult 14 hard 18 user-defined 22)) nil] 2 "Return the grid height for the current game theme."] 0 :width #[0 "\306\267\202	\202\n\202\202\f\202
\202\307@\207" [bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 10 difficult 14 hard 18 user-defined 22)) nil] 2 "Return the grid width for the current game theme."] random add-text-properties index "\n " pointer arrow bubbles-mode bubbles--reset-score bubbles--update-faces-or-images bubbles--goto force-mode-line-update redisplay] 14 (#$ . 27989)])
#@38 Prepare faces for playing `bubbles'.
(defalias 'bubbles--initialize-faces #[0 "\301\302\303\"\210\304\303\305\"\210\306 \205\307\310\311 \"\211\207" [bubbles--faces copy-face default bubbles--highlight-face set-face-background "#8080f4" display-color-p mapcar #[257 "\300\301\302\"!\303!\204\304\305\"\210\306\"\210\211\207" [intern format "bubbles--face-%s" facep copy-face default set-face-foreground] 5 "\n\n(fn COLOR)"] #[0 "\306\267\202	\207\n\207\207\f\207
\207\307\207" [bubbles-game-theme bubbles--colors-2 bubbles--colors-3 bubbles--colors-4 bubbles--colors-5 bubbles-colors #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 8 difficult 10 hard 12 user-defined 14)) nil] 2 "Return the color list for the current game theme."]] 3 (#$ . 30165)])
#@36 Return row of point POS.

(fn POS)
(defalias 'bubbles--row #[257 "\212\211b\210\300 \210\301e`\"S)\207" [beginning-of-line count-lines] 4 (#$ . 30988)])
(put 'bubbles--row 'byte-optimizer 'byte-compile-inline-expand)
#@39 Return column of point POS.

(fn POS)
(defalias 'bubbles--col #[257 "\212\211b\210iS)\207" [] 2 (#$ . 31211)])
(put 'bubbles--col 'byte-optimizer 'byte-compile-inline-expand)
#@64 Move point to bubble at coordinates ROW and COL.

(fn ROW COL)
(defalias 'bubbles--goto #[514 "\300W\206\211\300W\206\301 Y\206\211\302 Y?\205'eb\210Ty\210\211Tu\210`\207" [0 #[0 "\306\267\202	\202\n\202\202\f\202
\202\307A\207" [bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 10 difficult 14 hard 18 user-defined 22)) nil] 2 "Return the grid height for the current game theme."] #[0 "\306\267\202	\202\n\202\202\f\202
\202\307@\207" [bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 10 difficult 14 hard 18 user-defined 22)) nil] 2 "Return the grid width for the current game theme."]] 4 (#$ . 31392)])
#@55 Return character at bubble ROW and COL.

(fn ROW COL)
(defalias 'bubbles--char-at #[514 "\212\300\"\205\n`f)\207" [bubbles--goto] 5 (#$ . 32378)])
#@79 Mark direct neighbors of bubble at ROW COL with same CHAR.

(fn ROW COL CHAR)
(defalias 'bubbles--mark-direct-neighbors #[771 "\212\300\301\"\203G`f=\203G\302`\303\"\204G\304``T\305#\210\306\307\310T#\310S#\310T#\310	S		#%\262\211\262)\207" [0 bubbles--goto get-text-property active add-text-properties (active t face 'bubbles--highlight-face) + 1 bubbles--mark-direct-neighbors] 13 (#$ . 32534)])
#@103 Mark neighborhood of point.
Use optional parameter POS instead of point if given.

(fn &optional POS)
(defalias 'bubbles--mark-neighborhood #[256 "\205y\211\204`\262\3021q\211f\303`\212\211b\210\304 \210\305e`\"S)\262`\212\211b\210iS)\262\306ed\307#\210\310\203Z\203Z\311=\204Z\312#\262\211\313V\204Z\306ed\314#\210\310\262\315!\266\316ed\317\320$\210\321 \210\322\310!)\266\2040\207\323\324\"\210\325\262\207" [bubbles--playing inhibit-read-only (debug error) t beginning-of-line count-lines add-text-properties (face default active nil) 0 32 bubbles--mark-direct-neighbors 1 (face default active nil) bubbles--update-neighborhood-score put-text-property pointer arrow bubbles--update-faces-or-images sit-for message "Bubbles: Internal error %s" nil] 10 (#$ . 32968)])
#@54 Return t if another valid neighborhood is available.
(defalias 'bubbles--neighborhood-available #[0 "\3002U\212\301 \302\211W\203P\211\303 \302\211W\203G\211\304\"\211\305=\204>\211\304T\"=\2049\211\304T\"=\203>\306\300\307\"\210\266\211T\262\202\266\211T\262\202\266)\3100\207" [found #[0 "\306\267\202	\202\n\202\202\f\202
\202\307A\207" [bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 10 difficult 14 hard 18 user-defined 22)) nil] 2 "Return the grid height for the current game theme."] 0 #[0 "\306\267\202	\202\n\202\202\f\202
\202\307@\207" [bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 10 difficult 14 hard 18 user-defined 22)) nil] 2 "Return the grid width for the current game theme."] bubbles--char-at 32 throw t nil] 11 (#$ . 33771)])
#@26 Count remaining bubbles.
(defalias 'bubbles--count #[0 "\300\212\301 \300\211W\2037\211\302 \300\211W\203.\211\303\"\211\304=\204%T\262\266\211T\262\202\266\211T\262\202\266)\211\207" [0 #[0 "\306\267\202	\202\n\202\202\f\202
\202\307A\207" [bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 10 difficult 14 hard 18 user-defined 22)) nil] 2 "Return the grid height for the current game theme."] #[0 "\306\267\202	\202\n\202\202\f\202
\202\307@\207" [bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 10 difficult 14 hard 18 user-defined 22)) nil] 2 "Return the grid width for the current game theme."] bubbles--char-at 32] 10 (#$ . 34918)])
#@22 Reset bubbles score.
(defalias 'bubbles--reset-score #[0 "\302\211\303 \207" [bubbles--neighborhood-score bubbles--score 0 bubbles--update-score] 2 (#$ . 35946)])
#@42 Calculate and display new bubbles score.
(defalias 'bubbles--update-score #[0 "	\\\302 \207" [bubbles--score bubbles--neighborhood-score bubbles--show-scores] 2 (#$ . 36117)])
#@78 Calculate and display score of active neighborhood from its SIZE.

(fn SIZE)
(defalias 'bubbles--update-neighborhood-score #[257 "\211\301V\203\302S\303\"\202\304\305 \207" [bubbles--neighborhood-score 1 expt 2 0 bubbles--show-scores] 4 (#$ . 36301)])
#@25 Display current scores.
(defalias 'bubbles--show-scores #[0 "\212\304e\305\"\206	db\210\306``d|\210\307\310	\"c\210\311c\210\312`S`\313\314\315\nCDB$\210\307\316\"c\210\312`\305\306$)\266\202)\207" [inhibit-read-only bubbles--neighborhood-score bubbles--col-offset bubbles--score next-single-property-change status t format "Selected: %4d\n" " " put-text-property display space :width "Score:    %4d"] 9 (#$ . 36566)])
#@22 Finish bubbles game.
(defalias 'bubbles--game-over #[0 "\305 \210\306\211\307 \310U\203\n\311 \312 _\\\313 \210db\210\314\315c\210\316`S`\317\320\321\fCDB$\210\322c\210)\323\324\325\326\327 !\330 G\312 \311 %\n\"\207" [bubbles--playing bubbles--save-data bubbles--score inhibit-read-only bubbles--col-offset bubbles--update-faces-or-images nil bubbles--count 0 #[0 "\306\267\202	\202\n\202\202\f\202
\202\307A\207" [bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 10 difficult 14 hard 18 user-defined 22)) nil] 2 "Return the grid height for the current game theme."] #[0 "\306\267\202	\202\n\202\202\f\202
\202\307@\207" [bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 10 difficult 14 hard 18 user-defined 22)) nil] 2 "Return the grid width for the current game theme."] bubbles--show-scores t "\n " put-text-property display space :width "Game Over!" gamegrid-add-score format "bubbles-%s-%d-%d-%d-scores" symbol-name #[0 "\302\267\202\303\207\303\207\304\207\304\207	\207\305\207" [bubbles-game-theme bubbles-shift-mode #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 8 difficult 10 hard 12 user-defined 14)) default always nil] 2 "Return the shift mode for the current game theme."] #[0 "\306\267\202	\207\n\207\207\f\207
\207\307\207" [bubbles-game-theme bubbles--colors-2 bubbles--colors-3 bubbles--colors-4 bubbles--colors-5 bubbles-colors #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 8 difficult 10 hard 12 user-defined 14)) nil] 2 "Return the color list for the current game theme."]] 8 (#$ . 36996)])
#@31 Remove active bubbles region.
(defalias 'bubbles-plop #[0 "\205\276	\306V\205\276\n\307 D\310`\212\211b\210\311 \210\312e`\"S)\262`\212\211b\210iS)\262db\210o\204Q\313u\210\314`\315\"\203.\316\317!\210\320c\210\321`S`\322\310\323\313F#\210\2025\324\"\266\325 \210\326 \210\327\306!\210\330\331!\210\332 \210\333\212\334 \306\211W\203\252\211\335 \306\211W\203\241\211\324\"\210\314`\322\"\203\231\336\337#\206\224\262\202\203\210\211T\262\202w\266\211T\262\202m\266)\326 \210\211\203\270\327\306!\210\210\332 \210\340ed\322\333$\210\212eb\210\341\342\320\"\343\333\310#\203\336\340`S`\322\310$\210\202\313\210)\333\344 \345=\2036\212\334 \306\211W\203)\211\335 \306\211W\203 \211\324\"\210\314`\322\"\203\336\346#\206\262\202\210\211T\262\202\366\266\211T\262\202\354\266)\326 \210\330\347!\210\202\233\212\335 \306\211W\203\230\211\324\334 S\"\210\306\314`\322\"\203_\211T\262\336\346\334 S#\210\202I\211\306\211W\203\217\211\334 \350Z\211\306Y\203\206\336\346#\206}\262	\211S\262\202l\266\211T\262\202a\266\211T\262\202:\266)\211\203\246\326 \210\327\306!\210\210\340ed\322\333$\210\351 \204\266\352 \210)\353\354 \210\355 \207" [bubbles--playing bubbles--neighborhood-score bubbles--score bubbles--save-data inhibit-read-only buffer-undo-list 0 buffer-string t beginning-of-line count-lines -1 get-text-property active delete-char 1 32 add-text-properties removed index bubbles--goto bubbles--update-score bubbles--update-faces-or-images sit-for sleep-for 0.2 discard-input nil #[0 "\306\267\202	\202\n\202\202\f\202
\202\307A\207" [bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 10 difficult 14 hard 18 user-defined 22)) nil] 2 "Return the grid height for the current game theme."] #[0 "\306\267\202	\202\n\202\202\f\202
\202\307@\207" [bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 10 difficult 14 hard 18 user-defined 22)) nil] 2 "Return the grid width for the current game theme."] bubbles--shift top put-text-property format "%c" search-forward #[0 "\302\267\202\303\207\303\207\304\207\304\207	\207\305\207" [bubbles-game-theme bubbles-shift-mode #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 8 difficult 10 hard 12 user-defined 14)) default always nil] 2 "Return the shift mode for the current game theme."] always right 0.5 2 bubbles--neighborhood-available bubbles--game-over ((apply bubbles-undo)) force-mode-line-update redisplay] 13 (#$ . 38999) nil])
#@17 Undo last move.
(defalias 'bubbles-undo #[0 "\205#\304`\305 \210A@c\210\306 \210@\211b\210)\266\304\307 \210\310 \207" [bubbles--save-data inhibit-read-only bubbles--score buffer-undo-list t erase-buffer bubbles--update-faces-or-images force-mode-line-update redisplay] 3 (#$ . 41888) nil])
#@103 Move bubbles FROM one side to position ROW COL.
Return t if new char is non-empty.

(fn FROM ROW COL)
(defalias 'bubbles--shift #[771 "\212\300\"\205`\301\302\303\304\267\202'S\262\202'S\262\202'T\262\212\300\"\203F`f\262\305`\306\"\262\305`\307\"\262\310#\210)c\210\311\312!\210\313`S`\307\306	F#\210\301=?\266\205)\207" [bubbles--goto 32 nil -1 #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (top 20 left 28 right 35)) get-text-property removed index bubbles--shift delete-char 1 add-text-properties] 15 (#$ . 42195)])
#@39 Prepare images for playing `bubbles'.
(defalias 'bubbles--initialize-images #[0 "\306 \205Q\307=?\205Q\310\267\202&	\202'\n\202'\202'\f\202'
\202'\311\312\313\314\315#\316\317\320\321%\322\323\324\325\326\327!\330\"\331\332%\333 \"\210 \334\335\"\207" [bubbles-graphics-theme bubbles--image-template-circle bubbles--image-template-ball bubbles--image-template-square bubbles--image-template-diamond bubbles--image-template-emacs display-images-p ascii #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (circles 18 balls 22 squares 26 diamonds 30 emacs 34)) nil create-image replace-regexp-in-string "^\"\\(.*\\)	.*c .*\",$" "\"\\1	c None\"," xpm t :margin (2 . 1) mapcar make-byte-code 257 "\302!\211@A@\3038\304\305!r\211q\210\306\307\310\311\312!\313\"\303$\216\300c\210eb\210\314\315\316\317#\210eb\210\314\320\316\317#\203w\302\321\303!!\211@A@\3038\322\323#\324\325\211$\326	\303\245_!	_	_	_\327\330\325\245\325\245\325\245$\331\327\332\226\"!\266\202-\333\334 \335\317\336\337%*\262\207" vconcat vector [float-pi color-values 2 generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] re-search-forward "^\"[0-9]+ [0-9]+ \\(.*?\\) .*\",$" nil t "^\"\\(.*\\)	.*c \\(#.*\\)\",$" match-string / + 3.0 256 sin format "#%02x%02x%02x" replace-match "\"\\1	c %s\"," create-image buffer-string xpm :margin (2 . 1)] 21 "\n\n(fn COLOR)" #[0 "\306\267\202	\207\n\207\207\f\207
\207\307\207" [bubbles-game-theme bubbles--colors-2 bubbles--colors-3 bubbles--colors-4 bubbles--colors-5 bubbles-colors #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 8 difficult 10 hard 12 user-defined 14)) nil] 2 "Return the color list for the current game theme."] mapc #[257 "\205\211\211\207" [bubbles--images-ok] 3 "\n\n(fn ELT)"] bubbles--empty-image bubbles--images bubbles--images-ok] 8 (#$ . 42791)])
#@57 Update faces and/or images, depending on graphics mode.
(defalias 'bubbles--update-faces-or-images #[0 "\300 \210\301 \207" [bubbles--set-faces bubbles--show-images] 1 (#$ . 44786)])
#@37 Update faces in the bubbles buffer.
(defalias 'bubbles--set-faces #[0 "\304 \205
\205
	\305=??\205c\306 \205c\212\307\310 \311\211W\205`\211\312 \311\211W\203W\211\313\"\210\314`\315\"8\314`\316\"\203G\317\320\321\"\210\320\262\322``T\323$\266\211T\262\202&\266\211T\262\202\266\202*\207" [bubbles--images-ok bubbles-graphics-theme inhibit-read-only bubbles--faces display-images-p ascii display-color-p t #[0 "\306\267\202	\202\n\202\202\f\202
\202\307A\207" [bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 10 difficult 14 hard 18 user-defined 22)) nil] 2 "Return the grid height for the current game theme."] 0 #[0 "\306\267\202	\202\n\202\202\f\202
\202\307@\207" [bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 10 difficult 14 hard 18 user-defined 22)) nil] 2 "Return the grid width for the current game theme."] bubbles--goto get-text-property index active set-face-foreground bubbles--highlight-face "#ff0000" put-text-property face] 12 (#$ . 44975)])
#@38 Update images in the bubbles buffer.
(defalias 'bubbles--show-images #[0 "\305 \210\306 \203i\203i	\307=\204i\212eb\210\310y\210\311\312 \313\211W\205e\211\314 \313\211W\203X\211\310u\210\315`\316\"\206:\317\313Y\203F\f8\262\320``T\321\322B$\266\211T\262\202(\266\310y\266\211T\262\202\266\202*\207\212\311eb\210m\204\231\315`\321\"\211<\203\222\211@<\203\222\211@@\323=\203\222\320``T\321\322$\210\310u\266\202o\320ed\324\325$*\207" [bubbles--images-ok bubbles-graphics-theme inhibit-read-only bubbles--empty-image bubbles--images bubbles--remove-overlays display-images-p ascii 1 t #[0 "\306\267\202	\202\n\202\202\f\202
\202\307A\207" [bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 10 difficult 14 hard 18 user-defined 22)) nil] 2 "Return the grid height for the current game theme."] 0 #[0 "\306\267\202	\202\n\202\202\f\202
\202\307@\207" [bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (easy 6 medium 10 difficult 14 hard 18 user-defined 22)) nil] 2 "Return the grid width for the current game theme."] get-text-property index -1 put-text-property display nil image pointer arrow] 14 (#$ . 46330)])
(provide 'bubbles)

Zerion Mini Shell 1.0