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)
Example #2
0
File: stats.py Project: ropuga/ALS
    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")
Example #3
0
    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")
Example #4
0
    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")
Example #5
0
    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")
Example #6
0
    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));
Example #7
0
 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));
Example #8
0
 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))
Example #9
0
 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
Example #10
0
	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
Example #11
0
 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}
Example #12
0
 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));
Example #13
0
File: game.py Project: ropuga/ALS
    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))
Example #14
0
 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
Example #16
0
File: game.py Project: dcpulido/ALS
    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));
Example #17
0
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()
Example #18
0
    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)
Example #20
0
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}
Example #21
0
File: player.py Project: ropuga/ALS
    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))
Example #22
0
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)
Example #23
0
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")
Example #24
0
 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")
Example #25
0
 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
Example #27
0
		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)