def state_trappedBishops (model, ply, phase): """ Check for bishops trapped at A2/H2/A7/H7 """ board = model.getBoardAtPly(ply).board oldboard = model.getBoardAtPly(ply-1).board opcolor = board.color color = 1-opcolor move = model.getMoveAtPly(ply-1).move tcord = TCORD(move) # Only a pawn is able to trap a bishop if board.arBoard[tcord] != PAWN: return if tcord == B3: cord = A2 elif tcord == G3: cord = H2 elif tcord == B6: cord = A7 elif tcord == G6: cord = H7 else: return s = leval.evalTrappedBishops (board, opcolor) olds = leval.evalTrappedBishops (oldboard, opcolor) # We have got more points -> We have trapped a bishop if s > olds: yield 300/phase, _("%(opcolor)s has a new trapped bishop on %(cord)s") % { 'opcolor': reprColor[opcolor], 'cord': reprCord[cord]}
def state_trappedBishops(model, ply, phase): """ Check for bishops trapped at A2/H2/A7/H7 """ board = model.getBoardAtPly(ply).board oldboard = model.getBoardAtPly(ply - 1).board opcolor = board.color color = 1 - opcolor move = model.getMoveAtPly(ply - 1).move tcord = TCORD(move) # Only a pawn is able to trap a bishop if board.arBoard[tcord] != PAWN: return if tcord == B3: cord = A2 elif tcord == G3: cord = H2 elif tcord == B6: cord = A7 elif tcord == G6: cord = H7 else: return s = leval.evalTrappedBishops(board, opcolor, phase) olds = leval.evalTrappedBishops(oldboard, opcolor, phase) # We have got more points -> We have trapped a bishop if s > olds: yield 300 / phase, _( "%(opcolor)s has a new trapped bishop on %(cord)s") % { 'opcolor': reprColor[opcolor], 'cord': reprCord[cord] }
def state_trappedBishops (model, phase): """ Check for bishops trapped at A2/H2/A7/H7 """ board = model.boards[-1].board oldboard = model.boards[-2].board opcolor = board.color color = 1-opcolor move = model.moves[-1].move tcord = TCORD(move) # Only a pawn is able to trap a bishop if board.arBoard[tcord] != PAWN: return if tcord == B3: cord = A2 elif tcord == G3: cord = H2 elif tcord == B6: cord = A7 elif tcord == G6: cord = H7 else: return s = leval.evalTrappedBishops (board) oldboard.setColor(1-oldboard.color) olds = leval.evalTrappedBishops (oldboard) oldboard.setColor(1-oldboard.color) # We have got more points -> We have trapped a bishop if s > olds: yield 300/phase, _("%s has a new trapped bishop on %s") % \ (reprColor[opcolor], reprCord[cord])