def mueveHumano(self, desde, hasta, coronacion=None): jgSel = self.checkMueveHumano(desde, hasta, coronacion) if not jgSel: return False fen = self.partida.ultPosicion.fen() pv = jgSel.movimiento().lower() if self.is_opening: op_pv = self.liPVopening[self.posOpening] if pv != op_pv: if self.must_win: QTUtil2.mensajeTemporal(self.pantalla, _("Wrong move"), 2) self.procesarAccion(k_reiniciar) else: QTUtil2.mensError( self.pantalla, "%s\n%s" % (_("Wrong move"), _("Right move: %s") % Partida.pv_san(fen, op_pv))) self.sigueHumano() return False self.posOpening += 1 if self.posOpening == len(self.liPVopening): self.is_opening = False self.movimientosPiezas(jgSel.liMovs) self.partida.ultPosicion = jgSel.posicion self.masJugada(jgSel, True) self.error = "" self.siguienteJugada() return True
def hechaJugada(self, jg): self.tablero.desactivaTodas() self.jg = jg self.ponToolbar(self.seguir, self.analizar) donePV = jg.movimiento().lower() dicResults = self.alm.dicResults mens = "<h2>%s</h2><br>" % self.alm.name mens += '<table><tr><th>%s</th><th>%s</th></tr>' % (_("Move"), _("Points")) mx = 0 ok = False stylePV = ' style="color:red;"' for pv, points in dicResults.items(): if donePV == pv.lower(): ok = True mas = stylePV else: mas = "" san = Partida.pv_san(self.alm.fen, pv) mens += '<tr%s><td align="center">%s</td><td align="right">%d</td></tr>' % ( mas, san, points) if points > mx: mx = points if not ok: san = Partida.pv_san(self.alm.fen, donePV) mens += '<tr%s><td align="center">%s</td><td align="right">%d</td></tr>' % ( stylePV, san, 0) mens += "</table>" self.alm.donePV = donePV self.alm.puntos = dicResults.get(donePV, 0) self.alm.total = mx mens += "<br><h2>%s: %d/%d</h2>" % (_("Points"), self.alm.puntos, self.alm.total) self.lbJuego.ponTexto(mens) self.workmap.winAim(donePV)