Esempio n. 1
0
    def readFile(year):
        '''Reads the World Cup file and cleans the data'''
        arqName = '/Users/tulionpl/Desktop/mac.folder/python/classePartida/copa/' + str(
            year) + '.html'

        file = open(arqName, 'r', encoding="ISO-8859-1")
        line = file.readline()
        page = ''

        canRead = False
        while '<tr bgcolor="#000000">' not in line:
            if '<table cellspacing="1">' in line:
                canRead = True
            if canRead:
                page += line
            line = file.readline()

        page = readFiles.removeTags(page)
        data = page.split('\n')

        cleanData = []
        for dataLine in data:
            if readFiles.hasAlphanumericChar(dataLine):
                cleanData.append(dataLine)

        for i in range(len(cleanData)):
            cleanData[i] = cleanData[i].strip()

        Partida.createMatches(cleanData, year)

        file.close()
Esempio n. 2
0
 def un_jugador(self):
     servicePartida = ServicesPartidas()
     pal = random.choice(Repositorios.palabrasList)
     nombre = input('Ingrese un nombre: ')
     dificultad = int(
         input("Ingrese una dificultad del 1 al 10"
               "(1 --> dificil, 10 --> facil): "))
     partida = Partida(pal['palabra'], dificultad * len(pal['palabra']),
                       pal['tipo_palabra'], nombre)
     while partida._intentos > 0:
         print('Palabra a adivinar: ', partida._palabra_aciertos)
         print('Pista: ', partida._tipo_palabra)
         print('Cantidad de intentos: ', partida._intentos)
         letra = input("Ingrese una letra: ").upper()
         if letra == 'SALIR':
             return True
         result = servicePartida.intentar_letra(partida, letra)
         if result == 'Gano':
             print(result, '! Felicitaciones, la palabra era: ',
                   partida._palabra)
             partida._intentos = 0
             return True
         else:
             # os.system('clear')
             print(result)
             if result == 'Perdio':
                 print(result, '! Lo lamento, la palabra era: ',
                       partida._palabra)
                 return True
Esempio n. 3
0
def buscarPartidaPendiente():
    if connection_string == "":
        raise Exception("Inicializar Connection String")
    conn = pyodbc.connect(connection_string)
    cursor = conn.cursor()
    cursor.execute(
        "Select top 1 * From Partidas Where FechaFinalizacion Is Null Order by 1 Desc"
    )
    dbPartida = cursor.fetchone()
    if dbPartida == None:
        return None

    partida = Partida()
    partida.idPartida = dbPartida[0]
    if dbPartida[3] != "" and dbPartida[3] != None:
        partida.cartas = json.loads(dbPartida[3])

    if dbPartida[4] != "" and dbPartida[4] != None:
        partida.manoBanca = json.loads(dbPartida[4])

    #Busco los jugadores y las manos
    #cursor2 = conn.cursor()
    cursor.execute("exec ObtenerDetallePartida ?", str(partida.idPartida))

    for row in cursor:
        if row[3] in partida.jugadores:
            jugador = partida.jugadores[row[3]]
        else:
            jugador = Jugador(None)
            #jugador.usuario.nombre = row[3]
            jugador.apuestaInicial = row[2]

    return partida
Esempio n. 4
0
    def setUp(self):
        self.testAsalto = jugadorm.Asalto("S", "PI")
        self.testCapellan = jugadorm.Capellan("G", "TN")
        self.testTactico = jugadorm.Tactico("T", "CS")

        self.testPartidaAs = Partida(self.testAsalto)
        self.testPartidaCa = Partida(self.testCapellan)
        self.testPartidaTa = Partida(self.testTactico)
Esempio n. 5
0
 def iniciar_partida(self, nombre, intentos, palabra, tipo):
     if palabra == '' and tipo == '':
         word = self.get_random_palabra()
         partida = Partida(word.get('palabra'),
                           intentos, word.get("tipo_palabra"), nombre)
         return partida
     partida = Partida(palabra, intentos, tipo, nombre)
     return partida
    def iniciar_partida(self, nombre, intentos, palabra, tipo_de_palabra):
        if intentos < 1 or intentos > 10:
            raise ValueError('Intentos erroneos')
        if palabra and tipo_de_palabra != '':
            intentosSet = intentos * len(palabra)
            return Partida(palabra, tipo_de_palabra, intentosSet, nombre)
        if palabra or tipo_de_palabra == '':

            stringRandom = self.get_random_palabra()
            intentosRandom = intentos * len(stringRandom['palabra'])
            return Partida(stringRandom['palabra'],
                           stringRandom['tipo_palabra'], intentosRandom,
                           nombre)
 def criaPartidas (self):
     jogadoresOriginais = self.criaListaDeJogos ()
     jogadoresNovos = self.criaListaDeJogos ()
     listaPartidas = []
     
     
     for index in range (len (jogadoresOriginais)):
         jogador1 = self.listaJogadoresOriginais [int(jogadoresOriginais [index])]
         jogador2 = self.listaJogadoresNovos [int(jogadoresNovos [index])]
         partida = Partida (jogador1, jogador2)
         partida2 = Partida (jogador2, jogador1)
         listaPartidas.append (partida)
         listaPartidas.append (partida2)
     
     return listaPartidas
Esempio n. 8
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")
Esempio n. 9
0
    def new_game(
            self, bot, update, user_data,
            chat_data):  # TODO comprobar si el usuario ya está en una partida

        if DEBUGGING and update.effective_user.id != 254234845: return

        usuario = conseguir_usuario(update, user_data, self.jugadores)
        chat = conseguir_chat(update, chat_data)

        if not chat.partida:

            nueva_partida = Partida(usuario)

            self.partidas[update.effective_chat.id] = nueva_partida

            chat.partida = nueva_partida

        keyboard = [[
            InlineKeyboardButton("Unirse a la partida",
                                 callback_data="join_game")
        ]]

        update.message.reply_text(Lang.get_text_inserted(
            "start_game_successful",
            player_list=chat.partida.text_player_list()),
                                  reply_markup=InlineKeyboardMarkup(keyboard),
                                  quote=False,
                                  disable_web_page_preview=True,
                                  parse_mode=ParseMode.MARKDOWN)
Esempio n. 10
0
    def iniciar_partida(self, nombre, dificultad, palabra, tipo_palabra):
        # Se verifica que el nombre del jugador no este vacio
        if bool(str(nombre).strip()) is False:
            raise ValueError("Se debe ingresar un nombre de jugador")
        # Esta parte verifica si palabra y tipo de palabra estan vacios\
        # para asignarles un valor de forma autmatica
        # De lo contrario se verifica que se hayan ingresado ambos
        if (bool(palabra) is False and bool(tipo_palabra) is False):
            palabra_random = self.get_random_palabra()
            palabra = palabra_random['palabra']
            tipo_palabra = palabra_random['tipo_palabra']
        elif (bool(palabra.strip()) is True
              and bool(tipo_palabra.strip()) is False):
            raise ValueError("Se ingreso una palabra pero no el tipo")
        elif (bool(palabra.strip()) is False
              and bool(tipo_palabra.strip()) is True):
            raise ValueError("NO se ingreso una palabra pero si el tipo")
        # Esta parte verifica que la dificultad ingresada no
        # este fuera del rango (1,10) y calcula la cantidad de intentos
        # que tendra el jugador segun la dificultad y el largo de la palabra
        if dificultad < 0 or dificultad > 10:
            raise ValueError("La dificultad ingresada no esta entre 1 y 10")
        else:
            intentos = dificultad * len(palabra)

        return Partida(palabra, intentos, tipo_palabra, nombre)
