From 0d1926b75939276a2e13348e02f6ff17c8f4e7e0 Mon Sep 17 00:00:00 2001 From: lumizila <lumiwille@gmail.com> Date: Sun, 23 Apr 2017 22:35:18 -0300 Subject: [PATCH] fixed some bugs Signed-off-by: lumizila <lumiwille@gmail.com> --- jogador.c | 14 +++++++------- jogador.h | 3 ++- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/jogador.c b/jogador.c index 6ae9cc3..d526055 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 c26d91f..e8844e2 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 -- GitLab