def _process(self): self.msg = None mA = self.myAgent #Esperamos nuestro turno self.msg = self._receive(True) self.tiro = [] if len(mA.tiradaAct) == 0: print nombreAgente+": Me toca empezar a tirar" # Elijo la jugada para empezar self.empezar() else: print nombreAgente+": Me toca superar ->", for i in map(lambda x: Carta(x), mA.tiradaAct): print i, print # Elijo la jugada para superar self.superar() if len(self.tiro)==0: #Pasamos print nombreAgente+": Paso" mA.send2game("inform", "Tiro", "") else: try: #Borramos las cartas que tiramos map(mA.cartas.remove, self.tiro) print nombreAgente+": Tiro ->", for i in map(lambda x: Carta(x), self.tiro): print i, print mA.send2game("inform", "Tiro", jugada(self.tiro) ) if len(mA.cartas) == 0: mA.send2game("inform", "Salgo", None) except: #Si hay algun problema al borrar las cartas, pasamos print nombreAgente+": Paso" mA.send2game("inform", "Tiro", "")
def _process(self): self.msg = None mA = self.myAgent #Esperamos nuestro turno self.msg = self._receive(True) self.tiro = [] if len(mA.tiradaAct) == 0: print nombreAgente + ": Me toca empezar a tirar" # Elijo la jugada para empezar self.empezar() else: print nombreAgente + ": Me toca superar ->", for i in map(lambda x: Carta(x), mA.tiradaAct): print i, print # Elijo la jugada para superar self.superar() if len(self.tiro) == 0: #Pasamos print nombreAgente + ": Paso" mA.send2game("inform", "Tiro", "") else: try: #Borramos las cartas que tiramos map(mA.cartas.remove, self.tiro) print nombreAgente + ": Tiro ->", for i in map(lambda x: Carta(x), self.tiro): print i, print mA.send2game("inform", "Tiro", jugada(self.tiro)) if len(mA.cartas) == 0: mA.send2game("inform", "Salgo", None) except: #Si hay algun problema al borrar las cartas, pasamos print nombreAgente + ": Paso" mA.send2game("inform", "Tiro", "")
def _process(self): self.msg = None mA = self.myAgent print print "---------------------------------" print "- NUEVA RONDA -" print "---------------------------------" mA.mostrarRoles() mA.finP = False ply = 0 # El ultimo en tirar ultTir = -1 mA.repartir() # Revolucion for i in mA.orden[2:]: mA.send2player(i, "inform", "Revolucion", None) # Esperamos la respuesta print ">> Esperamos revolucionarios" time.sleep(5) if not mA.revolucion: mA.impuestos() time.sleep(1) # Esperamos que se pasen las cartas else: mA.revolucion = False while not mA.finP: if mA.orden[ply] < 0: # Si tras salir nadie nos ha mejorado, tira el siguiente if ultTir == ply: ultTir = (ultTir+1)%mA.nPlayers ply = (ply+1)%mA.nPlayers continue # Si han pasado todos, empiezo a tirar if ultTir == ply: mA.send2player(mA.orden[ply], "inform", "Tirada", "") print ">> Inicia" time.sleep(0.5) # Indicamos que tire al jugador que toca mA.send2player(mA.orden[ply], "request", "Tira", None) # Esperamos su tirada self.msg = self._receive(True, 1) if not self.msg: continue tirada = self.msg.getContent() vTira = jugada(string.split(tirada)) jugador, name = mA.datosSender(self.msg.getSender().getName()) if len(vTira)==0: print name,"PASA" else: print name,"TIRA", for i in map(lambda x: Carta(string.atoi(x)), string.split(tirada)): print i, print ultTir = ply mA.send2all("inform", "Tirada", tirada) ply = (ply+1)%mA.nPlayers time.sleep(0.5) mA.nRondas = mA.nRondas-1 if mA.nRondas<=0: print "\n>> FIN DE LA PARTIDA" mA.mostrarRoles() mA.send2all("refuse", "FIN", None) self.myAgent._kill() #Nos bloqueamos hasta que se muera el agente self.msg = self._receive(True)
def _process(self): self.msg = None mA = self.myAgent print print "---------------------------------" print "- NUEVA RONDA -" print "---------------------------------" mA.mostrarRoles() mA.finP = False ply = 0 # El ultimo en tirar ultTir = -1 mA.repartir() # Revolucion for i in mA.orden[2:]: mA.send2player(i, "inform", "Revolucion", None) # Esperamos la respuesta print ">> Esperamos revolucionarios" time.sleep(5) if not mA.revolucion: mA.impuestos() time.sleep(1) # Esperamos que se pasen las cartas else: mA.revolucion = False while not mA.finP: if mA.orden[ply] < 0: # Si tras salir nadie nos ha mejorado, tira el siguiente if ultTir == ply: ultTir = (ultTir + 1) % mA.nPlayers ply = (ply + 1) % mA.nPlayers continue # Si han pasado todos, empiezo a tirar if ultTir == ply: mA.send2player(mA.orden[ply], "inform", "Tirada", "") print ">> Inicia" time.sleep(0.5) # Indicamos que tire al jugador que toca mA.send2player(mA.orden[ply], "request", "Tira", None) # Esperamos su tirada self.msg = self._receive(True, 1) if not self.msg: continue tirada = self.msg.getContent() vTira = jugada(string.split(tirada)) jugador, name = mA.datosSender(self.msg.getSender().getName()) if len(vTira) == 0: print name, "PASA" else: print name, "TIRA", for i in map(lambda x: Carta(string.atoi(x)), string.split(tirada)): print i, print ultTir = ply mA.send2all("inform", "Tirada", tirada) ply = (ply + 1) % mA.nPlayers time.sleep(0.5) mA.nRondas = mA.nRondas - 1 if mA.nRondas <= 0: print "\n>> FIN DE LA PARTIDA" mA.mostrarRoles() mA.send2all("refuse", "FIN", None) self.myAgent._kill() #Nos bloqueamos hasta que se muera el agente self.msg = self._receive(True)