Esempio n. 1
0
def eliminar_juego(id):
    user = current_user
    juego = find_juego_by_id(id)
    if user.id == juego.creador or user.get_admin():
        delete_juego_by_id(id)
        delete_all_mensajes_by_juego(id)
    return redirect(url_for('inicio'))
Esempio n. 2
0
def visualizar_juego_creador(id):
    user = current_user
    mensajes = find_all_mensajes_by_juego(id_juego=id)
    mensajes.sort(key=lambda x: x.fecha, reverse=False)
    juego = find_juego_by_id(id)
    return render_template("visualizar.html",
                           juego=juego,
                           user=user,
                           centro_lon=juego.centro[0],
                           mensajes=mensajes,
                           centro_lat=juego.centro[1],
                           limite_superior=juego.dimensiones[1],
                           limite_inferior=juego.dimensiones[3])
Esempio n. 3
0
def reiniciar_juego(id):
    user = current_user
    juego = find_juego_by_id(id)
    if user.id == juego.creador or user.get_admin():
        juego.reset_game()
        save_juego(juego)
        delete_all_mensajes_by_juego(id)
    centro_lon = juego.centro[0]
    centro_lat = juego.centro[1]
    return render_template("visualizar.html",
                           juego=juego,
                           user=user,
                           centro_lon=centro_lon,
                           centro_lat=centro_lat,
                           limite_superior=juego.dimensiones[1],
                           limite_inferior=juego.dimensiones[3])
Esempio n. 4
0
def anadir_participante_juego(id):
    user = current_user
    juego = find_juego_by_id(id)
    juego.add_participante(user)
    save_juego(juego)
    if user.id_mongo in juego.participantes:
        jugando = True
    else:
        jugando = False
    return render_template("juego.html",
                           juego=juego,
                           user=user,
                           jugando=jugando,
                           centro_lon=juego.centro[0],
                           centro_lat=juego.centro[1],
                           limite_superior=juego.dimensiones[1],
                           limite_inferior=juego.dimensiones[3])
Esempio n. 5
0
def ver_juego(id):
    user = current_user
    mensajes = find_all_mensajes_by_juego(id_juego=id)
    mensajes.sort(key=lambda x: x.fecha, reverse=False)
    juego = find_juego_by_id(id)
    encontrados = {}
    if user.id_mongo in juego.participantes:
        encontrados = juego.get_tesoros(user)
    return render_template("juego.html",
                           juego=juego,
                           user=user,
                           encontrados=encontrados,
                           mensajes=mensajes,
                           centro_lon=juego.centro[0],
                           centro_lat=juego.centro[1],
                           limite_superior=juego.dimensiones[1],
                           limite_inferior=juego.dimensiones[3])
Esempio n. 6
0
def recoger_datos_jugador(id):
    user = current_user
    juego = find_juego_by_id(id)
    puntos_coor = request.values.getlist("puntoMarcado")
    tesoros_id = request.values.getlist("tesoroMarcado")
    imagenes = request.files.getlist("imagenMarcado")
    error = False
    recien_encontrados = []
    mensaje = None
    for p, t, imagen in zip(puntos_coor, tesoros_id, imagenes):
        try:
            imagen_marcado = base64.b64encode(imagen.read()).decode('utf-8')
            encontrado = juego.encontrar_tesoro(identificador_tesoro=int(t),
                                                latitud=p.split(",")[0],
                                                longitud=p.split(",")[1],
                                                imagen_tesoro=imagen_marcado,
                                                descubridor=user)
            if encontrado is True:
                recien_encontrados.append(t)
        except Exception:
            error = True
    save_juego(juego)
    if juego.ganador == user.id:
        mensaje = "ganador"
    elif error is True or len(recien_encontrados) == 0:
        mensaje = "ninguno"
    elif error is False:
        mensaje = "acierto"
    encontrados = juego.get_tesoros(user)
    mensajes = find_all_mensajes_by_juego(id_juego=id)
    mensajes.sort(key=lambda x: x.fecha, reverse=False)
    return render_template("juego.html",
                           juego=juego,
                           user=user,
                           jugando=True,
                           encontrados=encontrados,
                           mensaje=mensaje,
                           mensajes=mensajes,
                           recienEncontrados=recien_encontrados,
                           centro_lon=juego.centro[0],
                           centro_lat=juego.centro[1],
                           limite_superior=juego.dimensiones[1],
                           limite_inferior=juego.dimensiones[3])
Esempio n. 7
0
def abandonar_juego(id):
    user = current_user
    juego = find_juego_by_id(id)
    juego.remove_participante(user)
    save_juego(juego)
    return redirect(url_for('inicio'))