public void AtualizarRankMinijogo(TarefaAprendizado tarefa) { GerenciadorTarefas.Instance.Log("\tAtualizando Rank de Minijogos..."); //REGRA DDA #3: Ordenar os Tipos de Minijogos de acordo com o Tempo de Latência associado a ele. for (int i = 0; i < minijogos.Length; i++) { if(tarefa.tipoMinijogo == minijogos[i].tipo) { minijogos[i].rank += (int)Mathf.Ceil(tarefa.TempoLatencia); break; } } tarefa.tipoMinijogo = GetBestMinijogo(); }
public void AtualizaConhecimentoPalavra(TarefaAprendizado tarefa) { lastTarefaAprendizado = tarefa; CalculaDificuldades(); GerenciadorTarefas.Instance.Log("\tAtualizando conhecimento da palavra modelo"); //REGRA DDA #4: Atualizar o Conhecimento da Palavra analisando os 2 //últimos acertos consecutivos de tarefas contendo o mesmo Modelo de Palavra. float[] dificuldades = GerenciadorTarefas.Instance. Data.GetDificuldadePalavrasConsecultivas(lastTarefaAprendizado.modelo.nome); if(dificuldades.Length < 2) { GerenciadorTarefas.Instance.Log("\t\tNao foram realizados tarefas suficientes para analise do conhecimento dessa palavra"); return; } int maxDificuldadeIndex = 0; float media = 0; for(int i=1; i < dificuldades.Length; i++) { media += dificuldades[i]; if(dificuldades[i] > dificuldades[maxDificuldadeIndex]) { maxDificuldadeIndex = i; } } GerenciadorTarefas.Instance.Log(string.Format( "\t\tConhecimento da Palavra: {0}, Maior Conhecimento: {1}, Media dos conhecimentos: {2}", lastTarefaAprendizado.modelo.conhecimentoGeral, dificuldades[maxDificuldadeIndex], media)); //Se o Conhecimento atual da Palavra for menor que a tarefa onde o valor da //Dificuldade Dinâmica seja maior, o Conhecimento será a média dos valores de Dificuldade Dinâmica. if(lastTarefaAprendizado.modelo.conhecimentoGeral < dificuldades[maxDificuldadeIndex]) { lastTarefaAprendizado.modelo.conhecimentoGeral = media; GerenciadorTarefas.Instance.Log("\t\tConhecimento atualizado para " + lastTarefaAprendizado.modelo.conhecimentoGeral); } }
public void ShowModel(TarefaAprendizado tarefa) { switch (tarefa.tipoTarefa.GetFormaExibicaoModelo()) { case (char)DefinicaoTipoTarefa.SOM: audioSource.clip = GerenciadorTarefas.Instance.Data.GetAudioEnsino(tarefa.modelo.id); PlayAudioModel(); SetBallonenable(true, false, false, true); break; case (char)DefinicaoTipoTarefa.IMAGEM: SetBallonenable(true); imageModel.sprite = GerenciadorTarefas.Instance.Data.GetImageEnsino(tarefa.modelo.id); break; case (char)DefinicaoTipoTarefa.PALAVRA: SetBallonenable(true); textModel.text = tarefa.modelo.nome; break; default: break; } }
public void AttachTarefa(TarefaAprendizado tarefa) { this.tarefa = tarefa; }
public void Run(TarefaAprendizado tarefaAprendizado) { GerenciadorTarefas.Instance.Log("\tAgente DDA sendo executado..."); lastTarefaAprendizado = tarefaAprendizado; if (IsPossivelRegressao()) { GerenciadorTarefas.Instance.Log("\tRegressao sendo feita..."); SaveTarefaOnBuffer(); CreateTarefaDDA(); //REGRA DDA #2: Monitorar quantas regressões foram feita na tarefa tendo como base a primeira. lastTarefaAprendizado.numRegressoes++; GerenciadorTarefas.Instance.Log("\tRegressao realizada."); } else { GerenciadorTarefas.Instance.Log("\tRegressao nao eh possivel."); if (IsTarefaAprendizadoPendente()) { lastTarefaAprendizado = GetTarefaAprendizadoPendente(); } else if(lastTarefaAprendizado.comparacoes.Length > 2) { ReduzirComparacoes(); } else { lastTarefaAprendizado = GerenciadorTarefas.Instance.NextTarefaAprendizado(); } } }