From 18553340f286bf830706167ae455f71dc5d6ab84 Mon Sep 17 00:00:00 2001 From: finn Date: Thu, 29 Jun 2023 14:39:41 -0400 Subject: [PATCH] OK! If you run game.py in /amazon-works, you should be able to play without errors, he said confidently. --- .../__pycache__/board.cpython-310.pyc | Bin 3924 -> 3337 bytes .../__pycache__/view.cpython-310.pyc | Bin 1031 -> 1008 bytes amazons-works/game.py | 28 +++++++++++++----- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/amazons-works/__pycache__/board.cpython-310.pyc b/amazons-works/__pycache__/board.cpython-310.pyc index 07bc5f36612496b4bfc6a41996628e78f6dcd90d..8cc2666d4484d1ade664b1be2de6199e4c8e0acf 100644 GIT binary patch literal 3337 zcma)8&2Jk;6rY)$wa1Q=v`HFjND*pPzz7nADk`CKZn^Uxz+W*}PQ7yi1pMBt9otEf*wwr@JG1lge!utLOlN++%<%m3 z^AGyRi;Vq7AJb2OkGD|l62!YqGtIw1IS_Z47PnX}sH1)65%_uw#eNErusd9{J3@0U zzF>C(9cT$Hb*Kx_p)P6#UCJtrSU^`+QM}dy8w}~N9+(X!bWbfBfeD=?rbCJN6oa^Z^o_2_TzryLa&av zlQwDX95GYG*gvjp>~`A8#!fR$H{So~dZXD-;*D0k9o4a}-H6-qpp)8H?sv>RyRl81 zS?}&U75T}dh|sgNn}xz)!S8i_+;wWxA%63lUPGk;jDO;g!pp!*YLT#8Zq?*t{KO1# zHxV`I>yK%{$F#Kn9JQJXHO!4$y?KV#%xh$=Q6y*};pX?f77m`u_k9Yn83QB+Q1J%r zqN4ebXY4M!!9H6YicCP4hd~x-eovU?4DN814SBEB3;X^*&8zHy>tGcl@yAQ}V_bhx z2e+7p;Ztp|(Kodpg!}*Awdk)4A`0?aqS} z=DSrgG_LoXpC?hb74Ih|s&{m94l`I{MyfJb{uK|!->ZcRmt2a9AURl@V0C(m8Ndi{ z+LZ_FJydcx9fI?r@Q{cD4$#hjDu%&OqDA`eMSO?DLRQEKri+<)1W>bZM;vm_ddt1J z3{h#w17P+tlq)6aUOO@H@f?yu-0dc*t`&1sBw6Q5-Ht^xz?U6=V9wGwzHcbzPvWyS zh0nf#hN9b2nD2FrzG6+e$ zkZ=-TC&@L3goF7O$c7pUpc#1QdwVF!eX8U{qRJXTQA@&6OW+t~p$?gS*xWTaW+2 zV<^JB-f8T+b?!F<%tErr;LdP^4&D523(769MI!6(Hq(YvvDTjKliZ#oZja}SY;P|%iG340 zuooe&a2YCo2GlCPB35`AuM!nr5K^e$#X~ticxFQKsd;AnpV+11+5HI>Foi@wsd|(y zZh|?&I5^}(sVPYaN*`5X2|iFIh9n|nWf+dRAhdm=DP}y6i>$bV@raDey*2zL50Ny$ z_jN6wG+$3?ta*B!p2|3)Y98CHh307}^E?SkF`ghFX=9cuQ_x#i9C^7buCBf za|tuK%J!Z~N1RzVH}!Rrs0BovZGv+@i~Sg*^W-EcHI?})bXh3A6pBA9>O4P>^fXw> zxtSe06LJ)80g5N(dsHZcKjNMegjW?I=mUsqAVB!kln2zP2d$$Xa(y3gqaK9SsHZqo zpc7AYU+=WL*S@A1Y5G+*xH_@n z*h@|rW7juZoqF7|*H9VHffZlD3{$JnUj22#T_7a?bG9#!R~Lgz|6}zTcct*7g}l3d zfJ(-3I>IS4(P#M?O3rt{5BTTIypRP?Y^8XI+mbu_tH))!*ZM05^R#ep)?Fc*>PBlLjZlhiZYVxAitH8u#xj+j_tHZlFlUDIvnI~414wYY*D zf*mjBEFB+MTeW$*@1}7(i6U2ykdgEr5>wCRE&gul19d8ide0$;HE)n0 ztPCwZwVer)6h2gZ3@E0Ano~vfj9OGxbwQm~va(>Pe+w>2`bm>GwVChnnxBb$e~JAI DrR~&2 literal 3924 zcma)9-D_LP6`z^=p{ozuitIRXlHG{?tlHgp34s*jHA^?7lv1}efrYTkh^c z&0Ht3xPqk#w6BFipBC)C<+Y^`ZU2J)3j=*v`jn@>Z%ff*bc9JZPw!6_m*v7efJL*NFeyRuE z=w$nVM7cFMF+pfqhau@slPs(LXw^!3YdUp7WDm=%$T!gFK*PV|pu$qeQW|k_0e8RU zzQQ7=$_u3B+JRSe;43=Xb|<5%N&{r-Vi#RbxkPNsk`i^TxM*0pZ+N3Ch1?hPwQvDq zM8#g<85$WugmbC|)zTUBoIU3E*cWSKkqgw7v6BN1UkY_S=hD5)#(a2bxRME4C!HH-#fWSBYv_ApKlgJEoqjhLr*7`#-k~^yg@)IM>)`8TUJi?0f%ZAe$-&)yRl}L) z#+)W6unz})4Htp~jB2xH^W$dAS8Ld!NFk;ir^mfm!Nm%_`q5wzr_wk&Q>{{=UzcoR z$}=8@KT{NM3_nrp#Aykn8yLHdqOXD!8g_Yu*S$cj3h4S@bd9f8nA)V0)+o^2Ban(Zu6m)f0REMODI;{7Qs0o-Ohhi6Rm3si3r zj@>QRfo)`otRqXX&eypoJ&$1)p>m7eWe(eA7;`6M*inpuX8@kwlqdRS^x3J%y|eR^ zCVll=%vbC@EWa>s`|3Bjcj^L5C9JDrU1`cUcTT;$L`cC*4Ku)4af{TGD`P(uL<{Nl z-taxFTAg2&JHXP~1WT6*ODc}qN6|qSjx{`vRIFe92cM#lZQXMe^i|SH(w*l0(MqrX zByRQx1h$>#sQ#nuecepb=0X2Bl^P>8I}-N>*$H|#`)NCFMx7{0KWJu0adU2aGtoPv ziak6@J3GyXqv}i&y)%XG6-Z&qNg5U>m>|)i>lbpGicD0DPy>H3 z#Q}6XZOXH8Qzb#d;vQz@D9J*N^pYJx5)(vHT5noLJ7t7>DEbZvq5Teby@1#8bJ5!n z8)$9viYW3A4LSwZ0H)$OWia7x+CIFylfX2b>996mE(z zejo5Aa5-mu4A3KZ+pxYx(1p8f5o}!qqm8jQ1tr16CV*1Tix8BT4zV9W=)>VVSmm7| zn8OKvEdAH<8`dRwT|8%4&$&$jMZj7`IME5=ikI_b9(8U`r1TzX`vy}X2be1hiY4%i*9Wmo%&O%s%-N<%DXrcfl zY$~CYJDZ_aF+)j(OMf;)tzxD$4y2m{9Tdob1V+I{`mpU!WeMY0mHWFa^D>BE3yWTq^oKkY)S*k{#liB;6OmudF}bL&}D(yos*fAYIMyv2>DNIEr#0 zJ##42Y6@%}80w4Cn1eAOaK?WvhA@M@aEmLtD4x*b)7`;SyWK=*?S5~t z_b1{=>^Iry?)km{r&zakyZv_5)q7}6d9*}fJ93b@qX^r|zF5DH)*n$cJrYRqn_~3# z|8dxYyAV6lfem~=MqM5GJ~uJ;7Zgp8vcUPkY1l_4 z9+Z=R7}G>`;d--Za1T4ruLnVyeiN~}sBvA248>)?bZKUBL^Y?EnqKJsL)d6`6ZJ9J zFH8L<#{P<;ZGsVZiYM?|VWnA?-EXbXpQkkH#bIbFAp)vAM*I#4NAcqK_l1;ZU!5HUt3i)zYok) S{W>Nl*ezt-vz!R(4fbDlFiwpC diff --git a/amazons-works/__pycache__/view.cpython-310.pyc b/amazons-works/__pycache__/view.cpython-310.pyc index 658887bfd573815d49f837f15e3c97b6c8fba6ab..16291d733226caad652b77aec38cc27731e409f9 100644 GIT binary patch literal 1008 zcmZvb%Z}496ozf*(zLV)3B)iP=`5wj|< z0fHra9)l;ymQ`P2R-BWhQb(z)bA0?e{_MDa%E@Fzp#A;xT|RaQ`Ge=nobe$A zbWF#r(GooBwqfl-G{^n{BTLqV;z8+}Ha)ZKEBWF`=MXOFkgVwek?sN6QN6vYzgHc! zYR3*b3J~_NQSGx)?Xyw6%^r4acy`})Cbq^cWJ{#3O8&wFr)$UI2 zAp58L3mA{u+a9-bXrOR1t%jTnKIaLS6??@s{)0D^Z?NB>12<@&iXHQcy@YtdtMOa= z#PCHXR!Z|KfZ8r~aTI!uA8K!*Q#7Kny7r6}R@D#Bm5oJW(@Pb%>*A!83O)mGUV`Tu zTeb;5yxOtL6bo|~l1~HrvHNkVAAmFseSIGvWTk2B-5MP&+RX3p(D1r}1}AwbmzjEv PuVw;B0l7y5HunDm$_~C= literal 1031 zcmZvbJ#P~+7{_hjOD;_U9T0`h8#)9%wJ=r)sZ$5C6bUIpik!142lo=$PEk%}3SR>W zHdt8rHeQ+X6*}=ecL}t*IC@_Ecl`6qJ+4NhJp%3budnjVBjgWuZZ-y;mtf`zI7uYU z$!m-(rv;m^!kc)MNKg7-$i$a{3?T-xcTVDH4Kqkg9eo@#7n-H9s&IZO3YFr>woyoM zl~XXo!C6@4Bh!19O17e(VYPDtxwp+@f9zOkotNgu1!=B?j+yphriK$VD^7nB-G}`8 zD0yEMDtVWcW%BCH=|yIhNOCcorb0`Th(gp=Y38|DCYPD|bU0t?9?V0S3Bg5lNQbP^ zQrzgaVIF`roBjbk-1Lf4jIik@!iJmZTY5!4Fc~}~Xe)X^WOx8a`lt4Gs?koh->Mrn zTv9^;!VWg7T{fy+HmbMTgAE)0yMv8tmyK$djp}XoaKi?52OHHc8`UlwRWQ8O&7F*p z{muIhj0f#)-)YCNkm9@JdhqmrbDmvfb)R#=XFTPyX3x3CuX|1T8si#kbB%>nvuC_! z$6!ai9-i4phGXF<&FctqyU^uf?7LvDGptTywF`_DR=N8Z%1%XUvr9E?r%cmIDtH^g ztb#&pYPEIv8ub7iCT1U8#3CBex0@fQ&FDA|^*tDLtTIj2xAl*;+l=2J;ychtbJ0mr T$wjVS;JHi$E+YFhV#Dw+>)^sa diff --git a/amazons-works/game.py b/amazons-works/game.py index 9a1e1cd..8b17db0 100644 --- a/amazons-works/game.py +++ b/amazons-works/game.py @@ -10,27 +10,41 @@ translator = { 'd4':[0,3], 'd3':[1,3], 'd2':[2,3], 'd1':[3,3] } +def good_square_checker(square): + square_names = ['a1', 'a2', 'a3', 'a4', 'b1', 'b2', 'b3', 'b4', 'c1', 'c2', 'c3', 'c4', 'd1', 'd2', 'd3', 'd4'] + if square not in square_names: + return False + else: + return True + def turn(): - global board move_chosen = False while move_chosen == False: tui(board) print("Valid coordinates look like: \'b2\' or \'c4\'") - amazon = translator[(input("The starting coordinates of the amazon of your choice: "))] - move = translator[(input("The coordinates of the square you'd like to move to: "))] - burn = translator[(input("The coordinates of the square you'd like to set aflame: "))] - choice = ((amazon[0],amazon[1]),move,burn) + amazon = 'none' + move = 'none' + burn = 'none' + while good_square_checker(amazon) == False: + amazon = input("Choose a square containing the amazon of your choice: ") + while good_square_checker(move) == False: + move = input("Choose a square she can move to: ") + while good_square_checker(burn) == False: + burn = input("Choose a square she can then shoot: ") + choice = ((translator[amazon][0],translator[amazon][1]),translator[move],translator[burn]) + print(choice) print(board.possible_moves()) if choice in board.possible_moves(): board.state = board.get_successor_state(choice) move_chosen = True else: - print(str(choice)+" is not a valid move.") + input("That is not a valid move. Press enter to continue.") def play(): while len(board.possible_moves())>0: turn() - return ("Player "+str(get_active_player_code()-1)+" loses!") + tui(board) + print("Player "+str(board.get_active_player_code()-1)+" loses!") play()