probleme sous programme gtk

probleme sous programme gtk - Divers - Programmation

Marsh Posté le 01-11-2006 à 14:47:55    

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. typedef struct block
  2. {
  3.         GtkWidget *pButton;
  4.         GtkWidget *pImage_blanc; 
  5.         GtkWidget *pImage_noir; 
  6.         GtkWidget *pImage_loup; //  
  7.         GtkWidget *pImage_agneau;//  
  8.         gint x;
  9. }t_block;


 
puis un tableau
 

Code :
  1. 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. for(i=0;i<10;i++)
  2.     {
  3.                      for(j=0;j<10;j++)
  4.                      {
  5.                                       g_signal_connect(G_OBJECT(block[i][j].pButton), "clicked", G_CALLBACK(jeu),  block);
  6.                      }
  7.     }


 
et voici le sous programme jeu.c
 

Code :
  1. #include "biblio.h"
  2. void jeu(GtkWidget *pButton, gpointer data)
  3. {
  4.  
  5.    t_block** block;
  6.    gint i=0;
  7.    gint j=0;
  8.    GtkWidget* pWindow;
  9.  
  10.  
  11.   pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  12.     gtk_window_set_title(GTK_WINDOW(pWindow),"fenetre test" );
  13.     gtk_window_set_default_size(GTK_WINDOW(pWindow),320,200);
  14.  
  15.    block=(t_block**) data;
  16.    for(i=0;i<10;i++)
  17.    {
  18.                     for(j=0;j<10;j++)
  19.                     {
  20.                        
  21.                                  
  22.    if((block[i][j].x)==1)  gtk_widget_show_all(pWindow);
  23. }
  24. }
  25.  
  26. }


 
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

Reply

Marsh Posté le 01-11-2006 à 14:47:55   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed