;ò DnZGc@sydZdZdZdZdZdkZdkZdkZdkZdk Z e Z ydk Z dk TWn eZ nXe ZydkZeidƒWn eZnXeodklZndkZd klZdkZd Zeiieid d d ƒZedƒ\ZZZZ d d d fZ!dddfZ"dddfZ#dddfZ$eo dZ%ndZ%de&fd„ƒYZ'dd„Z(e)d„Z*d„Z+e)d„Z,d„Z-de i.fd „ƒYZ/e oTd!Z0d"Z1d#e i2i3fd$„ƒYZ4d%e i2i3fd&„ƒYZ5e)d'„Z6nd(„Z7e8d)jo3d*k9l:Z:l;Z;e;d+d,d-d.d/d0d1d2d3ei<d4d5d6d7ƒe;d8d9d-d.d/d:d4d;d6d<ƒe;d=d>d-d?d/d@d4ed6dAƒgZ=e o2e=i>e;dBdCd-d?d/dDd4ed6dEƒƒne:dFdGdHedIdJdKe=ƒZ?e?i@ƒ\ZAZBeCeAdDƒ oeDeAdDe ƒne7eAƒndS(LsnA simple Awalé game. Copyright (C) 2007 MiKael NAVARRO The count-and-capture official board game of Africa. s$MiKael Navarro sSat 308 December 2007s0.3.6sThanks to Africa for this game.N(s*f0.20000000000000001(spprint(sAwaleiis..sdataiiÿiõiÜiXi/ii isTeecBs tZdZd„Zd„ZRS(s5A small object which print to each given fileobjects.cGs ||_dS(N(s fileobjectssself(sselfs fileobjects((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pys__init__UscCs/x(|iD]}|i|ƒ|iƒq WdS(N(sselfs fileobjectss fileobjectswritesstringsflush(sselfsstrings fileobject((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pyswriteXs  (s__name__s __module__s__doc__s__init__swrite(((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pysTeeRs  scCs|o dG|GHn|GHdS(s$Display current board state / score.s N(stitles awale_board(s awale_boardstitle((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pysdisplay]s cCsÎ|tit|iƒd jotid‚nttiƒi|ƒ}d}|ti jod|}n|ti jod|}n|o|d|7}nz|i|ƒWdt||ƒX|SdS(s Human turn.is Invalid CupssSouth player sown from '%s'sNorth player sown from '%s's (in %fs)N(scupsawales HUMAN_CUPSslens awale_boardsboards InvalidSownslistsindexsidxstitlesplayers SOUTH_PLAYERs NORTH_PLAYERs elapsed_timessow_and_capturesdisplay(s awale_boardsplayerscups elapsed_timesidxstitle((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pys human_sowes !cCsÃdGtiƒ}|i|ƒ}tiƒ|}dGd}|ti jodti ||f}n0|ti jodti |d|f}nz|i |ƒWdt||ƒX||fSdS(sComputer turn.sComputer sown ...s ss$South player sown from '%s' (in %fs)s$North player sown from '%s' (in %fs)iN(stimes start_times awale_boards best_sownsplayersidxs elapsed_timestitlesawales SOUTH_PLAYERs HUMAN_CUPSs NORTH_PLAYERs COMPUTER_CUPSssow_and_capturesdisplay(s awale_boardsplayersidxstitles start_times elapsed_time((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pys computer_sow|s  cCs|o |GHn|i\}}|tgi}ti ti D]}||i |ƒq=~ƒ7}|tgi}ti ti D]}||i |ƒq~ƒ7}d}||jod||f}n,||jod||f}n d|}t||ƒdS(sDisplay score.ss&South player wins with %d seeds vs %d.s&North player wins with %d seeds vs %d.sDraw (%d seeds each).N(smsgs awale_boardsscores south_scores north_scoressumsappends_[1]sawales PLAYER_CUPSs SOUTH_PLAYERsidxsboards NORTH_PLAYERstitlesdisplay(s awale_boardsmsgsidxs south_scores_[1]s north_scorestitle((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pysresult’s BB   cCsdGHtiƒdS(sExit awale game.sBye.N(ssyssexit(s awale_board((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pysquit§ssAwaleCLIcBs}tZdZed„Zd„Zd„Zd„Zd„Zed„Z d„Z d„Z ed „Z d „Z ed „ZRS( s&Command Line Interface for Awale game.cCsNtii|ƒd|_d|_td|idt |i ƒdƒ|_ dS(Nsý pyAwale is a free software available under the terms of the GNU GPL. Refer to the file COPYING (which should be included in this distribution) for the specific terms of this licence. You can freely download pyAwale and enjoy to play with it. s pyAwale> salgosdepthi( scmdsCmds__init__sselfsintrospromptsAwalesoptionssalgosintslevelsawale(sselfsoptions((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pys__init__³s  cCst|iƒdS(s$Display current board state / score.N(sdisplaysselfsawale(sself((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pys_displayÃscCst|i||ƒdS(s Human turn.N(s human_sowsselfsawalesplayerscup(sselfsplayerscup((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pys _human_sowÈscCst|i|ƒdS(sComputer turn.N(s computer_sowsselfsawalesplayer(sselfsplayer((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pys _computer_sowÍscCst|iƒt|iƒdS(sDisplay score and exit.N(sresultsselfsawalesquit(sself((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pys_quitÒs cCs=to dGHnd|iiGdGdG|iidGdGHdS(s#Display engine settings/parameters.s'psyco' optimizer activateds'%s'salgorithm useds(levelis)N(s HAVE_PSYCOsselfsawales algo_types algo_depth(sselfsline((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pysdo_infoÜs  cCsN|o4|tijo||i_q;d|GtiGHndG|iiGHdS(s$Display/toogle to another algorithm.sunknown '%s' algo?salgo setted toN(salgosawales ALGO_TYPESsselfs algo_type(sselfsalgo((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pysdo_algoæs cCs8|ot|ƒd|i_ndG|iidGHdS(s+Display/set default level of the algorithm.islevel setted toN(slevelsintsselfsawales algo_depth(sselfslevel((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pysdo_levelðscCs|iƒdS(sShow board state and score.N(sselfs_display(sselfsline((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pys do_displayûscCsàyB|o|iti|ƒn|itiƒ|itiƒWn—tij o}t i |IJntti j o+}t ot i |IJn|i ƒn;tij o+}t ot i |IJn|i ƒnXdS(s=Sow and capture from given cup; Then, compute adversary move.N(scupsselfs _human_sowsawales SOUTH_PLAYERs _computer_sows NORTH_PLAYERs InvalidSownsmsgssyssstderrs NoMoreMoves __debug__s_quits EndOfGame(sselfscupsmsg((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pysdo_sows cCs|iƒdS(sQuit.N(sselfs_quit(sselfsline((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pysdo_EOFs(s__name__s __module__s__doc__sNones__init__s_displays _human_sows _computer_sows_quitsdo_infosdo_algosdo_levels do_displaysdo_sowsdo_EOF(((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pysAwaleCLI°s       iis CupSpritecBsÆtZdZddfZddfZddfZddfZd d fZd d fZd dfZ ddfZ ddfZ ddfZ ddfZ ddfZeiieiiedƒƒZeiieiiedƒƒZeiieiiedƒƒZeiieiiedƒƒZeiieiiedƒƒZeiieiiedƒƒZeiieiiedƒƒZeiieiied ƒƒZeiieiied!ƒƒZeiieiied"ƒƒZeiieiied#ƒƒZ eiieiied$ƒƒZ!eiieiied%ƒƒZ"eiieiied&ƒƒZ#eiieiied'ƒƒZ$eiieiied(ƒƒZ%d)d*„Z&e'd+„Z(RS(,s Cup sprite.iZi@i²ii iûihiÖiÀi±iiŒiêiFi•iiiEi‡iòiªi iÌiTiîsawale_seed_0.pngsawale_seed_1d.pngsawale_seed_2c.pngsawale_seed_3b.pngsawale_seed_4D.pngsawale_seed_5d.pngsawale_seed_6c.pngsawale_seed_7b.pngsawale_seed_8e.pngsawale_seed_9d.pngsawale_seed_10d.pngsawale_seed_11d.pngsawale_seed_12d.pngsawale_seed_12d_13.pngsawale_seed_14d.pngsawale_seed_15d.pngicCs"tiii|ƒt|_|ti jot ti ƒi |ƒ|_n;|ti jo*t ti ƒi |ƒti d|_n||_|itjotd|iƒ|_ntdtƒ|_|iiƒ|_td|iƒ|i_tiitdƒ|_|iitƒdS(s)Initialize cup seeds and set positioning.isCupSprite.cup_%02dsCupSprite.pos_%02diN(spygamesspritesSprites__init__sselfsNonescup_idxscupsawales HUMAN_CUPSslistsindexs COMPUTER_CUPSs BOARD_SIZEsnb_seedssMAX_SEEDS_IMAGEsevalsimagesget_rectsrectscentersfontsFonts set_italicsTrue(sselfscupsnb_seeds((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pys__init__Ms * cCs ||i|_|itjotd|iƒ|_ntdtƒ|_|oQ|ii d|idt t ƒ}|i dddfƒ}|ii||ƒnb|idjoQ|ii d|idt t ƒ}|i dddfƒ}|ii||ƒndS( s#Update image according to nb_seeds.sCupSprite.cup_%02d.copy()s%distoplefti iiN(sboardsselfscup_idxsnb_seedssMAX_SEEDS_IMAGEsevalsimages count_seedssfontsrenders BROWN_COLORs BEIGE_COLORstextsget_rectstextpossblit(sselfsboards count_seedsstextstextpos((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pysupdateis""()s__name__s __module__s__doc__spos_00spos_01spos_02spos_03spos_04spos_05spos_06spos_07spos_08spos_09spos_10spos_11spygamesimagesloadsosspathsjoins DATA_LOCALscup_00scup_01scup_02scup_03scup_04scup_05scup_06scup_07scup_08scup_09scup_10scup_11scup_12scup_13scup_14scup_15s__init__sFalsesupdate(((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pys CupSprite)s>             !!!!!!!!!!!!!!!! s HouseSpritecBs#tZdZdd„Zd„ZRS(s House sprite.icCs‚tiii|ƒ||_||_d}|iti jo d}n|iti jo d}nti i t iitd|ƒƒg|_xPtdtdƒD];}|iiti i t iitd||fƒƒƒq¤W|itjo|i|i|_ n|it|_ |i iƒ|_|iti joddf|i_n*|iti jod d f|i_nd S( s(Initialize house seeds for given player.shousessouthsnorthsawale_%s_0.pngisawale_%s_%d.pngi`iÎi7iN(spygamesspritesSprites__init__sselfsnb_seedssplayershousesawales SOUTH_PLAYERs NORTH_PLAYERsimagesloadsosspathsjoins DATA_LOCALshousessrangesMAX_SCORE_IMAGEsidxsappendsget_rectsrects bottomrightstopleft(sselfsplayersnb_seedssidxshouse((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pys__init__„s*    +9cCsD||_|itjo|i|i|_n|it|_dS(s#Update image according to nb_seeds.N(snb_seedssselfsMAX_SCORE_IMAGEshousessimage(sselfsnb_seeds((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pysupdate¤s  (s__name__s __module__s__doc__s__init__supdate(((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pys HouseSprites  c!s tiƒtiiddfƒ‰tiidtƒtii t dƒ}ti i |ƒiƒ} tii t dƒ}ti i |ƒiƒ}tiitdƒ‰tdƒtdƒtd ƒtd ƒtd ƒtd ƒtd ƒtdƒtdƒtdƒtdƒtdƒf } tii| Œ}ttiƒttiƒf}tii|Œ}t d|i"dt#|i$ƒdƒ‰‡‡d†}‡‡d†}‡‡‡d†}‡‡‡d†}‡‡d†}t}}t}}}t0}t2}t}ti5i6ƒ} x t8o | i9t:ƒ|t0jo}ti;i<ti=i>Œxæti?i@ƒD]Õ} | iAtBjp| iAtCjo | iDtEjotFˆdƒtG}qR| iAtHjp| iAtCjo | iDtIjo:tˆddˆiJˆiKdfƒt5i5ƒ}tL}qR| iAtCjo| iDtMjp | iDtNjo| o t8}q#t2}q'| iDtOjomtPtiQƒiRˆiJƒ}|tTtiQƒdjotiQdˆ_JntiQ|dˆ_Jd GˆiJGHq'| iDtUjoAˆiKtVjo dˆ_KnˆiKdˆ_Kd!GˆiKdGHq'qRqRWt}}tiWgtiXˆ_Yddgˆ_Zdˆ_[t}ˆi\| ddfƒ|ƒ||ƒ|o||ƒq n^|tLjp |t]joœ|tLjoÍti;i<ti=i^Œx~ti?i@ƒD]Ÿ} | iAtBjp| iAtCjo | iDtEjotFˆdƒtG}qö| iAtCjo>| iDtMjp | iDtNjo| o t8}qt2}q‘| iDtOjomtPtiQƒiRˆiJƒ}|tTtiQƒdjotiQdˆ_JntiQ|dˆ_Jd GˆiJGHq‘| iDtUjoAˆiKtVjo dˆ_KnˆiKdˆ_Kd!GˆiKdGHq‘| iDt_jo |tjot8}t]}qöq‘n| iAtHjoôt5i5ƒ|}t}| tPtiaƒiRdƒibic| idƒo d}n| tPtiaƒiRdƒibic| idƒo d}nÙ| tPtiaƒiRd ƒibic| idƒo d }n£| tPtiaƒiRd ƒibic| idƒo d }nm| tPtiaƒiRd ƒibic| idƒo d }n7| tPtiaƒiRd ƒibic| idƒo d }n|oy"t}teˆti||ƒ}WnZtifj o!}thotiij|IJqq‘tikj o}tFˆ|ƒtG}q‘Xt2}t]}q•qöqöWnË|t]jo½ti;i<ti=ilŒti5imd"ƒytnˆtiƒ\}}WnUtioj o}tFˆ|ƒtG}n>tikj o}tFˆ|ƒtG}nXt5i5ƒ}tL}ti?ipƒn|iqˆiY|ƒx2titigD]}||iqˆiZ|ƒq Wˆi\|ddfƒ|isˆƒ|isˆƒ|tjo~ˆitd#dtuƒ}|iwd$ddfƒ} ˆi\|| ƒˆitd%dtuƒ}|iwd$dd&fƒ} ˆi\|| ƒn|tiyjoRˆitd'tia||fdtuƒ}|iwd$ddfƒ} ˆi\|| ƒn|tizjoVˆitd(ti{|d)|fdtuƒ}|iwd$dd&fƒ} ˆi\|| ƒn||ƒ||ƒ|o||ƒq n¨|tGjošti;i<ti=i|Œxßti?i@ƒD]Î} | iAtBjp| iAtCjo | iDtEjot}ˆƒq’ | iAtCjo| iDtIjp | iDt_jo t0}q’ | iAtCjo@| iDtMjp | iDtNjo| o t8}q\ t2}q` q’ q’ W|iqˆiY|ƒx2titigD]}||iqˆiZ|ƒqŠ Wˆi\|ddfƒ|isˆƒ|isˆƒ||ƒ|ƒ|o||ƒq ntii~ƒq Wd*S(+s%Main PyGame interface for Awale game.i€iàsApyAwale-%s - The count-and-capture official board game of Africa.sawale_board_closed.pngsawale_board_empty.pngisAsBsCsDsEsFsasbscsdsesfsalgosdepthicsøˆiddtƒ}|idddfƒ}ˆi||ƒˆiddtƒ}|idddfƒ}ˆi||ƒˆiddtƒ}|idddfƒ}ˆi||ƒˆid dtƒ}|iddd fƒ}ˆi||ƒd S( s/Helper subfunction to display intro/copirights.sDpyAwale is a free software available under the terms of the GNU GPL.istopleftisIRefer to the file COPYING (which should be included in this distribution)is'for the specific terms of this licence.i(s:You can freely download pyAwale and enjoy to play with it.i<N(sfontsrenders BROWN_COLORstextsget_rectstextpossscreensblit(stextstextpos(sfontsscreen(sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pys_display_introäscsZ|tjoAˆiddtƒ}|idddfƒ}ˆi ||ƒn\|t jp |t joAˆiddtƒ}|idddfƒ}ˆi ||ƒn|tjoAˆiddtƒ}|idddfƒ}ˆi ||ƒnª|t jp |t joAˆid dtƒ}|idddfƒ}ˆi ||ƒnO|t joAˆid dtƒ}|idddfƒ}ˆi ||ƒn|tjp|t jp |t joAˆid dtƒ}|iddd fƒ}ˆi ||ƒnO|t joAˆid dtƒ}|iddd fƒ}ˆi ||ƒndS(s#Helper subfunction to display help.s3- Choose your algo/level with the 'a' and 'l' keys.istoplefti'ihs3- Change your algo/level with the 'a' and 'l' keys.s0- Begin the game by clicking on the awale board.i|s)- Sow seeds by clicking on the awale cup.s"- Replay by pressing 'RETURN' key.s&- Use 'ESC' key to exit current panel.is!- Use 'ESC' key to quit the game.N( sstatesINTROsfontsrenders BROWN_COLORstextsget_rectstextpossscreensblits HUMAN_TURNs COMPUTER_TURNsEND_GAME(sstatestextstextpos(sfontsscreen(sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pys _display_helpøs:   ' csÞ|tjoAˆiddtƒ}|idddfƒ}ˆi ||ƒnˆidˆi dtƒ}|idddfƒ}ˆi ||ƒˆidˆi d dtƒ}|iddd fƒ}ˆi ||ƒd S( s.Helper subfunction to display settings/params.s optim='psyco'is bottomrighti€i¸s algo='%s'iÌslevel=%diiàN( sstatesINTROsfontsrenders BROWN_COLORstextsget_rectstextpossscreensblits awale_boards algo_types algo_depth(sstatestextstextpos(s awale_boardsfontsscreen(sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pys_display_settingss  cs‹|tjouˆi\}}|tgi}t i t i D]}|ˆi |ƒq:~ƒ7}|tgi}t i t iD]}|ˆi |ƒq|~ƒ7}||jo#ˆid||fdtƒ}nJ||jo#ˆid||fdtƒ}nˆid|dtƒ}|idddfƒ}ˆi||ƒˆiddtƒ}|idddfƒ}ˆi||ƒn|tjp|tjp |tjošˆid ˆit idtƒ}|iddd fƒ}ˆi||ƒˆid ˆit i dtƒ}|iddd fƒ}ˆi||ƒnˆid ˆidtƒ}|idddfƒ}ˆi||ƒdS(s+Helper subfunction to display scores/turns.s#South player wins (%d seeds vs %d).is#North player wins (%d seeds vs %d).sDraw (%d seeds each).stopleftis,Replay by hitting 'RETURN' or 'ESC' to quit.isNorth score: %di(sSouth score: %di<sTurn: %diPN(sstatesEND_GAMEs awale_boardsscores south_scores north_scoressumsappends_[1]sawales PLAYER_CUPSs SOUTH_PLAYERsidxsboards NORTH_PLAYERsfontsrenders BROWN_COLORstextsget_rectstextpossscreensblits HUMAN_TURNs COMPUTER_TURNsturn(sstatesidxstexts south_scores_[1]s north_scorestextpos(s awale_boardsscreensfont(sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pys_display_scores,s2 BB # #'##csAˆitdtƒ}|idddfƒ}ˆi||ƒdS(s&Helper subfunction to display credits.is bottomrighti€iàN( sfontsrenders __credits__s BROWN_COLORstextsget_rectstextpossscreensblit(stextstextpos(sscreensfont(sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pys_display_creditsQssEsc!stitles#Initial board (algo='%s', level=%d)iisAlgo setted tosLevel setted toiès%Click on one of your houses to begin;stoplefts Or, hit 'c' for computer begins.isYour move: '%s' (in %fs)sMy move: '%s' (in %fs)iN(spygamesinitsdisplaysset_modesscreens set_captions __version__sosspathsjoins DATA_LOCALsawale_closed_imagesimagesloads convert_alphasawale_closed_backgroundsawale_board_imagesawale_board_backgroundsfontsFontsNones CupSpritescupsssprites RenderPlains cups_groups HouseSpritesawales SOUTH_PLAYERs NORTH_PLAYERshousess houses_groupsAwalesoptionssalgosintslevels awale_boards_display_intros _display_helps_display_settingss_display_scoress_display_creditss idx_humans idx_computers start_times elapsed_timescomputation_timesINTROsstatesFalses disp_helpscomputer_beginsstimesClocksclocksTruesticksFRAMES_PER_SECONDsmouses set_cursorscursorssarrowseventsgetstypesQUITsKEYDOWNskeysK_ESCAPEsresultsEND_GAMEsMOUSEBUTTONDOWNsK_RETURNs algo_types algo_depths HUMAN_TURNsK_hs K_QUESTIONsK_aslists ALGO_TYPESsindexs curr_algo_idxslensK_lsMAX_ALGO_DEPTHs INITIAL_SEEDSs BOARD_SIZEsboardsscoresturnsblits COMPUTER_TURNstri_leftsK_cscups HUMAN_CUPSsrects collidepointsposs human_sows InvalidSownsmsgs __debug__ssyssstderrs EndOfGamesballswaits computer_sows NoMoreMovesclearsupdatesplayersdrawsrenders BROWN_COLORstextsget_rectstextposs SOUTH_CUPSs NORTH_CUPSs COMPUTER_CUPSsbroken_xsquitsflip(!soptionssawale_board_backgrounds idx_computerstexts idx_humanscomputer_beginss_display_introsawale_board_images cups_groupsfontseventsawale_closed_backgroundscupssclocks elapsed_timesstates disp_helps curr_algo_idxs_display_scoress start_times _display_helps_display_settingss houses_groupsscreenscomputation_timesawale_closed_imageshousessplayers awale_boards_display_creditssmsgscupstextpos((sfontsscreens awale_boardsB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pys awale_game²sz r%#%   0  0          0       , , , , , ,                 00      cCsõ|ioJdtiiƒiƒ}t|dƒ}ti }t ti |ƒt_ n|i oAt |ƒ}y|iƒWqÐtj otidIJqÐXn2yt|ƒWn tj otidIJnX|io|iƒ|t_ ndS(s4The count-and-capture official board game of Africa.spyawale-%s.logswsBye.N(soptionsslogsdatetimestodays isoformatslog_namesopenslog_filessyssstdoutsTeesclisAwaleCLIs awale_cliscmdloopsKeyboardInterruptsstderrs awale_gamesclose(soptionsslog_namesstdouts awale_clislog_file((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pysmainDs&      s__main__(s OptionParsers make_options-as--algosactionsstoresdestsalgostypeschoiceschoicessdefaultsminimaxshelpsLchoose ALGO=bfs, minimax, maxi, negamax or alphabeta (default ALGO=%default)s-ls--levelslevelis;difficulty LEVEL=1, 2 or 3 of game (default LEVEL=%default)s-os--logs store_trueslogs1output results in log file (default LOG=%default)s-cs--clisclisuse command-line interfacesusages(python -O %prog [options] ... [args] ...sversions descriptionsA simple Awale game.s option_list(Es__doc__s __author__s__date__s __version__s __credits__ssyssosstimesdatetimescmdsTrues HAVE_PYGAMEspygames pygame.localssFalses HAVE_PSYCOspsycosprofiles __debug__spprintsppswarningssawalesAwalesFRAMES_PER_SECONDspathsjoins DATA_LOCALsrangesINTROs HUMAN_TURNs COMPUTER_TURNsEND_GAMEs BLACK_COLORs WHITE_COLORs BEIGE_COLORs BROWN_COLORsMAX_ALGO_DEPTHsobjectsTeesdisplaysNones human_sows computer_sowsresultsquitsCmdsAwaleCLIsMAX_SEEDS_IMAGEsMAX_SCORE_IMAGEsspritesSprites CupSprites HouseSprites awale_gamesmains__name__soptparses OptionParsers make_options ALGO_TYPESs option_listsappendsparsers parse_argssoptionssargsshasattrssetattr(/sAwaleCLIs BLACK_COLORs BEIGE_COLORs awale_gamesdatetimesawalespsycosresultsMAX_SEEDS_IMAGEs __credits__sppsargss option_lists HAVE_PSYCOsEND_GAMEspygamesMAX_ALGO_DEPTHs __version__s OptionParsers BROWN_COLORs WHITE_COLORsparserswarningssquits __author__ssyss HouseSprites HAVE_PYGAMEs computer_sowsFRAMES_PER_SECONDs COMPUTER_TURNsMAX_SCORE_IMAGEsmains HUMAN_TURNscmdsTees CupSpritesoptionss__date__sAwales DATA_LOCALsINTROs make_optionstimes human_sowsossdisplay((sB/mnt/gmirror/ports/games/pyawale/work/pyawale-0.3.6/src/pyawale.pys?sš                   pX1ÿ“