Exemple #1
0
def tela_de_jogo_dashboard(request):

    controlador = ctrler.InstanciaJogo()
    nome_time = request.session['nome_time']
    time = controlador.jogo_atual.times[nome_time]
    labels = time.estatisticas.lista_demandas[0].keys()
    total_atendidos = time.estatisticas.lista_total_atendidos[0].values()
    procuraram_atendimento = time.estatisticas.lista_demandas[0].values()

    aux = []
    for i in procuraram_atendimento:
        aux.append(sum(i.values()))

    labels_tabela = time.estatisticas.get_estatisticas().keys()

    contexto = {
        "nome_time": time.nome,
        "labels": labels,
        "total_atendidos": total_atendidos,
        "procuraram_atendimento": aux,
        "labels_tabela": labels_tabela,
        "estatisticas": time.estatisticas.get_estatisticas(),
        "rodadas": range(1,
                         len(controlador.jogo_atual.rodadas) + 2),
    }
    return render(request, 'jogo/dashboard.html', contexto)
Exemple #2
0
def despedir_medico(request):
    nome_time = request.session['nome_time']
    controlador = ctrler.InstanciaJogo()

    controlador.despedir_medico(nome_time, int(request.POST["medico_id"]))
    print("despedido")
    return HttpResponse("despedido")
Exemple #3
0
def comprar_modulo(request):
    controlador = ctrler.InstanciaJogo()
    nome_time = request.session['nome_time']
    print("Modulo comprado")
    estado, msg = controlador.comprar_modulo(nome_time, int(request.POST["modulo_id"]))
    if estado == 200:
        return HttpResponse(controlador.get_caixa(nome_time), status=200)
    else:
        return HttpResponse(msg, status=estado)
Exemple #4
0
def tela_de_jogo_hospital_modulos(request):
    nome_time = request.session['nome_time']
    controlador = ctrler.InstanciaJogo()
    areas, modulos_p_areas = controlador.get_modulos(nome_time)
    contexto = {
        "areas": areas,
        "mod_p_area": modulos_p_areas,
    }
    return render(request, 'jogo/hospital_modulos.html', contexto)
Exemple #5
0
def tela_de_jogo_hospital_medicos(request):
    controlador = ctrler.InstanciaJogo()

    nome_time = request.session['nome_time']
    medicos = controlador.get_medicos(nome_time)
    contexto = {
        "medicos": medicos,
    }
    return render(request, 'jogo/hospital_medicos.html', contexto)
Exemple #6
0
    def requisicao_ajax(request):
        controlador = ctrler.InstanciaJogo()
        if controlador.estado_jogo == ctrler.JG_NAO_INICIADO:
            return HttpResponse("Jogo Não Iniciado")
        if controlador.estado_jogo == ctrler.JG_PAUSADO:
            return HttpResponse("Jogo Não Iniciado")
        if controlador.estado_jogo == ctrler.JG_PRONTO:
            return HttpResponse("Jogo Não Iniciado")
        if 'nome_time' not in request.session:
            return HttpResponse("Usuário Não Logado")

        return func(request)
Exemple #7
0
def tela_de_jogo(request):
    controlador = ctrler.InstanciaJogo()

    if controlador.get_estado_jogo() == ctrler.JG_NAO_INICIADO:
        return HttpResponse("Jogo Ainda não comecou")

    if 'nome_time' not in request.session:
        return HttpResponseRedirect("/jogo/")

    if controlador.get_estado_jogo() == ctrler.JG_PRONTO:
        return render(request, TEMPLATE_JOGO_NAO_INICIADO)

    if controlador.get_estado_jogo() == ctrler.JG_FINALIZADO:
        return HttpResponseRedirect("/jogo/ranking")

    nome_time = request.session['time_nome']
    time = controlador.jogo_atual.times[nome_time]
    print(time.estatisticas)
    modulos_p_areas = {}

    labels = time.estatisticas.lista_demandas[0].keys()
    total_atendidos = time.estatisticas.lista_total_atendidos[0].values()
    procuraram_atendimento = time.estatisticas.lista_demandas[0].values()

    aux = []
    for i in procuraram_atendimento:
        aux.append(sum(i.values()))

    labels_tabela = time.estatisticas.get_estatisticas().keys()

    medicos = controlador.get_medicos()
    areas, modulos_p_areas = controlador.get_modulos()
    print(modulos_p_areas)
    contexto = {
        "areas": areas,
        "mod_p_area": modulos_p_areas,
        "nome_time": time.nome,
        "medicos": medicos,
        "caixa": time.estatisticas.get_ultimo_caixa(),
        "labels": labels,
        "total_atendidos": total_atendidos,
        "procuraram_atendimento": aux,
        "labels_tabela": labels_tabela,
        "estatisticas": time.estatisticas.get_estatisticas(),
        "rodada_atual": controlador.jogo_atual.rodada_atual + 1,
        "rodadas_ate_atual": range(0, controlador.jogo_atual.rodada_atual),
        "rodadas": range(1,
                         len(controlador.jogo_atual.rodadas) + 2),
    }
    return render(request, TEMPLATE_JOGO_TELA_DE_JOGO, contexto)
