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 :
- 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 :
- 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 :
- #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