Esempio n. 11
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")
Esempio n. 12
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));
    def criaPartidas(self):
        listaPartidas = []

        for jogador1 in self.listaJogadoresOriginais:
            for jogador2 in self.listaJogadoresNovos:
                partida = Partida(jogador1, jogador2)
                listaPartidas.append(partida)

        return listaPartidas
 def iniciar_partida(self, nombre, intentos, palabra, tipo):
     if palabra == '':
         nuevas = ServicesPartidas.get_random_palabra(self)
         palabra = nuevas['palabra']
         tipo = nuevas['tipo_palabra']
     if intentos < 1 or intentos > 10:
         raise ValueError
     a = (len(palabra) * intentos)
     return Partida(palabra, a, tipo, nombre)
Esempio n. 15
0
    def post(self):
        self.get_input()
        p1 = Partida()
        p1.name = self.name
        if p1.name == "": self.redirect("/addGame")
        p1.nameEquipoA = self.equipoA
        p1.nameEquipoB = self.equipoB
        p1.estado = self.estado
        p1.user_id = users.get_current_user().user_id()

        if Partida.query(
                ndb.AND(Partida.name == p1.name, Partida.user_id ==
                        users.get_current_user().user_id())).count() == 0:
            p1.put()
            time.sleep(1)
            self.redirect("/addGame")
        else:
            self.redirect("/addGame")
Esempio n. 16
0
    def iniciar(self, pilas, nombreDesafio):
        musica = pilas.datos.musica
        if musica is not None:
            musica.detener_gradualmente(3)

        self.fondo = pilas.fondos.FondoMozaico("imagenes/fondo/fondoJuego.jpg")
        self.decir = tts
        self.partida = Partida(pilas)
        self.partida.definir_reglas("puzzle")
        self.textoAyuda = TextoAyuda(self.pilas)

        # se arma el reloj
        self.reloj = Reloj(pilas, x=-150, y=300, incremental=True)

        self.reloj.comenzar()

        # armamos tablero:
        self.tablero = Tablero(pilas, x=-400, y=-250, filas=8, columnas=8)
        self.partida.definir_tablero(self.tablero)

        # definimos la posicion inicial:
        fichas = self.cargarDesafio("datos/desafios/" + nombreDesafio +
                                    ".chess")
        self.nombreDesafio = nombreDesafio
        self.partida.iniciar(posicionInicial=fichas)
        self.cabezal = Cabezal(pilas, tablero=self.tablero, tts=tts)

        # conexiones con eventos:
        self.pilas.eventos.pulsa_tecla.conectar(self.interpreta_teclado)
        self.pilas.eventos.click_de_mouse.conectar(self.click_mouse)
        self.pilas.eventos.pulsa_tecla_escape.conectar(
            self.activar_menu_principal)

        # eventos de partida:
        self.partida.eventoPreMueveFicha.conectar(self.mueveFicha)
        self.partida.eventoFinalizar.conectar(self.finalizar)

        # sonidos:
        self.sonido_mover = Sonido('audio/mover-ficha.ogg')
        self.historial = Historial(pilas,
                                   ejex=300,
                                   ejey=0,
                                   cantidadDeJugadores=1)
        self.historial.fijo = True
Esempio n. 17
0
 def test_A_constructor_con_valores_iniciales_partida(self):
     partida = Partida('python', 2, 'lenguaje de programacion', 'Claudio')
     self.assertDictEqual(
         partida.__dict__, {
             '_palabra': ['P', 'Y', 'T', 'H', 'O', 'N'],
             '_tipo_palabra': 'LENGUAJE DE PROGRAMACION',
             '_intentos': 12,
             '_nombre_jugador': 'CLAUDIO',
             '_palabra_aciertos': [None, None, None, None, None, None],
         })
Esempio n. 18
0
    def criaPartidas(self):
        listaPartidas = []

        for jogador1 in self.listaJogadores:
            for jogador2 in self.listaJogadores:
                if (jogador2.nomeJogador != jogador1.nomeJogador):
                    partida = Partida(jogador1, jogador2)
                    listaPartidas.append(partida)

        return listaPartidas
