diff --git a/jogador.c b/jogador.c index 6ae9cc37124d7732d945c0dda4c102b791d972cd..d5260557197e29f0c3bc8d7201af57e88a0a356e 100644 --- a/jogador.c +++ b/jogador.c @@ -6,8 +6,8 @@ struct Nodo { // Jogada que foi tomada para chegar neste nodo (ou seja, cor do grupo de posicoes atual) int jogada; - // Filhos deste nodo - Nodo * filhos[]; + // Filhos deste nodo, sera um array de structs Nodo + Nodo * filhos; // "Quadrados pintados" ate aquele nodo(que sera um vetor contendo certas posicoes do vetor "celulas") int * quadradosPintados; // peso eh a quantidade de quadrados pintados deste grupo @@ -15,7 +15,7 @@ struct Nodo { }; int checaCor(Tblr t, int posicao){ - return t->celulas[posicao]->cor; + return (t->celulas[posicao]->cor); } int * verAdjacentes(Tblr t, int posicao, int cor){ @@ -26,7 +26,7 @@ void alocaFilhos(Nodo n){ //TODO: criar algoritmo que, dado um nodo, aloca seus filhos } -Nodo criaGrafo(t){ +Nodo criaGrafo(Tblr t){ Nodo n = malloc(sizeof(struct Nodo)); if(!n) return NULL; @@ -35,12 +35,12 @@ Nodo criaGrafo(t){ // Ver quais sao os quadrados pintados deste nodo(grupo de quadrados adjacentes da mesma cor, dada uma posicao) n->quadradosPintados = verAdjacentes(t, 0, n->jogada); - if(quadradosPintados == NULL) return NULL; - n.peso = (sizeof(n.quadradosPintados)/sizeof(int)); + if(n->quadradosPintados == NULL) return NULL; + n->peso = (sizeof(n->quadradosPintados)/sizeof(int)); // Ver qual e a quantidade de filhos deste Nodo e aloca espaco para eles alocaFilhos(n); - if(n.filhos == NULL) return NULL; + if(n->filhos == NULL) return NULL; return n; } diff --git a/jogador.h b/jogador.h index c26d91f944254049a0538183a8adbbe20baaa5d9..e8844e2baf2f04bd244f9c837f766c2529601f9e 100644 --- a/jogador.h +++ b/jogador.h @@ -1,6 +1,7 @@ #ifndef _PLAYER_ #define _PLAYER_ #include <stdbool.h> +#include "tabuleiro.h" // Nodo do grafo que permitira encontrar o menor numero de jogadas typedef struct Nodo *Nodo; @@ -22,5 +23,5 @@ int checaCor(Tblr t, int posicao); int * verAdjacentes(Tblr t, int posicao, int cor); // Ve quais sao os filhos deste nodo, ou seja, os grupos de cores que estao ligados ao grupo de quadrados referentes a este nodo. -void alocaFilhos(Nodo n) +void alocaFilhos(Nodo n); #endif