probleme sous programme gtk
bonjour a tous !
alors je vous explique le fonctionnement de mon programme, puis le probleme.
Il s'agit de faire un jeu de loup et d agneau, sur un damier.
je me suis créer une structure :
Code:
1 2 3 4 5 6 7 8 9
| typedef struct block
{
GtkWidget *pButton;
GtkWidget *pImage_blanc;
GtkWidget *pImage_noir;
GtkWidget *pImage_loup; //
GtkWidget *pImage_agneau;//
gint x;
}t_block; |
puis un tableau
Code:
t_block block[10][10];
Dans le main, je remplis tout les champs comme il se doit, et lorsque je clique sur un bouton je veux envoyer tout le tableau, je met donc ceci :
Code:
1 2 3 4 5 6 7
| for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
g_signal_connect(G_OBJECT(block[i][j].pButton), "clicked", G_CALLBACK(jeu), block);
}
} |
et voici le sous programme jeu.c
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| #include "biblio.h"
void jeu(GtkWidget *pButton, gpointer data)
{
t_block** block;
gint i=0;
gint j=0;
GtkWidget* pWindow;
pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(pWindow),"fenetre test");
gtk_window_set_default_size(GTK_WINDOW(pWindow),320,200);
block=(t_block**) data;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if((block[i][j].x)==1) gtk_widget_show_all(pWindow);
}
}
} |
Or je me suis rendu compte que la valeur block[i][j].x etait totalement farfelue et donc que le sous programme ne recevait pas les bonnes données.
Pouvez vous m'aidez svp?
En espérant avoir été clair dans mes explications