From 347c044bcc15a3fb4fa11eb3d0dc52d30815576b Mon Sep 17 00:00:00 2001 From: Vytor Calixto <vytorcalixto@gmail.com> Date: Mon, 12 Jun 2017 10:27:08 -0300 Subject: [PATCH] =?UTF-8?q?Modifica=20raz=C3=A3o=20da=20profundidade?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libs/jogador.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/libs/jogador.c b/libs/jogador.c index d92e656..91ed395 100644 --- a/libs/jogador.c +++ b/libs/jogador.c @@ -17,7 +17,7 @@ Lista Joga(Grafo g, Lista grupo){ int altura = calculaAltura(g, grupo); int naoConsumidos = tamanhoLista(g->vertices) - tamanhoLista(grupo); - int profundidade = (sqrt(max) * (sqrt(altura) / sqrt(min)) * (altura/sqrt(naoConsumidos))); + int profundidade = (sqrt(max) * (sqrt(altura) / sqrt(min)) * 1); //(altura/sqrt(naoConsumidos))); Lista filhos = filhosGrupo(grupo); @@ -44,6 +44,10 @@ Lista Joga(Grafo g, Lista grupo){ } else if((v->bonus) == (maior->bonus)) { if(v->peso > maior->peso) { maior = v; + } else if(v->peso == maior->peso) { + if(v->cor < maior->cor) { + maior = v; + } } } } @@ -146,7 +150,7 @@ void calculaBonus(Lista grupo, Grafo g, int profundidade) { Vertice filho = (Vertice) getConteudo(m); if((filho->altura > v->altura)) { int bonus = filho->peso + calculaBonusRec(filho, v, g, profundidade); - if(corEstaNaLista(grupo, filho->cor)) bonus += 100; + if(corEstaNaLista(grupo, filho->cor)) bonus += 50; v->bonus += bonus; } } @@ -169,7 +173,7 @@ void calculaBonus(Lista grupo, Grafo g, int profundidade) { v->bonus += 150; } } - destroiLista(vFilhos, NULL); + destroiLista(vFilhos, destroiVertice); int menorDistancia = v->altura; for(No m = primeiroNoLista(g->vertices); m; m = getSucessorNo(m)) { @@ -180,7 +184,6 @@ void calculaBonus(Lista grupo, Grafo g, int profundidade) { if((w->altura < menorDistancia) || (menorDistancia == v->altura)) menorDistancia = w->altura; } } - v->bonus += (menorDistancia - v->altura)^2; for(No m = primeiroNoLista(v->pais); m; m = getSucessorNo(m)) { Vertice pai = (Vertice) getConteudo(m); @@ -216,7 +219,6 @@ int calculaBonusRec(Vertice v, Vertice pai, Grafo g, int profundidade) { Vertice filho = (Vertice) getConteudo(n); if((filho->altura > v->altura)) { int preBonus = filho->peso + calculaBonusRec(filho, v, g, profundidade-1); - Lista fFilhos = agrupaCores(filho->filhos); bonus += preBonus; } } -- GitLab