Mastermind en C

Fermé
Bargaine Messages postés 2 Date d'inscription dimanche 11 mars 2012 Statut Membre Dernière intervention 12 mars 2012 - 11 mars 2012 à 20:44
Bargaine Messages postés 2 Date d'inscription dimanche 11 mars 2012 Statut Membre Dernière intervention 12 mars 2012 - 12 mars 2012 à 20:21
Bonjour,
je doit programmer une interface graphique permettant de jouer au mastermind.
J'ai commancé à le faire, mais je progresse pas beaucoup car étant débutant.
Voilà, je désir avoir un code tout fait, bien fait pour celà si quelqu'un dans ce forum veut bien m'aider sur ce coup.
Noter que nous utilisons l'outil Gtk.


Voilà ce que j'ai eu à faire à présent :


#include <stdlib.h>
#include <gtk/gtk.h>

#include <stdio.h>


/* Déclaration de la fonction qui sera associée au signal de destruction de la fenêtre */
void cb_quitter(GtkWidget* fenetre, gpointer param);

/* Fonction main */
int main(int argc,char **argv)
{
/* Declaration de la fenetre */
GtkWidget *fenetre;

/* Declaration des labels */
GtkWidget *t_label;
GtkWidget *n_label;
GtkWidget *couleurs;
GtkWidget *espace;

/* Declaration des boutons */
GtkWidget *Quitter;

GtkWidget *Noir ;
GtkWidget *Rouge ;
GtkWidget *Bleu ;
GtkWidget *Vert ;
GtkWidget *Mauve ;
GtkWidget *Orange ;
GtkWidget *Jaune ;
GtkWidget *Blanc ;

/* Déclaration des boites */
GtkWidget *h_boite;
GtkWidget *v_boite;
GtkWidget *c_h_boite; /* Boite hori qui contiendra la palette de couleur */
/* Initialisation de l'environnement Gtk */
gtk_init(&argc, &argv);

/* Creation de la fenetre */
fenetre = gtk_window_new(GTK_WINDOW_TOPLEVEL);

/* Creation des labels */
t_label = gtk_label_new("Nombre d'essais restants");
n_label = gtk_label_new("10");
espace = gtk_label_new(" ");
couleurs = gtk_label_new("Palette de couleurs");
/* Création des boutons */
Quitter = gtk_button_new_with_label("Quitter");

Noir = gtk_button_new_with_label("Noir");
Rouge = gtk_button_new_with_label("Rouge");
Bleu = gtk_button_new_with_label("Bleu");
Vert = gtk_button_new_with_label("Vert");
Mauve = gtk_button_new_with_label("Mauve");
Orange = gtk_button_new_with_label("Orange");
Jaune = gtk_button_new_with_label("Jaune");
Blanc = gtk_button_new_with_label("Blanc");


/* Création des boites */
h_boite = gtk_hbox_new(TRUE, 10);
v_boite = gtk_vbox_new(FALSE, 50);
c_h_boite = gtk_hbox_new(TRUE, 10);

/* Association de la boite à un conteneur */
gtk_container_add(GTK_CONTAINER(fenetre), v_boite);

/* Ajout des labels aux boites */
gtk_box_pack_start(GTK_BOX(h_boite), t_label, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(h_boite), n_label, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(v_boite), h_boite, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(c_h_boite), couleurs, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(c_h_boite), espace, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(c_h_boite), Noir, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(c_h_boite), Rouge, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(c_h_boite), Bleu, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(c_h_boite), Vert, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(c_h_boite), Mauve, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(c_h_boite), Orange, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(c_h_boite), Jaune, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(c_h_boite), Blanc, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(v_boite), c_h_boite, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(v_boite), Quitter, TRUE, TRUE, 0);

/* Affecter un titre à la fenêtre */
gtk_window_set_title(GTK_WINDOW(fenetre), "Jeu de mastermind");

/* Dimensionnement de la fenetre */
gtk_window_set_default_size(GTK_WINDOW(fenetre), 1000, 200);

/* On associe la fonction cb_quitter au signal de fermeture de la fenêtre */
gtk_signal_connect(GTK_OBJECT(fenetre), "destroy", G_CALLBACK(cb_quitter), NULL);

gtk_signal_connect(GTK_OBJECT(Quitter), "clicked", G_CALLBACK(cb_quitter), NULL);



/* Affichage de la fenetre */
gtk_widget_show_all(fenetre);

/* Lancement de la boucle événementielle */
gtk_main();

return EXIT_SUCCESS;
}

/* Définition de la fonction qui sera associée au signal de destruction de la fenêtre */
void cb_quitter(GtkWidget* fenetre, gpointer param)
{
gtk_main_quit();
}


Merci à tout ceux qui prendront le soin de me lire :)

1 réponse

Bargaine Messages postés 2 Date d'inscription dimanche 11 mars 2012 Statut Membre Dernière intervention 12 mars 2012
12 mars 2012 à 20:21
Salut tout le monde,
personne n'est passé par là ???
0