Esempio n. 19
0
    def post(self):
        self.get_input()
        p1=Partida()
        p1.name=self.name
        if p1.name == "":self.redirect("/addGame")
        p1.nameEquipoA=self.equipoA
        p1.nameEquipoB=self.equipoB
        p1.estado=self.estado
        p1.user_id=users.get_current_user().user_id()

        if Partida.query(ndb.AND(Partida.name==p1.name,Partida.user_id==users.get_current_user().user_id())).count()==0:
            p1.put()
            time.sleep(1)
            self.redirect("/addGame")
        else:
            self.redirect("/addGame")
Esempio n. 20
0
    def __init__(self, **kwargs):

        Chat.__init__(self, **kwargs)
        self.partida = kwargs.get("partida")
        self.ultimo_alguacil = kwargs.get("ultimo_alcuacil")

        if type(self.partida) == dict:
            self.partida = Partida(**self.partida)

        if type(self.ultimo_alguacil) == dict:
            self.ultimo_alguacil = Usuario(**self.ultimo_alguacil)
Esempio n. 21
0
 def iniciar_partida(self, nombre_jugador, dificultad, palabra="", tipo_palabra=""):
     if dificultad < 1 or dificultad > 10:
         raise ValueError("La dificultad debe comprender entre 1 y 10")
     randomKey = self.getKey()
     if (len(palabra)==0 or palabra is None and len(tipo_palabra)==0 or tipo_palabra is None):
         palabra = self.repositorio[randomKey]['palabra']
         tipo_palabra = self.repositorio[randomKey]['tipo_palabra']
     intentos = dificultad * len(palabra)
     partidaUno = Partida(palabra, intentos, tipo_palabra, nombre_jugador)
     self.guardar.saves[randomKey] = partidaUno.nombre_jugador
     return partidaUno
Esempio n. 22
0
class Application:
    """Maneja los controladores de partida, BD, etc."""

    opciones_menu_principal = ("partida de un jugador",
                               "partida de dos jugadores", "historial")

    def __init__(self):
        """crea el tablero, y los jugadores, y el controlador de partida"""
        self.interfaz = InterfazLineaComando()

        def manejar_opcion_menu_princial(opcion):
            """Maneja la opción seleccionada por el usuario en el menú
               principal"""

            if self.opciones_menu_principal.index(opcion) == 0:
                self.partida_un_jugador()
            elif self.opciones_menu_principal.index(opcion) == 1:
                self.partida_dos_jugadores()

        self.interfaz.menu_principal(self.opciones_menu_principal,
                                     manejar_opcion_menu_princial)

    def partida_un_jugador(self):
        """Inicializa una partida para un jugador"""
        self.partida = Partida(self.interfaz, 1)
        self.partida.iniciar_partida()

    def partida_dos_jugadores(self):
        """inicializa una partida para dos jugadores"""
        self.partida = Partida(self.interfaz, 2)
        self.partida.iniciar_partida()

    def historial(self):
        """obtiene el historial de partidas recientes"""
        print("opción historial")

    def salir(self):
        """
        Cierra la aplicación.
        """
        quit()
Esempio n. 23
0
 def iniciar_partida(self, nombre, dificultad, palabra='', tipo_palabra=''):
     repo = Repository.repo_ran
     if palabra == '':
         indice = random.choice(repo)
         palabra = indice[1]
     if tipo_palabra == '':
         tipo_palabra = indice[0]
     if dificultad < 1 or dificultad > 10:
         raise ValueError("La dificultad ingresada no esta entre 1-10")
     intentos = (dificultad * len(palabra))
     partida = Partida(palabra, intentos, tipo_palabra, nombre)
     return partida
 def iniciar_partida(self, nombre, dificultad, palabra='', tipo_palabra=''):
     if dificultad < 1 or dificultad > 10:
         raise ValueError('La dificultad debe ser un valor entre 1-10.')
     if not palabra and not tipo_palabra:
         r_key = random.choice(list(RepoPalabras.palabras_list.keys()))
         palabra = RepoPalabras.palabras_list[r_key]['palabra']
         tipo_palabra = RepoPalabras.palabras_list[r_key]['tipo_palabra']
     intentos = dificultad * len(palabra)
     p1 = Partida(palabra, intentos, tipo_palabra, nombre)
     key = p1._nombre_jugador
     RepoPartidas.partidas_list[key] = p1.__dict__
     return p1
 def iniciar_partida(self, nombre, dificultad, palabra, tipo_palabra):
     intentos = dificultad * len(palabra)
     if palabra == '' and tipo_palabra == '':
         palabra = random.choice(Repositorios.palabrasList)
         pal = palabra['palabra']
         tipo = palabra['tipo_palabra']
     else:
         pal = palabra
         tipo = tipo_palabra
     partida = Partida(pal, intentos, tipo, nombre)
     if dificultad > 10 or dificultad < 1:
         raise (ValueError)
     return partida
Esempio n. 26
0
File: stats.py Progetto: 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")
Esempio n. 27
0
File: game.py Progetto: 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))
Esempio n. 28
0
 def iniciar_partida(self, nombre, intentos, palabra, tipoPalabra):
     if palabra == '' and tipoPalabra == '':
         if intentos < 1 or intentos > 10:
             raise ValueError
         else:
             key = random.randint(1, len(palabras_json))
             key -= 1
             numPalabra = palabras_json['%s'% key]
             palabra = numPalabra['palabra']
             tipoPalabra = numPalabra['tipo_palabra']
             print("La palabra a adivinar esta relacionada con: ", tipoPalabra)
             intentosTotales = intentos * len(list(palabra))
             partida = Partida(palabra, intentosTotales, tipoPalabra, nombre)
             print("\nLa palabra tiene ", len(palabra), " letras")
             print("\n", partida._palabra_aciertos)
             return partida
     else:
         print("La palabra a adivinar esta relacionada con: ", tipoPalabra)
         intentosTotales = intentos * len(list(palabra))
         partida = Partida(palabra, intentosTotales, tipoPalabra, nombre)
         print("\nLa palabra tiene ", len(palabra), " letras")
         print("\n", partida._palabra_aciertos)
         return partida
Esempio n. 29
0
    def iniciar(self, pilas, datos=None):
        musica = pilas.datos.musica
        if musica is not None:
            musica.detener_gradualmente(3)
        self.fondo = pilas.fondos.FondoMozaico("imagenes/fondo/fondoJuego.jpg")
        self.decir = tts
        self.datos   = datos
        self.partida = Partida(pilas, self.datos)
        self.partida.definir_reglas(pilas.datos.modoJuego)
        self.textoAyuda = TextoAyuda(self.pilas)


        # armamos tablero:
        self.tablero = Tablero(pilas, x=- 400 ,y=-250)
        self.partida.definir_tablero(self.tablero)
        self.partida.iniciar()

        self.cabezal = Cabezal(pilas, tablero=self.tablero, tts=tts)
        # conexiones con eventos:
        self.pilas.eventos.pulsa_tecla.conectar(self.interpreta_teclado)
        self.pilas.eventos.click_de_mouse.conectar(self.click_mouse)
        self.pilas.eventos.pulsa_tecla_escape.conectar(self.activar_menu_principal)
        # eventos de juego:
        self.partida.eventoPreMueveFicha.conectar(self.mueveFicha)
        self.partida.eventoFinalizar.conectar(self.mostrarResultado)

        # sonidos:
        self.sonido_mover = Sonido('audio/mover-ficha.ogg')
        self.historial = Historial(pilas, ejex=320, ejey=0)
        self.historial.fijo = True

        #
        self.botonReiniciar = pilas.interfaz.Boton("Nueva Partida")
        self.botonReiniciar.x =  400
        self.botonReiniciar.y = -300
        self.botonReiniciar.conectar(self.nuevaPartida)
        self.botonReiniciar.fijo = True
Esempio n. 30
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:      
            partida=Partida.query(ndb.AND(Partida.name==name,Partida.user_id==users.get_current_user().user_id()))
            for pa in partida:
                pa.key.delete()
            time.sleep(1)
            self.redirect("/main")
Esempio n. 31
0
File: game.py Progetto: 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));
Esempio n. 32
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")
Esempio n. 33
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:
            partida = Partida.query(
                ndb.AND(Partida.name == name,
                        Partida.user_id == users.get_current_user().user_id()))
            for pa in partida:
                pa.key.delete()
            time.sleep(1)
            self.redirect("/main")
Esempio n. 34
0
 def iniciar_partida(self,
                     nombre_jugador,
                     dificultad,
                     nombre_palabra="",
                     tipo_palabra=""):
     if int(dificultad) < 1 or int(dificultad) > 10:
         raise ValueError("no puede ser menor a 1 o mayor a 10")
     if nombre_palabra == "" and tipo_palabra == "":
         print("adivina esta palabra")
         palabra_dict = ServicesPartidas().get_random_palabra()
         nombre_palabra = palabra_dict['palabra']
         tipo_palabra = palabra_dict['tipo_palabra']
         print("la palabra elegida es un " + tipo_palabra)
     intentos = len(nombre_palabra) * int(dificultad)
     print("tienes " + str(intentos) + " intentos")
     partida = Partida(nombre_palabra, intentos, tipo_palabra,
                       nombre_jugador)
     Repositorios.intentos = 0
     Repositorios.aciertos = 0
     return partida
Esempio n. 35
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("/game")
            return
        else:      
            partidas=Partida.query(ndb.AND(Partida.user_id==users.get_current_user().user_id(),Partida.name==name))
            for partida in partidas:
                par=partidaEnt(partida.name,partida.nameEquipoA,partida.nameEquipoB,partida.estado,users.get_current_user().user_id())
        template_values = {
            "partida":par
        }

        template = JINJA_ENVIRONMENT.get_template( "game.html" )
        self.response.write(template.render(template_values));
Esempio n. 36
0
    def get(self):


		user_name = "Logout"
		user = users.get_current_user()
		access_link = users.create_logout_url("/")
		if user == None:
			self.redirect("/")
		toret=[]
		for partida in Partida.query(ndb.AND(Partida.user_id==users.get_current_user().user_id(),Partida.estado=="pendiente")):
			toret.append(partidaEnt(partida.name,partida.nameEquipoA,partida.nameEquipoB,partida.estado,users.get_current_user().user_id()))

		template_values = {
		    "user_name": user_name,
		    "access_link": access_link,
		    "partidas":toret
		}

		template = JINJA_ENVIRONMENT.get_template( "index.html" )
		self.response.write(template.render(template_values))
Esempio n. 37
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")
Esempio n. 38
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("/game")
            return
        else:
            partidas = Partida.query(
                ndb.AND(Partida.user_id == users.get_current_user().user_id(),
                        Partida.name == name))
            for partida in partidas:
                par = partidaEnt(partida.name, partida.nameEquipoA,
                                 partida.nameEquipoB, partida.estado,
                                 users.get_current_user().user_id())
        template_values = {"partida": par}

        template = JINJA_ENVIRONMENT.get_template("game.html")
        self.response.write(template.render(template_values))
Esempio n. 39
0
		def montaPartidas(self):
			toret=[]
			for partida in Partida.query(Partida.user_id==users.get_current_user().user_id()):
				toret.append(partidaEnt(partida.name,partida.nameEquipoA,partida.nameEquipoB,partida.estado,users.get_current_user().user_id()))
			return toret
Esempio n. 40
0
from partida import Partida
from jugador import Jugador
p1=Partida("david",1)
print(p1.name)
j1=Jugador(1,"david")
j2=Jugador(2,"hola")
p1.addJugador(j1)
print(p1.jugadores[0].name)