def __init__(self): self.torneo = None self.grafo, jugadores = entregar_grafo() self.tu_equipo = Equipo(Listirijilla(), "Tu Equipo") self.equipos = self.cargar_equipos() equiposs = Listirijilla() for equipo in self.equipos: gui_repr = Listirijilla(equipo.nombre) gui_repr.append(equipo.esperanza) equiposs.append(gui_repr) # No cambiar esta línea self.gui = Window(self, jugadores, equiposs)
def get(self): try: name = self.request.GET['name'] win = self.request.GET['win'] lose = self.request.GET['lose'] except: name = None win = None lose = None if name == None: self.redirect("/main") return if win == None: self.redirect("/main") return if lose == None: self.redirect("/main") return else: partida = Partida.query( ndb.AND(Partida.name == name, Partida.user_id == users.get_current_user().user_id())) win = Equipo.query( ndb.AND(Equipo.name == win, Equipo.user_id == users.get_current_user().user_id())) lose = Equipo.query( ndb.AND(Equipo.name == lose, Equipo.user_id == users.get_current_user().user_id())) for ga in partida: ga.estado = "jugado" ga.put() for w in win: w.wins = w.wins + 1 lo = w.loses if w.loses == 0: lo = 1 w.ratio = w.wins / lo w.elo = w.elo + 10 w.put() for w in lose: w.loses = w.loses + 1 w.ratio = w.wins / w.loses w.elo = w.elo - 10 w.put() time.sleep(1) self.redirect("/main")
def get(self): try: name = self.request.GET['name'] print(str.format("esto es el atrib {0}", name)) except: name = None if name == None: self.redirect("/main") return else: jugador = Jugador.query( ndb.AND(Jugador.name == name, Jugador.user_id == users.get_current_user().user_id())) teams = Equipo.query( ndb.AND( ndb.OR(Equipo.nameJug1 == name, Equipo.nameJug2 == name), Equipo.user_id == users.get_current_user().user_id())) names = [] for eq in teams: names.append(eq.name) eq.key.delete() games = Partida.query( Partida.user_id == users.get_current_user().user_id()) for ga in games: for name in names: if ga.nameEquipoA == name: ga.key.delete() if ga.nameEquipoB == name: ga.key.delete() for jug in jugador: jug.key.delete() time.sleep(1) self.redirect("/main")
def get(self): try: name = self.request.GET['name'] print(str.format("esto es el atrib {0}",name)) except: name = None if name == None: self.redirect("/main") return else: jugador=Jugador.query(ndb.AND(Jugador.name==name,Jugador.user_id==users.get_current_user().user_id())) teams=Equipo.query(ndb.AND(ndb.OR(Equipo.nameJug1==name,Equipo.nameJug2==name),Equipo.user_id==users.get_current_user().user_id())) names=[] for eq in teams: names.append(eq.name) eq.key.delete() games=Partida.query(Partida.user_id==users.get_current_user().user_id()) for ga in games: for name in names: if ga.nameEquipoA== name: ga.key.delete() if ga.nameEquipoB== name: ga.key.delete() for jug in jugador: jug.key.delete() time.sleep(1) self.redirect("/main")
def get(self): try: name = self.request.GET["name"] win = self.request.GET["win"] lose = self.request.GET["lose"] except: name = None win = None lose = None if name == None: self.redirect("/main") return if win == None: self.redirect("/main") return if lose == None: self.redirect("/main") return else: partida = Partida.query( ndb.AND(Partida.name == name, Partida.user_id == users.get_current_user().user_id()) ) win = Equipo.query(ndb.AND(Equipo.name == win, Equipo.user_id == users.get_current_user().user_id())) lose = Equipo.query(ndb.AND(Equipo.name == lose, Equipo.user_id == users.get_current_user().user_id())) for ga in partida: ga.estado = "jugado" ga.put() for w in win: w.wins = w.wins + 1 lo = w.loses if w.loses == 0: lo = 1 w.ratio = w.wins / lo w.elo = w.elo + 10 w.put() for w in lose: w.loses = w.loses + 1 w.ratio = w.wins / w.loses w.elo = w.elo - 10 w.put() time.sleep(1) self.redirect("/main")
def get(self): try: name = self.request.GET['name'] print(str.format("esto es el atrib {0}",name)) except: name = None if name == None: self.redirect("/player") return else: jugadores=Jugador.query(Jugador.user_id==users.get_current_user().user_id()) partidas=Partida.query(Partida.user_id==users.get_current_user().user_id()) equipos=Equipo.query(Equipo.user_id==users.get_current_user().user_id()) for jugador in jugadores: if jugador.name==name: toret =jugador eq=[] for equipo in equipos: if equipo.nameJug1==name : flag=True for e in eq: if e.name==equipo.name:flag=False if flag==True:eq.append(equipoEnt(equipo.name,equipo.nameJug1,equipo.nameJug2,users.get_current_user().user_id())) if equipo.nameJug2==name : flag=True for e in eq: if e.name==equipo.name:flag=False if flag==True:eq.append(equipoEnt(equipo.name,equipo.nameJug1,equipo.nameJug2,users.get_current_user().user_id())) ga=[] for partida in partidas: for e in eq: if partida.nameEquipoA==e.name : flag=True for g in ga: if g.name==partida.name:flag=False if flag==True:ga.append(partidaEnt(partida.name,partida.nameEquipoA,partida.nameEquipoB,partida.estado,users.get_current_user().user_id())) if partida.nameEquipoB==e.name : flag=True for g in ga: if g.name==partida.name:flag=False if flag==True:ga.append(partidaEnt(partida.name,partida.nameEquipoA,partida.nameEquipoB,partida.estado,users.get_current_user().user_id())) template_values = { "name":toret.name, "posicion":toret.posicion, "equipos":eq, "partidas":ga } template = JINJA_ENVIRONMENT.get_template( "player.html" ) self.response.write(template.render(template_values));
def get(self): equ=Equipo.query(Equipo.user_id==users.get_current_user().user_id()) equipos=[] for p in equ:equipos.append(p) template_values = { "equipos":equipos } template = JINJA_ENVIRONMENT.get_template( "addGame.html" ) self.response.write(template.render(template_values));
def get(self): equ = Equipo.query( Equipo.user_id == users.get_current_user().user_id()) equipos = [] for p in equ: equipos.append(p) template_values = {"equipos": equipos} template = JINJA_ENVIRONMENT.get_template("addGame.html") self.response.write(template.render(template_values))
def __init__(self, name, nameEq1, nameEq2, estado, user_id): self.__name = name self.__estado = estado equipos = Equipo.query() for equipo in equipos: if equipo.name == nameEq1: self.__equipo1 = equipo if equipo.name == nameEq2: self.__equipo2 = equipo self.__user_id = user_id
def __init__(self,name,nameEq1,nameEq2,estado,user_id): self.__name=name self.__estado=estado equipos=Equipo.query() for equipo in equipos: if equipo.name==nameEq1: self.__equipo1=equipo if equipo.name==nameEq2: self.__equipo2=equipo self.__user_id=user_id
def __init__(self): self.imagen = None self.jugador = None self.raza = None self.ataque = None self.destreza = None self.dano = None self.defensa = None self.vidaMax = None self.vida = None self.movimientoMax = None self.movimiento = None self.equipo = Equipo() self.mochila = [] self.monedas = 0 self.herramientas = 0 self.nroReliquias = 0 self.nroPropiedades = 0 self.reliquias = [] self.propiedades = {"castillos": [], "aldeas": []} self.ubicacion = {"x": None, "y": None}
def get(self): pla=Jugador.query(Jugador.user_id==users.get_current_user().user_id()) equ=Equipo.query(Equipo.user_id==users.get_current_user().user_id()) players=[] equipos=[] for p in pla:players.append(p) for p in equ:equipos.append(p) template_values = { "jugadores":players, "equipos":equipos } template = JINJA_ENVIRONMENT.get_template( "addTeam.html" ) self.response.write(template.render(template_values));
def get(self): try: name = self.request.GET['name'] print(str.format("esto es el atrib {0}", name)) except: name = None if name == None: self.redirect("/game") return else: partidas = Partida.query( Partida.user_id == users.get_current_user().user_id()) for partida in partidas: if partida.name == name: toret = partida equipos = Equipo.query( Equipo.user_id == users.get_current_user().user_id()) for equipo in equipos: if equipo.id == toret.idEquipoA: e1 = equipo for equipo in equipos: if equipo.id == toret.idEquipoB: e2 = equipo jugadores = Jugador.query( Jugador.user_id == users.get_current_user().user_id()) for jugador in jugadores: if jugador.id == e1.idJug1: j1 = jugador for jugador in jugadores: if jugador.id == e1.idJug2: j2 = jugador for jugador in jugadores: if jugador.id == e2.idJug1: j3 = jugador for jugador in jugadores: if jugador.id == e2.idJug2: j4 = jugador template_values = { "partida": toret, "e1": e1, "e2": e2, "j1": j1, "j2": j2, "j3": j3, "j4": j4 } template = JINJA_ENVIRONMENT.get_template("game.html") self.response.write(template.render(template_values))
def get(self): pla = Jugador.query( Jugador.user_id == users.get_current_user().user_id()) equ = Equipo.query( Equipo.user_id == users.get_current_user().user_id()) players = [] equipos = [] for p in pla: players.append(p) for p in equ: equipos.append(p) template_values = {"jugadores": players, "equipos": equipos} template = JINJA_ENVIRONMENT.get_template("addTeam.html") self.response.write(template.render(template_values))
def cargar_equipos(self): equipos = Listirijilla() # podria utilizar un for i in range(16), y llamarlos equipo i # con un {}.format, pero es muy fome =D nombres_equipos = Listirijilla() nombres_equipos.append('Super Campeones') nombres_equipos.append('Tatitas FC') nombres_equipos.append('Real Madrazo') nombres_equipos.append('Scooby doo papa') nombres_equipos.append('Alumbrados FC') nombres_equipos.append('Ratones FC') nombres_equipos.append('Laucheros FC') nombres_equipos.append('Coca Juniors') nombres_equipos.append('Dream Team') nombres_equipos.append('Error 404 legs not found') nombres_equipos.append('Con la mente en el juego FC') nombres_equipos.append('Gryffindor') nombres_equipos.append('Hufflepuff') nombres_equipos.append('Ravenclaw') nombres_equipos.append('Slytherin') positions = Listirijilla() for nombre in nombres_equipos: jugadores = Listirijilla() for i in range(11): n = random.randint(0, 200) while n in positions: n = random.randint(0, 200) positions.append(n) jugadores.append(self.grafo.jugadores[n]) equipo = Equipo(jugadores, nombre) equipo.matriz_afinidades = self.afinidad_equipo(jugadores) equipos.append(equipo) return equipos
def get(self): try: name = self.request.GET['name'] print(str.format("esto es el atrib {0}",name)) except: name = None if name == None: self.redirect("/game") return else: partidas=Partida.query(Partida.user_id==users.get_current_user().user_id()) for partida in partidas: if partida.name==name: toret =partida equipos=Equipo.query(Equipo.user_id==users.get_current_user().user_id()) for equipo in equipos: if equipo.id==toret.idEquipoA: e1 =equipo for equipo in equipos: if equipo.id==toret.idEquipoB: e2 =equipo jugadores=Jugador.query(Jugador.user_id==users.get_current_user().user_id()) for jugador in jugadores: if jugador.id==e1.idJug1: j1 =jugador for jugador in jugadores: if jugador.id==e1.idJug2: j2 =jugador for jugador in jugadores: if jugador.id==e2.idJug1: j3 =jugador for jugador in jugadores: if jugador.id==e2.idJug2: j4 =jugador template_values = { "partida":toret, "e1":e1, "e2":e2, "j1":j1, "j2":j2, "j3":j3, "j4":j4 } template = JINJA_ENVIRONMENT.get_template( "game.html" ) self.response.write(template.render(template_values));
def equipoIdeal(fecha, jugadores,suplentes): #ordeno por el índice de la fecha jugadores.sort(key=lambda y: y.sensibilidad[0], reverse=True) #Genero un equipo por cada formacion tresCuatrores = Equipo(Formacion(3,4,3,suplentes),COTIZACION_MAX,fecha) cuatrocuatrodos = Equipo(Formacion(4,4,2,suplentes),COTIZACION_MAX,fecha) cuatrotrestres = Equipo(Formacion(4,3,3,suplentes),COTIZACION_MAX,fecha) resultados = [] resultados.append(tresCuatrores) resultados.append(cuatrocuatrodos) resultados.append(cuatrotrestres) #los armo de forma tal que solamente entren como suplentes. for j in jugadores: tresCuatrores.agregar(j, False) cuatrocuatrodos.agregar(j, False) cuatrotrestres.agregar(j, False) resultados.sort(key=lambda x: x.puntaje) return resultados.pop()
def get(self): try: name = self.request.GET['name'] print(str.format("esto es el atrib {0}",name)) except: name = None if name == None: self.redirect("/main") return else: equipo=Equipo.query(ndb.AND(Equipo.name==name,Equipo.user_id==users.get_current_user().user_id())) games=Partida.query(ndb.AND(ndb.OR(Partida.nameEquipoA==name,Partida.nameEquipoB==name),Partida.user_id==users.get_current_user().user_id())) names=[] for ga in games: names.append(ga.name) ga.key.delete() for jug in equipo: jug.key.delete() time.sleep(1) self.redirect("/main")
def jugar_function(team1, team2, rank_eq1, rank_eq2, form_eq1, form_eq2, fecha, hora, etapa, font): starttime = time.time() tiempo = 0 duracion = 90 duracion_extra = 30 fecha = fecha[0] hora = hora[0] etapa = etapa[0] # Info de los equipos equipo_local = team1[0] rank_local = rank_eq1[0] form_local = form_eq1[0] equipo_visitante = team2[0] rank_visitante = rank_eq2[0] form_visitante = form_eq2[0] eq1 = Equipo(equipo_local, rank_local, form_local) eq2 = Equipo(equipo_visitante, rank_visitante, form_visitante) eq1.cargar_probabilidades() eq2.cargar_probabilidades() prediccion = main.prediccion_partido(eq1, eq2) result_sorteo = main.sorteo_saque(eq1, eq2) saca_primero = result_sorteo["gano_balon"] defiende_primero = result_sorteo["gano_cancha"] # Carga la imagen de fondo background_image = load_image('resources/imagenes/bg.jpg') ball_image = load_image('resources/imagenes/ball.png', True) f_prediccion = font.render("Favorito: " + prediccion, 1, COLOR_WHITE) f_fecha = font.render(fecha, 1, COLOR_WHITE) f_hora = font.render(hora + "h", 1, COLOR_WHITE) f_etapa = font.render(etapa, 1, COLOR_WHITE) pygame.mixer.music.load("resources/audio/crowdSound.mp3") pygame.mixer.music.set_volume(0.8) # Comienza el sonido ambiente pygame.mixer.music.play() main_menu.disable() main_menu.reset(1) # Para ver quien gano el saque print("Saca primero: ", saca_primero.nombre) # Comienza el partido main.jugar(saca_primero, defiende_primero, duracion) while main.partido_transcurso: minutos = int(main.tiempo) display_game(eq1, eq2, minutos, background_image, ball_image, f_prediccion, f_fecha, f_hora, f_etapa, font) #time.sleep(0.1 - ((time.time() - starttime) % 0.1)) # para que el sonido no se distorsione # Compruebo si hay extra-tiempo if eq1.goles == eq2.goles and etapa != "Fase de Grupos": main.jugar(defiende_primero, saca_primero, duracion_extra) while main.partido_transcurso: minutos = int(main.tiempo) display_game(eq1, eq2, minutos, background_image, ball_image, f_prediccion, f_fecha, f_hora, f_etapa, font, True) #time.sleep(0.1 - ((time.time() - starttime) % 0.1)) # para que el sonido no se distorsione main_menu.disable() main_menu.reset(1) pygame.mixer.music.stop() display_final(font)
class Avatar(object): def __init__(self): self.imagen = None self.jugador = None self.raza = None self.ataque = None self.destreza = None self.dano = None self.defensa = None self.vidaMax = None self.vida = None self.movimientoMax = None self.movimiento = None self.equipo = Equipo() self.mochila = [] self.monedas = 0 self.herramientas = 0 self.nroReliquias = 0 self.nroPropiedades = 0 self.reliquias = [] self.propiedades = {"castillos": [], "aldeas": []} self.ubicacion = {"x": None, "y": None} def init2(self, molde): self.imagen = molde["imagen"] self.raza = molde["nombre"] self.ataque = molde["ataque"] self.destreza = molde["destreza"] self.dano = molde["dano"] self.defensa = molde["defensa"] self.vida = molde["vida"] self.movimiento = molde["movimiento"] self.movimientoMax = molde["movimiento"] self.vidaMax = molde["vida"] def toJSON(self): return { "imagen": self.imagen, "raza": self.raza, "ataque": self.ataque, "destreza": self.destreza, "dano": self.dano, "defensa": self.defensa, "vidaMax": self.vidaMax, "vida": self.vida, "movimientoMax": self.movimientoMax, "movimiento": self.movimiento, "equipo": self.equipo.toJSON(), "mochila": self.mochila, "monedas": self.monedas, "herramientas": self.herramientas, "nroReliquias": self.nroReliquias, "reliquias": self.reliquias, "nroPropiedades": self.nroPropiedades, "propiedades": self.propiedadesToJSON() } def setJugador(self, jugador): self.jugador = jugador def asignarPrimerCastillo(self, castillo): self.agregarCastillo(castillo) self.ubicacion["x"] = castillo.columna self.ubicacion["y"] = castillo.fila def agregarCastillo(self, castillo): castillo.propietario = self.jugador self.propiedades["castillos"].append(castillo) self.contarPropiedades() def contarPropiedades(self): self.nroPropiedades = len(self.propiedades["castillos"]) + len( self.propiedades["aldeas"]) def propiedadesToJSON(self): castillos = [] aldeas = [] for c in self.propiedades["castillos"]: castillos.append(c.toJSON()) for a in self.propiedades["aldeas"]: castillos.append(a.toJSON()) return {"castillos": castillos, "aldeas": aldeas}
def get(self): try: name = self.request.GET['name'] print(str.format("esto es el atrib {0}", name)) except: name = None if name == None: self.redirect("/player") return else: jugadores = Jugador.query( Jugador.user_id == users.get_current_user().user_id()) partidas = Partida.query( Partida.user_id == users.get_current_user().user_id()) equipos = Equipo.query( Equipo.user_id == users.get_current_user().user_id()) for jugador in jugadores: if jugador.name == name: toret = jugador eq = [] for equipo in equipos: if equipo.nameJug1 == name: flag = True for e in eq: if e.name == equipo.name: flag = False if flag == True: eq.append( equipoEnt(equipo.name, equipo.nameJug1, equipo.nameJug2, users.get_current_user().user_id())) if equipo.nameJug2 == name: flag = True for e in eq: if e.name == equipo.name: flag = False if flag == True: eq.append( equipoEnt(equipo.name, equipo.nameJug1, equipo.nameJug2, users.get_current_user().user_id())) ga = [] for partida in partidas: for e in eq: if partida.nameEquipoA == e.name: flag = True for g in ga: if g.name == partida.name: flag = False if flag == True: ga.append( partidaEnt(partida.name, partida.nameEquipoA, partida.nameEquipoB, partida.estado, users.get_current_user().user_id())) if partida.nameEquipoB == e.name: flag = True for g in ga: if g.name == partida.name: flag = False if flag == True: ga.append( partidaEnt(partida.name, partida.nameEquipoA, partida.nameEquipoB, partida.estado, users.get_current_user().user_id())) template_values = { "name": toret.name, "posicion": toret.posicion, "equipos": eq, "partidas": ga } template = JINJA_ENVIRONMENT.get_template("player.html") self.response.write(template.render(template_values))
def main(): if len(sys.argv) != 3: script = sys.argv[0].split('/')[-1] print("Usage: {} [equipo info|plantilla] [jornada n]".format(script)) print("\t{} Atletico info".format(script)) print("\t{} jornada 1".format(script)) sys.exit(0) rastreo = sys.argv[1] valor = sys.argv[2] if rastreo == 'jornada': """ rastrea todos los partidos de la jornada pasada como argumento """ if int(valor) < 1 or int(valor) > 38: print("joranda no válida, valores admitidos entre 1 y 38") else: print("Rastreando jornada {}".format(valor)) jornada = Jornada(valor) jornada.rastrea() jornada.envia(True) elif rastreo == 'equipos': if valor == 'info': """ rastrea la informacion de todos los equipos """ for equipo in Util.lista_equipos().keys(): print("Rastreando", equipo, "......") info_equipo = Equipo(Util.equipo_equivalente_rf(equipo)) info_equipo.rastrea() info_equipo.envia(True) print("----------------------------------------------") else: """ rastrea la plantilla de los equipos que no tienen jugadores """ for equipo in Util.lista_equipos_sin_plantilla().keys(): print("Rastreando plantilla de ", equipo, "......") plantilla = Plantilla(Util.equipo_equivalente_rf(equipo)) plantilla.rastrea() plantilla.envia(True) print('----------------------------------------------') else: if valor == 'info': """ se rastreara la informacion del equipo pasado como argumento """ print("Rastreando", rastreo, "......") equipo = Equipo(rastreo) equipo.rastrea() equipo.envia(True) else: """ se rastreara la plantilla del equipo pasado como argumento """ print("Rastreando plantilla de ", rastreo, "......") plantilla = Plantilla(rastreo) plantilla.rastrea() plantilla.envia(True)
def _iniciar_ronda(strong): with t.location(0, 2): print(t.clear(), strong) print("El asterisco (*) indica el equipo que posee la pelota.") #Determina los cruces de octavos. def octavos(A, B, C, D, E, F, G, H): o = ((A[1][2], B[2][2]), (C[1][2], D[2][2]), (E[1][2], F[2][2]), (G[1][2], H[2][2]), (A[2][2], B[1][2]), (C[2][2], D[1][2]), (E[2][2], F[1][2]), (G[2][2], H[1][2])) return o #Creacion de los equipos con su nombre, ranking, formacion y grupo. ARG = Equipo("Argentina", 5, "4-3-3", "D") AUS = Equipo("Australia", 36, "4-4-2", "C") BEL = Equipo("Bélgica", 3, "4-3-3", "G") BRA = Equipo("Brasil", 2, "4-3-3", "E") COL = Equipo("Colombia", 16, "4-3-3", "H") CRC = Equipo("Costa Rica", 23, "4-3-3", "E") CRO = Equipo("Croacia", 20, "4-4-2", "D") DEN = Equipo("Dinamarca", 12, "4-4-2", "C") EGY = Equipo("Egipto", 45, "4-2-3-1", "A") ENG = Equipo("Inglaterra", 13, "4-4-2", "G") FRA = Equipo("Francia", 7, "4-3-3", "C") GER = Equipo("Alemania", 1, "4-3-3", "F") IRN = Equipo("Irán", 37, "4-5-1", "B") ISL = Equipo("Islandia", 22, "4-5-1", "D") JPN = Equipo("Japón", 61, "4-4-2", "H") KOR = Equipo("Corea", 57, "4-4-2", "F")
def post(self): self.get_input() p1 = Equipo() p1.name = self.name if p1.name == "": self.redirect("/addTeam") p1.nameJug1 = self.namet1 p1.nameJug2 = self.namet2 p1.ratio = 0 p1.elo = 1000 p1.wins = 0 p1.loses = 0 p1.user_id = users.get_current_user().user_id() if Equipo.query( ndb.AND(Equipo.name == p1.name, Equipo.user_id == users.get_current_user().user_id())).count() == 0: p1.put() time.sleep(1) self.redirect("/addTeam") else: self.redirect("/addTeam")
def post(self): self.get_input() p1=Equipo() p1.name=self.name if p1.name == "":self.redirect("/addTeam") p1.nameJug1=self.namet1 p1.nameJug2=self.namet2 p1.ratio=0 p1.elo=1000 p1.wins=0 p1.loses=0 p1.user_id=users.get_current_user().user_id() if Equipo.query(ndb.AND(Equipo.name==p1.name,Equipo.user_id==users.get_current_user().user_id())).count()==0: p1.put() time.sleep(1) self.redirect("/addTeam") else: self.redirect("/addTeam")
def AgregarEquipo (self,nombre_equipo,barrio): eq = Equipo() eq.nombre_equipo = nombre_equipo eq.barrio = barrio self.ListaEquipos
def montaEquipos(self): toret=[] for equipo in Equipo.query(Equipo.user_id==users.get_current_user().user_id()): toret.append(equipoEnt(equipo.name,equipo.nameJug1,equipo.nameJug2,users.get_current_user().user_id())) return toret
class Juego: def __init__(self): self.torneo = None self.grafo, jugadores = entregar_grafo() self.tu_equipo = Equipo(Listirijilla(), "Tu Equipo") self.equipos = self.cargar_equipos() equiposs = Listirijilla() for equipo in self.equipos: gui_repr = Listirijilla(equipo.nombre) gui_repr.append(equipo.esperanza) equiposs.append(gui_repr) # No cambiar esta línea self.gui = Window(self, jugadores, equiposs) # def cargar_equipos(self): equipos = Listirijilla() # podria utilizar un for i in range(16), y llamarlos equipo i # con un {}.format, pero es muy fome =D nombres_equipos = Listirijilla() nombres_equipos.append('Super Campeones') nombres_equipos.append('Tatitas FC') nombres_equipos.append('Real Madrazo') nombres_equipos.append('Scooby doo papa') nombres_equipos.append('Alumbrados FC') nombres_equipos.append('Ratones FC') nombres_equipos.append('Laucheros FC') nombres_equipos.append('Coca Juniors') nombres_equipos.append('Dream Team') nombres_equipos.append('Error 404 legs not found') nombres_equipos.append('Con la mente en el juego FC') nombres_equipos.append('Gryffindor') nombres_equipos.append('Hufflepuff') nombres_equipos.append('Ravenclaw') nombres_equipos.append('Slytherin') positions = Listirijilla() for nombre in nombres_equipos: jugadores = Listirijilla() for i in range(11): n = random.randint(0, 200) while n in positions: n = random.randint(0, 200) positions.append(n) jugadores.append(self.grafo.jugadores[n]) equipo = Equipo(jugadores, nombre) equipo.matriz_afinidades = self.afinidad_equipo(jugadores) equipos.append(equipo) return equipos def cambio_jugador(self, j1, j2, en_cancha): # j1 sale, j2 entra if en_cancha: self.tu_equipo.cambio_adentro(j1, j2) else: real_player = self.grafo.buscar_nombre(j2) self.tu_equipo.cambio_fuera(j1, real_player) self.tu_equipo.matriz_afinidades = self.afinidad_equipo( self.tu_equipo.jugadores) self.gui.cambiar_esperanza(self.tu_equipo.esperanza) def entra_jugador(self, jugador): real_player = self.grafo.buscar_nombre(jugador) self.tu_equipo.jugadores.append(real_player) if len(self.tu_equipo.jugadores) == 11: self.tu_equipo.matriz_afinidades = self.afinidad_equipo( self.tu_equipo.jugadores) self.gui.cambiar_esperanza(self.tu_equipo.esperanza) def simular_campeonato(self, equipos): while len(self.tu_equipo.jugadores) < 11: n = random.randint(0, 200) self.tu_equipo.jugadores.append(self.grafo.jugadores[n]) if len(self.tu_equipo.jugadores) == 11: self.tu_equipo.matriz_afinidades = self.afinidad_equipo( self.tu_equipo.jugadores) self.gui.cambiar_esperanza(self.tu_equipo.esperanza) if len(self.equipos) < 16: self.equipos.append(self.tu_equipo) self.torneo = Torneo(self.equipos) self.torneo.simular_torneo() def afinidad_equipo(self, jugadores): # como no existe un patrón de relaciones es más eficiente definir # las relaciones de a una arquero = Listirijilla() defensa1 = Listirijilla() defensa2 = Listirijilla() defensa3 = Listirijilla() defensa4 = Listirijilla() medio1 = Listirijilla() medio2 = Listirijilla() medio3 = Listirijilla() medio4 = Listirijilla() delantero1 = Listirijilla() delantero2 = Listirijilla() af = self.grafo.afinidad(jugadores[0], jugadores[2]) arquero.append(af) defensa2.append(af) af = self.grafo.afinidad(jugadores[0], jugadores[3]) arquero.append(af) defensa3.append(af) af = self.grafo.afinidad(jugadores[1], jugadores[2]) defensa1.append(af) defensa2.append(af) af = self.grafo.afinidad(jugadores[1], jugadores[5]) defensa1.append(af) medio1.append(af) af = self.grafo.afinidad(jugadores[2], jugadores[3]) defensa2.append(af) defensa3.append(af) af = self.grafo.afinidad(jugadores[2], jugadores[6]) defensa2.append(af) medio2.append(af) af = self.grafo.afinidad(jugadores[3], jugadores[4]) defensa4.append(af) defensa3.append(af) af = self.grafo.afinidad(jugadores[3], jugadores[7]) defensa3.append(af) medio3.append(af) af = self.grafo.afinidad(jugadores[4], jugadores[8]) defensa4.append(af) medio4.append(af) af = self.grafo.afinidad(jugadores[5], jugadores[6]) medio1.append(af) medio2.append(af) af = self.grafo.afinidad(jugadores[5], jugadores[9]) medio1.append(af) delantero1.append(af) af = self.grafo.afinidad(jugadores[6], jugadores[7]) medio3.append(af) medio2.append(af) af = self.grafo.afinidad(jugadores[6], jugadores[9]) medio2.append(af) delantero1.append(af) af = self.grafo.afinidad(jugadores[7], jugadores[8]) medio3.append(af) medio4.append(af) af = self.grafo.afinidad(jugadores[7], jugadores[10]) medio3.append(af) delantero2.append(af) af = self.grafo.afinidad(jugadores[8], jugadores[10]) delantero2.append(af) medio4.append(af) af = self.grafo.afinidad(jugadores[9], jugadores[10]) delantero1.append(af) delantero2.append(af) matriz = Listirijilla(arquero) matriz.append(defensa1) matriz.append(defensa2) matriz.append(defensa3) matriz.append(defensa4) matriz.append(medio1) matriz.append(medio2) matriz.append(medio3) matriz.append(medio4) matriz.append(delantero1) matriz.append(delantero2) return matriz def consulta_usuario(self): info = self.torneo.info_equipo() self.gui.resetear_respuestas() info_usuario = "Mejor fase: " + str(info[0]) + "\n" info_usuario += "Eliminado por: " + str(info[1]) + "\n" info_usuario += "Goles anotados: " + str(info[2]) + "\n" info_usuario += "Goles recibidos: " + str(info[3]) + "\n" info_usuario += "Faltas realizadas: " for falta in info[4]: info_usuario += falta + ", " info_usuario = info_usuario[:-2] info_usuario+= "\n" info_usuario += "Tarjetas rojas: " + str(info[5]) + "\n" info_usuario += "Tarjetas amarillas: " + str(info[6]) + "\n" self.gui.agregar_respuesta(info_usuario) def consulta_equipo(self, nombre): self.gui.resetear_respuestas() info = self.torneo.info_tu_equipo(nombre) if not info: self.gui.agregar_respuesta("Equipo no encontrado") else: info_equipo = "Mejor fase: " + info[0] + "\n" info_equipo += "Eliminado por: " + info[1] + "\n" info_equipo+= "Goles anotados: " +info[2] + "\n" info_equipo += "Goles recibidos: " +info[3] + "\n" info_equipo += "Faltas realizadas: " for falta in info[4]: info_equipo += falta + ", " info_equipo = info_equipo[:-2] info_equipo+= "\n" info_equipo += "Tarjetas rojas: " + str(info[5]) + "\n" info_equipo += "Tarjetas amarillas: " + str(info[6]) + "\n" self.gui.agregar_respuesta(info_equipo) def consulta_ganadores(self): self.gui.resetear_resultados() resultado = "Primer lugar: " + self.torneo.podio[0] + "\n" resultado += "Segundo lugar: " + self.torneo.podio[1] + "\n" resultado += "Tercer lugar: " + self.torneo.podio[2] + "\n" self.gui.agregar_resultado(resultado) def consulta_partido(self, _id): self.gui.resetear_respuestas() if not _id.isdigit() or int(_id) not in range(1, 17): self.gui.agregar_respuesta("El ID del partido debe ser un entero " "entre 1 y 16") else: partido = self.torneo.buscar_partido(int(_id)) info = "Ganador: " + partido.ganador + "\n\n" info += "Equipo 1: " + partido.equipo1.nombre + "\n" info += "Goles: " + partido.goles1 + "\n" info += "Faltas: " for falta in partido.faltas_eq1: info += falta + ", " info = info[:-2] + "\n" info += "Tarjetas rojas: " + partido.rojas_eq1 + "\n" info += "Tarjetas amarillas: " + partido.amarillas_eq1 + "\n" info += "\n" info += "Equipo 2: " + partido.equipo2.nombre + "\n" info += "Goles: " + partido.goles2 + "\n" info += "Faltas: " for falta in partido.faltas_eq2: info += falta + ", " info = info[:-2] + "\n" info += "Tarjetas rojas: " + partido.rojas_eq2 + "\n" info += "Tarjetas amarillas: " + partido.amarillas_eq2 + "\n" self.gui.agregar_respuesta(info) def consulta_fase(self, numero): self.gui.resetear_respuestas() if not numero.isdigit() or int(numero) not in range(1, 5): self.gui.agregar_respuesta("El número de fase debe ser un entero " "entre 1 y 4, donde 1 son los octavos " "de final y 4 la final") else: ganadores = Listirijilla() perdedores = Listirijilla() if int(numero) == 1: inicio = 1 final = 9 elif int(numero) == 2: inicio = 9 final = 13 elif int(numero) == 3: inicio = 13 final = 15 else: inicio = 16 final = 17 for _id in range(inicio, final): partido = self.torneo.buscar_partido(_id) ganadores.append(partido.ganador) if partido.equipo1.nombre == partido.ganador: perdedores.append(partido.equipo2.nombre) else: perdedores.append(partido.equipo1.nombre) info = "Perdieron en esta fase: " for equipo in perdedores: info += equipo + ", " info = info[:-2] + "\n" info += "Ganaron en esta fase: " for equipo in ganadores: info += equipo + ", " info = info[:-2] + "\n" self.gui.agregar_respuesta(info)