;ò ;Bc@sNdZdkZdkZdkZdkZdkZdkZdkZdkTdk l Z l Z l Z l Z lZlZlZlZlZdklZdfd„ƒYZdfd„ƒYZd fd „ƒYZd fd „ƒYZd efd„ƒYZdfd„ƒYZdfd„ƒYZdfd„ƒYZdeefd„ƒYZdS(iN(s*( s load_images load_sounds load_musicsMyErrors font2surfsMazeGens trace_errors get_filessChildsplayGoodies(sDATADIRsImgcBstZRS(N(s__name__s __module__(((s./lib/packid.pysImg&ssSndcBstZRS(N(s__name__s __module__(((s./lib/packid.pysSnd(ssPacKidcBsAtZdd„Zd„Zd„Zd„Zd„Zd„ZRS(NicCs#||_ti|_ti|_ti|_ti|_ti|_ti|_ti |_ ti |_ ti |_ |i |_ |i i ƒ|_|ii||ƒ|i i ƒ|_|ii||ƒ||_d|_d|_hd|i<d|i<d|i<d|i<|_dS(NisUPsDOWNsLEFTsRIGHT(sspeedsselfsImgspac_rspac_r_cspac_lspac_l_cspac_uspac_u_cspac_dspac_d_cs pac_smilesimgsget_rectsrectsmove_ipsstartxsstartys startrectsmatrixsrowscols_ups_downs_lefts_rightsdir_dic(sselfsmatrixsstartxsstartysspeed((s./lib/packid.pys__init__,s&              cCs2tiiƒt|i|ƒ|i|ifSdS(N( sSndswakasplaysapplysselfsdir_dicsdirecsrowscol(sselfsdirec((s./lib/packid.pysupdateCs cCsy|i|ijo|i|_n |i|_|i|id|io*|id8_|iid|i ƒndS(Nii( sselfsimgspac_u_cspac_usmatrixsrowscolsrectsmove_ipsspeed(sself((s./lib/packid.pys_upIs  cCsx|i|ijo|i|_n |i|_|i|id|io)|id7_|iid|i ƒndS(Nii( sselfsimgspac_d_cspac_dsmatrixsrowscolsrectsmove_ipsspeed(sself((s./lib/packid.pys_downRs  cCsy|i|ijo|i|_n |i|_|i|i|ido*|id8_|ii|i dƒndS(Nii( sselfsimgspac_l_cspac_lsmatrixsrowscolsrectsmove_ipsspeed(sself((s./lib/packid.pys_left[s  cCsx|i|ijo|i|_n |i|_|i|i|ido)|id7_|ii|i dƒndS(Nii( sselfsimgspac_r_cspac_rsmatrixsrowscolsrectsmove_ipsspeed(sself((s./lib/packid.pys_rightds  (s__name__s __module__s__init__supdates_ups_downs_lefts_right(((s./lib/packid.pysPacKid+s    sMemorycBs5tZdddddfd„Zd„Zd„ZRS( Ns1s2s3s4s5cCs#h|_tgt|ƒ|_dS(N(sselfsmemorysNoneslenspointssstack(sselfspoints((s./lib/packid.pys__init__ns cCs]|\}}||i|<|iid|ƒy|i|iiƒ=Wntj onXdS(Ni(skeysitemsselfsmemorysstacksinsertspopsKeyError(sselfs.2skeysitem((s./lib/packid.pysrememberrs  cCs&|ii|ƒo|i|SndS(N(sselfsmemoryshas_keyskey(sselfskey((s./lib/packid.pysrecall{s(s__name__s __module__s__init__sremembersrecall(((s./lib/packid.pysMemoryms sLetterscBs;tZdZd„Zd„Zd„Zd„Zd„ZRS(NicCsÐtid7_ti|_ti|ƒ||_t|d||ƒ\|_ }|i i ƒ|_ d|_d|_d|_|i i|idd|iddƒ||_t|_ti|_d|_dS( Niii2ii ii–i<(sLetterssinstancesselfswaitsMemorys__init__schars font2surfsfcolsttfsimgsspamsget_rectsrectslifetimesrowscolsmove_ipsdestsNonesold_movesImgsmatrixsspeed(sselfscharsfcolsdeststtfsspam((s./lib/packid.pys__init__s      )   cCs£|io|id8_dSn|id8_|idjo dGHdSn|i|if|_|i|id|id|id|idfƒ}|SdS(Niisdied( sselfswaitslifetimesrowscolsorgs_iqsdestsstop(sselfsstop((s./lib/packid.pysupdate•s 9cCsË|iƒ}|i|ifddfjo dg}nt|ƒdjo4|i|dƒ|i|i|ifj}|Sn+y|i |i ƒWnt j onXt|ƒdjo4|i|dƒ|i|i|ifj}|Sn't gd}t|dƒt|dƒjo~|ddjod|dFind all the letters in the right order. The word to find is: s.i i·iÿi2iiiii®iTiiÿÿÿÿ(Espygamesdisplaysupdatesselfsscreensfillslevels load_imagesosspathsjoinslibdirsbricks _read_gridsmatrixs _build_fieldsissidepansget_level_scores load_musicsplaysMazeGensmsget_mazes_setup_last_levelsstopflagsconvertsImgsbackgrs backgr_starts_stxtssplitsline1sline2s font2surfsttfssurfsspamsblitssurfword_offsetsrandomschoiceswordsswordsgws letter_objssfruitssobjsimgsrectsappendspackidsrsPLAYWALKs_start_letterssset_words_update_sidepanelsWordssurfwords_update_surfwordsxsysPacKidsrowscolspack_possSndswalk(sselfslevelsistxtsmatrixsspamsline2sline1ssurfsobjswordsmsPLAYWALKsrsysx((s./lib/packid.pysstartâsv%  ' ' '%'      *%-%    %!   cCsY|iiƒ\}}tii|ii|d|i ddfƒƒti i dƒdS(Niiiiè( sselfssurfwordsupdatessurfsletter_to_speakspygamesdisplaysscreensblitssurfword_offsetstimeswait(sselfssurfsletter_to_speak((s./lib/packid.pys_update_surfword/s0cCs=dStii|id|dƒ}t|ƒ}|i ƒdS(s&Not used, maybe removed in the future.isSpeechs.wavN( sosspathsjoinsselfslibdirslettersfiles load_soundsdatasplay(sselfslettersfilesdata((s./lib/packid.pys _speak_letter5s  cCs2tii|ii|iiƒddfƒƒdS(Nii<(spygamesdisplaysupdatesselfsscreensblitssidepansget_surf(sself((s./lib/packid.pys_update_sidepanel<scCsg}tii|id|ƒ}t|dƒ}x4|i ƒD]&}|i t tt|d ƒƒƒq=W|iƒt |ƒSdS(Ns PackidDatasriÿÿÿÿ(sgridsosspathsjoinsselfslibdirsnamesfilenamesopensfs readlinesslinesappendstuplesmapsintsclose(sselfsnamesfsfilenamesgridsline((s./lib/packid.pys _read_grid?s $ ic CsT|t_tiddfƒ}d}x|D]ü} d}xã| D]Û}| ow|oS|i i ƒ} t iddddfƒ}|itii| |ƒ||fƒq|i|i ||fƒnM|djo?ttii|id d ƒdƒ}|i|||fƒPn|d 7}q>W|d 7}q+Wtii|ii|d d fƒƒdS(Nili¬i iiZi´iis PackidDatasexit.pngiiŒi2(smatrixsImgspygamesSurfacessurfsysrowsxsitemsransselfsbricksconvertsrandomschoicesanglesblits transformsrotates load_imagesosspathsjoinslibdirsisdisplaysupdatesscreen( sselfsmatrixsranssurfsanglesisitemsysxsbricksrow((s./lib/packid.pys _build_fieldHs* ) $cCsæ|gf\|_}d|_ggf\|_|_dt_x |D]˜}|i ƒ}||jp.|ddfddfddfddffjo|i ƒ}n|i |ƒ|ii t|dddf||i ƒƒqFWdS(Niii i i iiÿ( swordsselfsspotssletter_to_finds objs_to_moves letter_objssLetterssinstancesitems _rand_spotsspotsappendsttf(sselfswordsspotsspotssitem((s./lib/packid.pys_start_lettersas   > cCsZxOnoGtiddƒtiddƒf}ti|d|doPqq W|SdS(Niiii(srandoms randrangesspotsImgsmatrix(sselfsspot((s./lib/packid.pys _rand_spotos $ cCsq|ioddfSnd|_d|_x÷|D]ï}titii ƒddfƒ}|i t jo|i o¬|i|iƒ}|o|iiti|iiiddƒ|iiiddƒƒ}|ii|ƒ|_|ii|ii|iiƒ}tii||fƒq q1q1W|i o|iƒn"|i|ijo|idjo|iddfjo d|_q]xØ|i D]É}|i|i"|i#fjo§|i$d jo…|i%ƒ|_|i i&|ƒtii|iiti'|i|iƒƒti(|i_tii|iiti(|iiƒƒn|i)|ƒPqŒqŒWn|i|ifSdS( NiiiiiiiiÿÿÿÿsFRUIT(*sselfsstopflagsstopsscoreseventsseventspygamesRectsmousesget_possposstypesKEYDOWNs objs_to_moves _on_keypressskeysscreensblitsImgsbackgrspackidsrectsinflatesrsupdatespack_possimgsrrsdisplays _move_objss letters_spotsslevels letter_objssitemsrowscolscharseatsremoves backgr_starts pac_smiles _check_letter(sselfseventssrrsposseventsitemsrskey((s./lib/packid.pysloopys>   "?!" &  +,  cCsX|tjodSn@|tjodSn+|tjodSn|tjodSndS(NsUPsDOWNsLEFTsRIGHT(skeysK_UPsK_DOWNsK_LEFTsK_RIGHT(sselfskey((s./lib/packid.pys _on_keypresss    cCs©ggf\}}xò|iD]ç}|i|iiti |i i ddƒ|i i ddƒƒƒ|i ƒ}|ol|i }|iddƒti i|i|ƒ|i|ƒ|ii|ƒ|ii|i|ifƒn|i|ii|i|i ƒƒqWtiidƒtii |ƒ|owxt|D]h}|ii|ƒ|igjoBtiiƒ|ii|iiddfƒ}tii |ƒq5q5WndS(Niiiidi®iT( sobjs_to_removes dirty_rectssselfs objs_to_movesobjsappendsscreensblitsImgsbackgrsrectsinflatesupdatesflagsrecsmove_ipsimgs letter_objss letters_spotssrowscolspygamestimeswaitsdisplaysitemsremovesSndswalksstopspackidsr(sselfsobjs dirty_rectssitemsflagsrsobjs_to_removesrec((s./lib/packid.pys _move_objs§s. @    & !cCsZ|i|i|ijo»|ii|ƒtii ti |i |i ƒti |i _tii|ii ti |i i ƒƒ|io…yI|iiƒd}tiidƒttii|i|ƒƒiƒWqtj o)}tidI|IJt i!iƒqXntiidƒd|_"|i#i|i$ƒ|i#o|id7_npt i%iƒd|_"d|_&tii ti |i |i ƒ|i'i(|i)ƒ|i*ƒtiidƒdS|i+ƒn‚|i iti,jodSn|i)d7_)t i-iƒti,|i _tii|ii ti,|i i ƒƒtiidƒdS( Ns.oggiôs*error while trying to play alphabet soundsi iidiÿÿÿÿiÐ(.sobjscharsselfswordsletter_to_finds letter_objssremovesImgsbackgrsblits backgr_startsrects pac_smilespackidsimgspygamesdisplaysupdatesscreens alphabetdirslowerstimeswaits load_musicsosspathsjoinsplays ExceptionsinfossyssstderrsSndseatsscores letters_spotsspack_possfinlevelsstopssidepansset_good_wrongsgws_update_sidepanels_update_surfwordspac_sadsbummer(sselfsobjsinfoschar((s./lib/packid.pys _check_letterÁsD( &       (cCsdSdS(sxMust return the original, not translated, title of this game. It's needed by the high score class of childsplay.sPackidN((sself((s./lib/packid.pys__str__ìscCsdSdS(NsPackid((sself((s./lib/packid.pys helptitleòsc Cshtdƒtdƒdtdƒdtdƒdtdƒtdƒtdƒtd ƒtd ƒg }|SdS( NsThe aim of the game:s7Try to 'eat' all the letters in the appropriated order.s sDifficulty : 4+ years.sNumber of levels : 3s,There are thee levels with three words each.sFWhen you have finished all the levels, without making to much mistakess@(max two per word), you can play the last level which is a maze.sDTry to find the way out while eating the fruits for extra points andsfunny sounds :-)(s_stxt(sselfstxt((s./lib/packid.pyshelpõs` (s__name__s __module__s__doc__s__init__s__del__s_setups_setup_last_levelsstarts_update_surfwords _speak_letters_update_sidepanels _read_grids _build_fields_start_letterss _rand_spotsloops _on_keypresss _move_objss _check_letters__str__s helptitleshelp(((s./lib/packid.pysGame€s(    8  M      $  +  (sRCFILEsossrandomsoperatorsstringslocalessysspygamespygame.constantssutilss load_images load_sounds load_musicsMyErrors font2surfsMazeGens trace_errors get_filessChildsplayGoodiess CPConstantssDATADIRsImgsSndsPacKidsMemorysLetterssWords SidePanels LastLevelImgsGame(sImgslocalesrandomsMazeGensMemorysoperators load_musics load_imagesSnds LastLevelImgsGames font2surfspygames SidePanels load_soundsMyErrorsWordsstringssyssDATADIRsRCFILEsLetterss get_filessChildsplayGoodiessPacKids trace_errorsos((s./lib/packid.pys?s6 = B„.@