From 6f53b723243492905a9491c375f5c08b0ce8c11e Mon Sep 17 00:00:00 2001 From: Agata Halik Date: Fri, 9 Jun 2023 23:16:08 +0200 Subject: [PATCH] class move --- __pycache__/game.cpython-310.pyc | Bin 2750 -> 2205 bytes __pycache__/move.cpython-310.pyc | Bin 2557 -> 3261 bytes game.py | 41 +------------------ move.py | 66 ++++++++++++++++++++++++------- 4 files changed, 52 insertions(+), 55 deletions(-) diff --git a/__pycache__/game.cpython-310.pyc b/__pycache__/game.cpython-310.pyc index 752b41b52d5b21f5b1633b9db4398df96560716f..5d7f2f7e2072090cdb988d365aca9dcaec8371db 100644 GIT binary patch delta 128 zcmdldI#-Y{pO=@50SMMkY);AK*~llz&dmbkIs!}7j^ni90olO8 V$ic+J$j3DK9j6DQ&17?~b^!kF8|?r9 delta 659 zcmaixJxjw-6hQNm_9ji+*cL5TL=gvVEjozcpn|xFgM-y22t~aL_Txoj)TNN2hz>5A zO%N=uE`qcFz(3%x@!m^UG4M{_J1-$8$xHET%nR~)*PtW+(8uM{hgY<-HZ8YkTt2C! zW>3XEg=WR*8BHrn(cG#SeMPG@%~Rq*e0u2Zp3$-p+GeeKGXt|>R7<;l`nYp&bkYtL{f{umC@@NlImQfQp5Za7 zj2dHsG0Lbj%8Y5oIHBq$7j}6udlm-W=1I`G>gpfsTt~hmCJb);OcV@ve4r_* j-=n)7<(N6;TAp$h4b!3XUjzQ#pH#`Wy{*=hvUB$f*nEk! diff --git a/__pycache__/move.cpython-310.pyc b/__pycache__/move.cpython-310.pyc index fad87f4f7e7e1a040586ff3f9267111079ec4cf0..e616434a01385c1cbe20dee5ec7d3db0f9c89b80 100644 GIT binary patch literal 3261 zcmcImNpBoQ6t3!Rx@Y%zVvn;L1QLUkkOPPiLdaqQ!b%iyPEAm2Jk_zg-7{@hx3gG| z6lwAoxFY+=kKl(;S5CeXgir(#->V)^9NQc?Fr)hFZC%T&_g+<6tCbmkFMb$_pWBT6 zO3cBZ3FaDFwgnJO@PrMx&pFXXVhl{*)U=sc1KYPXZ6(g2O7XZ;5rQdzhbfxw3DhJt;sqOBS(PP%W?bPc`z&1M*qk+m2NSMKy_w1dCNKCeI;GM@|P z8-fetIrB|n3Jbj@Y~i4{Lr0W^`<#uqUjprkvZh^8p_MA@cKR^v8wZ9bnr66(mR;nG zZF9lr*ftAT&OsY<7z>;M+SGDW%dN58%IzIzo5kiXS(#&wX%3^rrPu{x6d;>pu?MTN zI7SmdGq%RqpfTG{WtYj7qw?5`tHNG0w61(qA9#69@DXAGx?}Z%)?BP@GF$8g_2Z;F zja{ZkI$|F;;nmU|3AeF54dlu_3!tnuoaVjmlwWxu(?QTrlg+_Unb9!!T`iI6Bj3x@ zvBq~mLL@2Z)pQc(c__00!eF>LSO%@^Wr{E5=`M+~T-obU*bfzdti07;78IN{>x+Z{kt-a z!?k>AtJhzBa-Y7vu>M4qi3nu$u$R>EMK%v8^E#(iH|o4&&hQRDjpm|t_(`;_#%=og z^_OpiAi2vy(;>KwfLy_`1qJe4hx*7^VBepAY8>F+eQM&c%-Gtd;6kv(wqR?f{P?gm zcDDIg&UQ*~YIhML8?B8>?(TSk=M*Xk_gw??SBOTd=%BA^T{X7j+6W1P&>Q^sZ?Ywf zSB(*5K|@nbP*VrS8IM1iU-OeSv_Q4S$vLg*A|czL$qy`U=){>KUtr`DI?WDg0%*q8 z)7rX?G@C)1{c==}-OdUNdnMh8qx!(kJCig!UO%^Ua+|zJT3T~^*FrHpW(~0&oH{x~ zZ10?=%KAKvrIU%Oml7GG&M~Wd~y!9=ME&Ti@1{& zf;!;dOFrM7_sh#^nitvRH+51`X6~o3EqlY2P)^ZDErMx+lK|!P*4M+KP!3E)I#3?< z+FY4QI8-*0W;0Z!Xc*;DFHsfnkr=0?Nd=)YR?&pYDT;<)-xrRHi2WcM;%iTL+Ok@Z zgT48bgcE-UqQTt~q=>QS0U=}>k^GY3$uagm{dGp;?#%yKDDL)*3FDYDdi zDJ{w*h6|gs0tO|5a}NX7R0Q?dvyVq)*q{ z{*P#SFi@p_@eHtyXBXV-3gap0CE`u+O<_%Vx~4nAneZj>^TM6*9{Be}dBRt~Uli2| zUju(h)F*rc{8iB``0iBUQpK<9ELQx+9xYJuo3g6=1xdG*;$Q69y1%tYSB>Id%8zva zmG)Pc`%aMohkbYvR^Oq$Ai^~)ZZ%x^%Bs1)11s(yK+pXXSaM$iZTByr>AnK;ty%5S zqq+63UX_dtrv#r7&<5pI0@|XyM({bo4T9?gbWnPulU)|c zeR!8m*rjB<0NCp2RUh*NxzqKOiw6lF7(t-Q0V+bVKGpR<$cr?#Xr zpezbqoj=N1(+_T`58YYTZ*Hki-jaBBOG-gyZ_vxT$Tcee(j$0>fXd}@>r?KPV$WA8 R7c$DfDx)Iy`tS0V@ehl)&T0Sv delta 1071 zcmZWoJ#5oZ5PoMnw&OTy)3`q&DQ!`a8dMMnA&{7${0WJIN+&N?8>cjG6RXcIERiCV zP7F}=2G(R`D`Kw1&cN=0Ju5;`A&|IxjSx*O-FJ82yLa#I-t%GcPazj(vlhdz{-)!< z%6-Ub&|W~d#$523tJG89N!TKA2otYRkGqwsmHnxZ6wk8BlX z2_^c3&|(1#pan(NQi?24TFg`ZA=X1yMzvK8(~7LC^%%cCAO~Ea1Suc36v?Y6*E}WG zeWe3HiBGNhLrkD}#>xGG(lvVw*!f{PNMoPca-wb3o6k64KdTi>SO9X<0Zk>D`lHT;~+Td7&tJ6Vxl-O0gm{rF2d`N zN9q??#9GGVGaY3gxQ=##nvZ@;E43xrxI{65-U0D8tPss;-x+_O0DuNL5^Tt9Oyfb-SkGixwcK?aqVOCctU)Hf<_7Q1Y-z^Rgdb; zC|+w;Yg{9i4(0^{njyDDV3cnp8sDvMRy00A+&Dr4Jb@}NkuRZ4WV(S5)}sQ8=td94 zp>fm9DHCuO??L=FO5&?E1(E2b_uDfv%k91*^-`anbpm(#R7C=J`}EWkxYyUEzRzc+ zejrb)fU7rm8|yVbQ~|$)QMXW{%LpcDppBT{5VPiY#Ekg^F>M}cAP%gH>T<;p?=tf% ziH#$O>(xdr-VA*{jeGf30!sJa5&t^n^k>t}L}Zvu0SipqUXXlcjN4+`UYVx=o+g+l MpwLsvgs?CC1;Y~NL;wH) diff --git a/game.py b/game.py index 5ac998d..ce0353c 100644 --- a/game.py +++ b/game.py @@ -77,46 +77,7 @@ class Game: if ruch == None: return Move.move_boot(self, 'black') - else: - self.from_column = ruch[0] - self.from_row = int(ruch[1]) - self.to_column = ruch[3] - self.to_row = int(ruch[4]) - - if self.from_column == 'A': - self.from_column = 0 - elif self.from_column == 'B': - self.from_column = 1 - elif self.from_column == 'C': - self.from_column = 2 - elif self.from_column == 'D': - self.from_column = 3 - elif self.from_column == 'E': - self.from_column = 4 - elif self.from_column == 'F': - self.from_column = 5 - elif self.from_column == 'G': - self.from_column = 6 - elif self.from_column == 'H': - self.from_column = 7 - - if self.to_column == 'A': - self.to_column = 0 - elif self.to_column == 'B': - self.to_column = 1 - elif self.to_column == 'C': - self.to_column = 2 - elif self.to_column == 'D': - self.to_column = 3 - elif self.to_column == 'E': - self.to_column = 4 - elif self.to_column == 'F': - self.to_column = 5 - elif self.to_column == 'G': - self.to_column = 6 - elif self.to_column == 'H': - self.to_column = 7 - self.color = Move.move_rival(self, self.from_row, self.from_column, self.to_row, self.to_column) + self.color = Move.move_rival(self, ruch) return Move.move_boot(self, self.color) diff --git a/move.py b/move.py index fd75309..104bf2f 100644 --- a/move.py +++ b/move.py @@ -9,19 +9,27 @@ from king import King import random class Move: - @staticmethod - def move_rival(self, from_row, from_column, to_row, to_column): + + def move_rival(self, ruch): + self.from_column = ruch[0] + self.from_row = int(ruch[1]) + self.to_column = ruch[3] + self.to_row = int(ruch[4]) + + self.to_column = Move.letters_to__numbers(self.to_column) + self.from_column = Move.letters_to__numbers(self.from_column) + #update - self.x = self.board.boardlist[from_row][from_column].piece - self.board.boardlist[from_row][from_column].piece = None - if (self.board.boardlist[to_row][to_column].has_piece()): - if (self.board.boardlist[to_row][to_column].piece.name == 'king'): - self.board.boardlist[to_row][to_column].piece = self.x + self.x = self.board.boardlist[self.from_row][self.from_column].piece + self.board.boardlist[self.from_row][self.from_column].piece = None + if (self.board.boardlist[self.to_row][self.to_column].has_piece()): + if (self.board.boardlist[self.to_row][self.to_column].piece.name == 'king'): + self.board.boardlist[self.to_row][self.to_column].piece = self.x exit(0) - self.board.boardlist[to_row][to_column].piece = self.x - self.board.boardlist[to_row][to_column].piece.moved = True - self.board.boardlist[to_row][to_column].piece.delete_moves() - return self.board.boardlist[to_row][to_column].piece.color + self.board.boardlist[self.to_row][self.to_column].piece = self.x + self.board.boardlist[self.to_row][self.to_column].piece.moved = True + self.board.boardlist[self.to_row][self.to_column].piece.delete_moves() + return self.board.boardlist[self.to_row][self.to_column].piece.color def move_boot(self, color): self.boot_piece = [] self.piece_row_column = [] @@ -49,10 +57,13 @@ class Move: self.board.boardlist[self.final_row][self.final_column].piece = self.x exit(0) self.board.boardlist[self.final_row][self.final_column].piece = self.x + #pawn promotion - if isinstance(self.x, Pawn): - if (self.final_row==0) or (self.final_row==7): - self.board.boardlist[self.final_row][self.final_column].piece = Queen(self.x.color) + Move.pawn_promotion(self, self.x, self.final_row, self.final_column) + #if isinstance(self.x, Pawn): + # if (self.final_row==0) or (self.final_row==7): + # self.board.boardlist[self.final_row][self.final_column].piece = Queen(self.x.color) + self.board.boardlist[self.final_row][self.final_column].piece.moved = True self.board.boardlist[self.final_row][self.final_column].piece.delete_moves() #zmiana ruchu na litery @@ -61,7 +72,12 @@ class Move: self.ruch = str(self.initial_column) + str(self.initial_row) + ' ' + str(self.final_column) + str(self.final_row) return self.ruch - + def pawn_promotion(self, x, final_row, final_column): + if isinstance(x, Pawn): + if (final_row==0) or (final_row==7): + self.board.boardlist[final_row][final_column].piece = Queen(x.color) + + @staticmethod def numbers_to_letters(number): if number == 0: number = "A" @@ -80,3 +96,23 @@ class Move: elif number == 7: number = "H" return number + + @staticmethod + def letters_to__numbers(letter): + if letter == 'A': + letter = 0 + elif letter == 'B': + letter=1 + elif letter == 'C': + letter = 2 + elif letter == 'D': + letter = 3 + elif letter == 'E': + letter = 4 + elif letter == 'F': + letter = 5 + elif letter == 'G': + letter = 6 + elif letter == 'H': + letter = 7 + return letter