Soyez le premier à donner votre avis sur cette source.
Vue 12 736 fois - Téléchargée 404 fois
// début pour vous faire une idée (tout est inclus dans le zip) #include <stdlib.h> #include <stdio.h> #include <gtk/gtk.h> GtkWidget *win; GtkWidget *bigbox; GtkWidget *boxmenu; GtkWidget *gamebox; GtkWidget *leftframe; GtkWidget *rightframe; GtkWidget *grilledebut; GtkWidget *menu; GtkWidget *menu_nouveau, *menu_about, *menu_quitter; GtkWidget *optionbox; GtkWidget *jeubox; GtkWidget *labelniveau; GtkWidget *labelcommencer; GtkWidget *boutoncommencer; GtkWidget *boutonniv1, *boutonniv2, *boutonniv3, *commencerpc, *commencerhumain; GtkWidget *separateur; GtkWidget *gamelabel, *selectcaselabel, *selectnblabel; GtkWidget *bouttonvalider; GtkWidget *nbentry, *ligneentry; GtkWidget *boutonvalider; GtkWidget *infobox, *infolabel; GtkWidget *fin, *finlabel, *finbouton; GtkWidget *war, *warbouton, *warlabel; GtkWidget *scorelabel; char fintxt[60]; int *etat; int niveau; char start; int mode; struct _joueur{ int parties; int points; }joueur; void quitter(void); void nouveau_jeu(void); void about(void); void commencer(void); void jeu (int); int addition(int tabl[]); void humainjoue(void); void actualiseraff(void); void init_jeu(int, char); void pcjoue(); void liberer(); void destroy_fin(void); void warning(void); void warning_destroy(void); int main( int argc, char *argv[] ) { joueur.parties=0; joueur.points=0; mode=0; gtk_init (&argc, &argv); win = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_container_set_border_width (GTK_CONTAINER (win), 5); gtk_window_set_title (GTK_WINDOW (win), "Gtk Allumettes v1.1"); gtk_window_set_position (GTK_WINDOW (win), GTK_WIN_POS_CENTER); gtk_window_set_default_size(GTK_WINDOW(win), 300,100); g_signal_connect (win, "destroy", gtk_main_quit, NULL); bigbox=gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(win), GTK_WIDGET(bigbox)); gtk_widget_show(bigbox); boxmenu=gtk_hbox_new(TRUE, 0); gtk_box_pack_start(GTK_BOX(bigbox), GTK_WIDGET(boxmenu), FALSE,FALSE, 0); gtk_widget_show(boxmenu); menu=gtk_menu_bar_new(); gtk_box_pack_start(GTK_BOX(boxmenu), GTK_WIDGET(menu), TRUE,TRUE, 0); gtk_widget_show(menu); menu_nouveau=gtk_menu_item_new_with_label("Nouvelle partie "); menu_about=gtk_menu_item_new_with_label(" Informations "); menu_quitter=gtk_menu_item_new_with_label(" Quitter ! "); gtk_menu_bar_append (GTK_MENU_BAR (menu), menu_nouveau); gtk_menu_bar_append (GTK_MENU_BAR (menu), menu_about); gtk_menu_bar_append (GTK_MENU_BAR (menu), menu_quitter); gtk_widget_show(menu_nouveau); gtk_widget_show(menu_about); gtk_widget_show(menu_quitter); g_signal_connect(G_OBJECT(menu_quitter), "activate", G_CALLBACK(quitter), NULL); g_signal_connect(G_OBJECT(menu_about), "activate", G_CALLBACK(about), NULL); g_signal_connect(G_OBJECT(menu_nouveau), "activate", G_CALLBACK(nouveau_jeu), NULL); gtk_widget_show(win); gtk_main (); return 0; } void quitter(void){ liberer(); free(etat); gtk_main_quit(); } void nouveau_jeu(void){ liberer(); mode=1; optionbox=gtk_hbox_new(TRUE, 5); leftframe=gtk_vbox_new(FALSE, 5); rightframe=gtk_vbox_new(FALSE, 5); gtk_widget_show(optionbox); gtk_widget_show(leftframe); gtk_widget_show(rightframe); gtk_box_pack_start(GTK_BOX(optionbox), GTK_WIDGET(leftframe), TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(optionbox), GTK_WIDGET(rightframe), TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(bigbox), GTK_WIDGET(optionbox), TRUE, TRUE, 0); labelniveau=gtk_label_new("Veuillez selectionner un niveau"); labelcommencer=gtk_label_new("Veuillez dire qui va commencer"); gtk_box_pack_start(GTK_BOX(leftframe), GTK_WIDGET(labelniveau), FALSE, FALSE, 5); gtk_box_pack_start(GTK_BOX(rightframe), GTK_WIDGET(labelcommencer), FALSE, FALSE, 5); gtk_widget_show(labelniveau); gtk_widget_show(labelcommencer); boutonniv1=gtk_radio_button_new_with_label(NULL, "niveau 1 : super facile"); boutonniv2=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(boutonniv1), "niveau 2 : moyen "); boutonniv3=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(boutonniv2), "niveau 3 : dur "); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(boutonniv2),TRUE ); gtk_widget_show(boutonniv1); gtk_widget_show(boutonniv2); gtk_widget_show(boutonniv3); gtk_box_pack_start(GTK_BOX(leftframe), GTK_WIDGET(boutonniv1), FALSE, FALSE, 5); gtk_box_pack_start(GTK_BOX(leftframe), GTK_WIDGET(boutonniv2), FALSE, FALSE, 1); gtk_box_pack_start(GTK_BOX(leftframe), GTK_WIDGET(boutonniv3), FALSE, FALSE, 1); separateur=gtk_hseparator_new(); gtk_widget_show(separateur); gtk_box_pack_start(GTK_BOX(leftframe), GTK_WIDGET(separateur), TRUE, TRUE, 0); boutoncommencer=gtk_button_new_with_label("Commencer !"); gtk_box_pack_start(GTK_BOX(leftframe), GTK_WIDGET(boutoncommencer), TRUE, TRUE, 2); gtk_widget_show(boutoncommencer); g_signal_connect(G_OBJECT(boutoncommencer), "clicked", G_CALLBACK(commencer), NULL); commencerpc=gtk_radio_button_new_with_label(NULL, "c'est le pc"); commencerhumain=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(commencerpc), "c'est vous"); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(commencerhumain),TRUE ); gtk_box_pack_start(GTK_BOX(rightframe), GTK_WIDGET(commencerpc), FALSE, FALSE, 2); gtk_box_pack_start(GTK_BOX(rightframe), GTK_WIDGET(commencerhumain), FALSE, FALSE, 2); gtk_widget_show(commencerpc); gtk_widget_show(commencerhumain); separateur=gtk_hseparator_new(); gtk_widget_show(separateur); gtk_box_pack_start(GTK_BOX(rightframe), GTK_WIDGET(separateur), TRUE, TRUE, 0); //GtkWidget *boutoncommecner; //GtkWidget *boutonniv1, *boutonniv2, boutonniv3, *commencerpc, *commencerhumain; } void about(void){ liberer(); mode=3; infobox=gtk_vbox_new(TRUE, 5); gtk_box_pack_start(GTK_BOX(bigbox), infobox, TRUE, TRUE, 5); gtk_widget_show(infobox); infolabel=gtk_label_new(" licence gpl \n vous etes libre de copier, modifier, redistribuer la \nprogramme modifie ou tel quel suivant les termes de la gpl \n \n Regle du jeu allumettes : \n \nVous pouvez retirer autant d'allumettes que \nvos voulez sur une seule et meme ligne\nCelui qui prend la derniere a perdu\nBonne chance !\n \nPoints : \nniveau 1 : 1point\nniveau 2 : 4points\nniveau 3 : 9 points."); gtk_box_pack_start(GTK_BOX(infobox), infolabel, TRUE, TRUE, 5); gtk_widget_show(infolabel); return; } void commencer(void){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(commencerpc))) start='n'; else start='o'; if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(boutonniv1))){ niveau=1; }else { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(boutonniv2))) niveau=2; else niveau=3; } liberer(); etat=(int *)malloc(sizeof(int)*5);
18 juil. 2004 à 17:04
meilleur adresse pour gtk.
Il y a un forum et de l'aide.
Sous dev cpp cela se fait tout seul avec les derniére version 2.2.4 ou 2.4.1. Faut juste lire le readme, configurer comme il faut l'ordinateur.
ET la faut pas oublier aussi sous dev cpp de choisir PROJET C (e et pas c++ )
Nouveau Projet=> GUI => Gtk+
Voila pour les difficulté d'installation ( c pas facile quand meme et j'y est passé du temps )
Mais aprés, on devien acro !!!
1 juil. 2004 à 15:22
je voulais compiler moi meme ce programme avec c++ visual..mais je n'y arrive pas..je suis debutant..quelqu'un sait comment je dois y parvenir tout seul?
15 févr. 2004 à 17:49
g copiè le script dans dev c++ et il me di kil ne trouve pa le fichier <gtk/gtk.h> que dois je faire pour faire marché ce programme
merci encore!!
29 juil. 2002 à 23:49
trouve-moi un site où il y a la meme chose...
mon code est absolument pas pompé.
merci VBSephiroth
le msg de stormy est en fait une réaction au fait que j'ai commenté ca source. En effet, sa source était la copie conforme d'un tutorial disponible sur un autre site (nehe.gamedev.net), et il ne mentionnait nul part le fait que la source n'était pas de son cru. Voici sa source qu'il a copiée :
http://www.cppfrance.com/article.aspx?Val=907
concernant la mienne, je le repette c'est absolument pas pompé.
29 juil. 2002 à 23:10
Moi aussi je peux jouer à ça petit!!!
Je donne 1 pour l'orthographe car c bien tapé.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.