Skip to content
Snippets Groups Projects
Commit 0d1926b7 authored by lumizila's avatar lumizila
Browse files

fixed some bugs


Signed-off-by: default avatarlumizila <lumiwille@gmail.com>
parent 1e6ba521
No related branches found
No related tags found
No related merge requests found
Pipeline #
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
struct Nodo { struct Nodo {
// Jogada que foi tomada para chegar neste nodo (ou seja, cor do grupo de posicoes atual) // Jogada que foi tomada para chegar neste nodo (ou seja, cor do grupo de posicoes atual)
int jogada; int jogada;
// Filhos deste nodo // Filhos deste nodo, sera um array de structs Nodo
Nodo * filhos[]; Nodo * filhos;
// "Quadrados pintados" ate aquele nodo(que sera um vetor contendo certas posicoes do vetor "celulas") // "Quadrados pintados" ate aquele nodo(que sera um vetor contendo certas posicoes do vetor "celulas")
int * quadradosPintados; int * quadradosPintados;
// peso eh a quantidade de quadrados pintados deste grupo // peso eh a quantidade de quadrados pintados deste grupo
...@@ -15,7 +15,7 @@ struct Nodo { ...@@ -15,7 +15,7 @@ struct Nodo {
}; };
int checaCor(Tblr t, int posicao){ int checaCor(Tblr t, int posicao){
return t->celulas[posicao]->cor; return (t->celulas[posicao]->cor);
} }
int * verAdjacentes(Tblr t, int posicao, int cor){ int * verAdjacentes(Tblr t, int posicao, int cor){
...@@ -26,7 +26,7 @@ void alocaFilhos(Nodo n){ ...@@ -26,7 +26,7 @@ void alocaFilhos(Nodo n){
//TODO: criar algoritmo que, dado um nodo, aloca seus filhos //TODO: criar algoritmo que, dado um nodo, aloca seus filhos
} }
Nodo criaGrafo(t){ Nodo criaGrafo(Tblr t){
Nodo n = malloc(sizeof(struct Nodo)); Nodo n = malloc(sizeof(struct Nodo));
if(!n) return NULL; if(!n) return NULL;
...@@ -35,12 +35,12 @@ Nodo criaGrafo(t){ ...@@ -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) // 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); n->quadradosPintados = verAdjacentes(t, 0, n->jogada);
if(quadradosPintados == NULL) return NULL; if(n->quadradosPintados == NULL) return NULL;
n.peso = (sizeof(n.quadradosPintados)/sizeof(int)); n->peso = (sizeof(n->quadradosPintados)/sizeof(int));
// Ver qual e a quantidade de filhos deste Nodo e aloca espaco para eles // Ver qual e a quantidade de filhos deste Nodo e aloca espaco para eles
alocaFilhos(n); alocaFilhos(n);
if(n.filhos == NULL) return NULL; if(n->filhos == NULL) return NULL;
return n; return n;
} }
......
#ifndef _PLAYER_ #ifndef _PLAYER_
#define _PLAYER_ #define _PLAYER_
#include <stdbool.h> #include <stdbool.h>
#include "tabuleiro.h"
// Nodo do grafo que permitira encontrar o menor numero de jogadas // Nodo do grafo que permitira encontrar o menor numero de jogadas
typedef struct Nodo *Nodo; typedef struct Nodo *Nodo;
...@@ -22,5 +23,5 @@ int checaCor(Tblr t, int posicao); ...@@ -22,5 +23,5 @@ int checaCor(Tblr t, int posicao);
int * verAdjacentes(Tblr t, int posicao, int cor); 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. // 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 #endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment