Vraiment besoin d'aide

Signaler
Messages postés
2
Date d'inscription
mardi 1 mars 2011
Statut
Membre
Dernière intervention
12 juin 2011
-
Messages postés
2
Date d'inscription
mardi 1 mars 2011
Statut
Membre
Dernière intervention
12 juin 2011
-
Bonsoir tout le monde, ou du moins ceux qui liront ce message ^^
Voilà,j'explique en gros mon problème dans l'espoir d'avoir une réponse dans les 24H à venir.
j'ai créé le code source d'un jeu "othello" en C,il marche bien mais sur le terminal, du coup j'ai crée une interface graphique avec la bibliothèque GTK+ , le problème que je rencontre actuellement c'est par rapport à l'implémentation du code, ce dont j'ai besoin exactement c'est de savoir comment récupérer les coordonnées de mon pion sur l'échiquier =(, genre à chaque fois que je clique sur l'échiquier pour installer mon pion je veux qu'une fonction me retourne l'emplacement exacte de ce dernier pour que je puisse continuer !!
est ce que quelqu'un aurait l'amabilité de m'aider ... Merci

2 réponses

Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
salut,

Tout dépends de ce que tu utilises pour dessiner ton echiquier. Tous les widgets disposent d'une fonction callback. Si tu utilises un quadrillage d'objets (shape, bouton, ...), tu recupères l'objet directement dans le callback.

Tu pourrais aussi utiliser un simple dessin, recuperer les coordonnées de ton clic dans la fenêtre principale et calculer la position suivant la position de ton echiquier et la taille des cases.

@++
Messages postés
2
Date d'inscription
mardi 1 mars 2011
Statut
Membre
Dernière intervention
12 juin 2011

En fait voilà le code de mon échiquier :

/* Echiquier */
Table = gtk_table_new(9,9,TRUE);
for(i = 0 ; i < 8 ; i++) {
sprintf(S,"%d",8-i);
gtk_table_attach_defaults(GTK_TABLE(Table),gtk_label_new(S),0,1,i,i+1);
}
for(i = 1 ; i < 9 ; i++) {
sprintf(S,"%c",'A'+i-1);
gtk_table_attach_defaults(GTK_TABLE(Table),gtk_label_new(S),i,i+1,8,9);
}

Coul = gtk_image_new();
gtk_table_attach_defaults(GTK_TABLE(Table),Coul,0,1,8,9);
for(i = 0 ; i < dim ; i++) {
for(j = 0 ; j < dim ; j++) {
othellier[i][j] = gtk_image_new_from_file("./imageessaye/grisPS.png");

othellier[3][3]=gtk_image_new_from_file("./imageessaye/pionBlanc1.png");
othellier[4][4]=gtk_image_new_from_file("./imageessaye/pionBlanc1.png");
othellier[3][4]=gtk_image_new_from_file("./imageessaye/pionNoir1.png");
othellier[4][3]=gtk_image_new_from_file("./imageessaye/pionNoir1.png");

event_box = gtk_event_box_new();
gtk_container_add(GTK_CONTAINER(event_box),othellier[i][j]);


gtk_table_attach_defaults(GTK_TABLE(Table),event_box,j+1,j+2,i,i+1);
}
}
et comme vous le remarquez je n ai pas encore introduit une fonction callback