Exemple #8
0
def aplicar_acao(request):
    acao = request.POST['acao']
    controlador = ctrler.InstanciaJogo()
    if acao == "start_jogo":
        if controlador.get_estado_jogo() != ctrler.JG_EXECUTANDO:
            controlador.init_timer()
            request.session['nome_time'] = "Time 1"
    if acao == "stop_jogo":
        if controlador.get_estado_jogo() == ctrler.JG_EXECUTANDO:
            controlador.finalizar_jogo()
    if acao == "avancar_rodada":
        if controlador.get_estado_jogo() == ctrler.JG_EXECUTANDO:
            controlador.avancar_rodada()
    return HttpResponse("grrrr")
Exemple #9
0
def tela_aplicar_dinamica(request):
    ctrler.__inicializa_jogo()
    controlador = ctrler.InstanciaJogo()

    times = controlador.jogo_atual.times
    contexto = {
        "times": [{
            "nome": x.nome,
            "codigo": x.codigo_login
        } for x in times.values()]
    }
    request.session['nome_time'] = {}
    for x in times.values():
        request.session['nome_time'] = x.nome
    print(request.session['nome_time'])
    return render(request, TEMPLATE_JOGO_BASE_APLICAR_DINAMICA, contexto)
Exemple #10
0
def logar(request):
    print(request.POST["senha"])
    controlador = ctrler.InstanciaJogo()
    if controlador.get_estado_jogo() == ctrler.JG_NAO_INICIADO:
        return HttpResponse("Login Falhou: jogo não inicializado")

    if controlador.get_estado_jogo() == ctrler.JG_NAO_INICIADO:
        return HttpResponse("Login Falhou: jogo não inicializado")
    logado = False
    for time in controlador.jogo_atual.times.values():
        print("Tenho codigo login: "******"Tenho request senha: ", request.POST["senha"])
        if time.codigo_login == request.POST["senha"]:
            #request.session.clear()
            logado = True
            request.session['nome_time'] = time.nome
    if logado:
        return HttpResponseRedirect('/jogo/')
    else:
        return HttpResponse("Login Falhou: token inexistente")
Exemple #11
0
def tela_de_jogo_graficos(request):
    controlador = ctrler.InstanciaJogo()
    nome_time = request.session['nome_time']

    rodada = int(request.POST["rodada"])
    time = controlador.jogo_atual.times[nome_time]
    labels = list(time.estatisticas.lista_demandas[rodada].keys())
    total_atendidos = list(time.estatisticas.lista_total_atendidos[rodada].values())
    procuraram_atendimento = time.estatisticas.lista_demandas[rodada].values()
    demanda = []
    for i in procuraram_atendimento:
        demanda.append(sum(i.values()))
    labels_tabela = list(time.estatisticas.get_estatisticas().keys())
    dados_graf_pizza = controlador.get_dados_graf_pizza(nome_time, rodada)
    json = {
        "nome_time": time.nome,
        "labels": labels,
        "total_atendidos": total_atendidos,
        "procuraram_atendimento": demanda,
        "labels_tabela": labels_tabela,
        "dados_graf_pizza": dados_graf_pizza,
    }
    return JsonResponse(json)
Exemple #12
0
def jogo_ranking(request):
    controlador = ctrler.InstanciaJogo()
    if controlador.get_estado_jogo() != ctrler.JG_FINALIZADO:
        return HttpResponse("Não há jogo Finalizado")
    scores = controlador.pontuacao()
    return render(request, 'jogo/jogo_ranking.html', {"scores": scores})
Exemple #13
0
def contratar_medico(request):
    nome_time = request.session['nome_time']
    controlador = ctrler.InstanciaJogo()
    print("Medico Contratado")
    controlador.contratar_medico(nome_time, int(request.POST["medico_id"]))
    return HttpResponse("contratado")
Exemple #14
0
def vender_modulo(request):
    controlador = ctrler.InstanciaJogo()
    nome_time = request.session['nome_time']
    print("Modulo Vendido")
    controlador.vender_modulo(nome_time, int(request.POST["modulo_id"]))
    return HttpResponse(controlador.get_caixa(nome_time))