czosnek17 Temat założony przez niniejszego użytkownika |
» 2012-09-21 18:47:07 Działa. CZŁOWIEKU, DZIĘKI! Jprdl... otwieram... W czasie problemu przestałem ogarniać kod mojego programu (nic tam nie pisałem) i przez pomyłkę pomyślałem, że po poprawieniu błędów, o których napisałeś już działa tak, jak powinien ._. Zauważyłem,że tak nie jest jak chciałem dalej pisać. To co napisałeś z tymi tablicami już poprawiłem (jak widać w kodzie "z buta"), ale program nie wyświetla false/true(nawet nie zauważyłem zmian w działaniu), a tak miało być. Ale ja jestem mądry.. Kod: #include <gtk/gtk.h> using namespace std; struct struktura { GtkWidget * sokno; GtkWidget * svbox; GtkWidget * start; GtkWidget * zasady; GtkWidget * statystyki; GtkWidget * ogrze; GtkWidget * wwyjdz; GtkWidget * hbox; GtkWidget * trudny; GtkWidget * latwy; GtkWidget * fixed2; GtkWidget * poletxt; GtkWidget * etgr; GtkWidget * wprowadz; GtkWidget * etwyb; GtkWidget * sep; GtkWidget * ramka; GtkWidget * wyniklab; GtkWidget * powrot; GtkWidget * wynik; GtkWidget * etykieta; GtkWidget * kontenerx; GtkWidget * fixlab; GtkWidget * graj; int kont; int czystart; const gchar * wczyt; int liczbazm; bool sprawdzdane; }; void rysujmenu( GtkWidget * przycisk, gpointer dane ) { struct struktura * sss; sss =( struct struktura * ) dane; gtk_widget_set_size_request( sss->svbox, 245, 245 ); gtk_box_pack_start( GTK_BOX( sss->svbox ), sss->start, TRUE, TRUE, 2 ); gtk_box_pack_start( GTK_BOX( sss->svbox ), sss->zasady, TRUE, TRUE, 2 ); gtk_box_pack_start( GTK_BOX( sss->svbox ), sss->statystyki, TRUE, TRUE, 2 ); gtk_box_pack_start( GTK_BOX( sss->svbox ), sss->ogrze, TRUE, TRUE, 2 ); gtk_box_pack_start( GTK_BOX( sss->svbox ), sss->wwyjdz, TRUE, TRUE, 2 ); gtk_widget_show_all( sss->svbox ); } void pokazmenu( GtkWidget * przycisk, gpointer dane ) { struct struktura * sss; sss =( struct struktura * ) dane; gtk_widget_hide( sss->fixed2 ); gtk_box_pack_start( GTK_BOX( sss->svbox ), sss->start, TRUE, TRUE, 2 ); gtk_box_pack_start( GTK_BOX( sss->svbox ), sss->zasady, TRUE, TRUE, 2 ); gtk_box_pack_start( GTK_BOX( sss->svbox ), sss->statystyki, TRUE, TRUE, 2 ); gtk_box_pack_start( GTK_BOX( sss->svbox ), sss->ogrze, TRUE, TRUE, 2 ); gtk_box_pack_start( GTK_BOX( sss->svbox ), sss->wwyjdz, TRUE, TRUE, 2 ); gtk_widget_show_all( sss->svbox ); } void wybierzpoziom( GtkWidget * przycisk, gpointer dane ) { struct struktura * sss; sss =( struct struktura * ) dane; gtk_widget_hide( sss->svbox ); sss->czystart = 1; gtk_fixed_put( GTK_FIXED( sss->hbox ), sss->etwyb, 10, 35 ); gtk_fixed_put( GTK_FIXED( sss->hbox ), sss->trudny, 10, 100 ); gtk_fixed_put( GTK_FIXED( sss->hbox ), sss->latwy, 150, 100 ); gtk_widget_show_all( sss->hbox ); } void rysujgra( GtkWidget * widget, gpointer dane ) { struct struktura * sss; sss =( struct struktura * ) dane; gtk_widget_hide( sss->hbox ); gtk_fixed_put( GTK_FIXED( sss->fixed2 ), sss->wprowadz, 174, 10 ); gtk_fixed_put( GTK_FIXED( sss->fixed2 ), sss->powrot, 2, 210 ); gtk_fixed_put( GTK_FIXED( sss->fixed2 ), sss->etgr, 10, 10 ); gtk_fixed_put( GTK_FIXED( sss->fixed2 ), sss->wynik, 213, 214 ); gtk_fixed_put( GTK_FIXED( sss->fixed2 ), sss->wyniklab, 113, 214 ); gtk_fixed_put( GTK_FIXED( sss->fixed2 ), sss->poletxt, 125, 10 ); gtk_fixed_put( GTK_FIXED( sss->fixed2 ), sss->sep, 0, 30 ); gtk_fixed_put( GTK_FIXED( sss->fixed2 ), sss->ramka, 0, 65 ); gtk_fixed_put( GTK_FIXED( sss->fixed2 ), sss->wprowadz, 174, 10 ); gtk_fixed_put( GTK_FIXED( sss->fixlab ), sss->etykieta, 10, 10 ); gtk_fixed_put( GTK_FIXED( sss->fixlab ), sss->graj, 4, 2 ); gtk_widget_show_all( sss->fixed2 ); }
void pobierz( GtkWidget * przycisk, gpointer dane ) { struct struktura * sss; sss =( struct struktura * ) dane; gtk_widget_hide( sss->graj ); const gchar * zzz = ""; const gchar * nic = "nic"; const gchar * zle = "zle"; sss->wczyt = gtk_entry_get_text( GTK_ENTRY( sss->poletxt ) ); const gchar * tab1 = "1"; const gchar * tab2 = "2"; const gchar * tab3 = "3"; const gchar * tab4 = "4"; const gchar * tab5 = "5"; const gchar * tab6 = "6"; const gchar * tab7 = "7"; const gchar * tab8 = "8"; const gchar * tab9 = "9"; const gchar * tab10 = "10"; if( !g_strcmp0( sss->wczyt, tab1 ) || !g_strcmp0( sss->wczyt, tab2 ) || !g_strcmp0( sss->wczyt, tab3 ) || !g_strcmp0( sss->wczyt, tab4 ) || !g_strcmp0( sss->wczyt, tab5 ) || !g_strcmp0( sss->wczyt, tab6 ) || !g_strcmp0( sss->wczyt, tab7 ) || !g_strcmp0( sss->wczyt, tab8 ) || !g_strcmp0( sss->wczyt, tab9 ) || !g_strcmp0( sss->wczyt, tab10 ) || !g_strcmp0( sss->wczyt, zzz ) ) { if( !g_strcmp0( sss->wczyt, tab1 ) ) { gtk_label_set_text( GTK_LABEL( sss->etykieta ), tab1 ); sss->liczbazm = 1; } if( !g_strcmp0( sss->wczyt, tab2 ) ) { gtk_label_set_text( GTK_LABEL( sss->etykieta ), tab2 ); sss->liczbazm = 2; } if( !g_strcmp0( sss->wczyt, tab3 ) ) { gtk_label_set_text( GTK_LABEL( sss->etykieta ), tab3 ); sss->liczbazm = 3; } if( !g_strcmp0( sss->wczyt, tab4 ) ) { gtk_label_set_text( GTK_LABEL( sss->etykieta ), tab4 ); sss->liczbazm = 4; } if( !g_strcmp0( sss->wczyt, tab5 ) ) { gtk_label_set_text( GTK_LABEL( sss->etykieta ), tab5 ); sss->liczbazm = 5; } if( !g_strcmp0( sss->wczyt, tab6 ) ) { gtk_label_set_text( GTK_LABEL( sss->etykieta ), tab6 ); sss->liczbazm = 6; } if( !g_strcmp0( sss->wczyt, tab7 ) ) { gtk_label_set_text( GTK_LABEL( sss->etykieta ), tab7 ); sss->liczbazm = 7; } if( !g_strcmp0( sss->wczyt, tab8 ) ) { gtk_label_set_text( GTK_LABEL( sss->etykieta ), tab8 ); sss->liczbazm = 8; } if( !g_strcmp0( sss->wczyt, tab9 ) ) { gtk_label_set_text( GTK_LABEL( sss->etykieta ), tab9 ); sss->liczbazm = 9; } if( !g_strcmp0( sss->wczyt, tab10 ) ) { gtk_label_set_text( GTK_LABEL( sss->etykieta ), tab10 ); sss->liczbazm = 10; } sss->sprawdzdane = true; } else { gtk_label_set_text( GTK_LABEL( sss->etykieta ), zle ); sss->sprawdzdane = false; } gtk_entry_set_text( GTK_ENTRY( sss->poletxt ), zzz ); }
void gtrudny( GtkWidget * przycisk, gpointer dane ) { struct struktura * sss; sss =( struct struktura * ) dane; const gchar * tr = "true"; const gchar * fa = "false"; gtk_widget_hide( sss->graj ); g_signal_connect( G_OBJECT( sss->wprowadz ), "clicked", G_CALLBACK( pobierz ), sss ); if( sss->sprawdzdane == true ) { gtk_label_set_text( GTK_LABEL( sss->etykieta ), tr ); g_print( "aaWartość %d\n", sss->sprawdzdane ); } else { gtk_label_set_text( GTK_LABEL( sss->etykieta ), fa ); g_print( "bbWartość %d\n", sss->sprawdzdane ); } }
int main( int argc, char * argv[] ) { struct struktura sss; GtkWidget * okno; GtkWidget * vbox; GtkWidget * pstart; GtkWidget * pzasady; GtkWidget * pstatystyki; GtkWidget * pogrze; GtkWidget * wyjdz; GtkWidget * pokaz; GtkWidget * phboxwp; GtkWidget * ptrudny; GtkWidget * platwy; GtkWidget * kontener2; GtkWidget * kontener; GtkWidget * etwybx; GtkWidget * kontener3; GtkWidget * etgrx; GtkWidget * ramkax; GtkWidget * sepx; GtkWidget * wyniklabx; GtkWidget * entryx; GtkWidget * etx; GtkWidget * wynikx; GtkWidget * fix2; GtkWidget * wprowx; GtkWidget * fixlabx; GtkWidget * grajx; gtk_init( & argc, & argv ); sss.sokno = gtk_window_new( GTK_WINDOW_TOPLEVEL ); gtk_window_set_position( GTK_WINDOW( sss.sokno ), GTK_WIN_POS_CENTER ); gtk_window_set_default_size( GTK_WINDOW( sss.sokno ), 250, 250 ); gtk_window_set_title( GTK_WINDOW( sss.sokno ), "Gra 1.0" ); gtk_container_set_border_width( GTK_CONTAINER( sss.sokno ), 5 ); gtk_window_set_opacity( GTK_WINDOW( sss.sokno ), 1 ); ptrudny = gtk_button_new_with_label( "Trudny" ); platwy = gtk_button_new_with_label( "Łatwy" ); sss.trudny = ptrudny; sss.latwy = platwy; sss.powrot = gtk_button_new_with_label( "Powrót do menu" ); sss.czystart = 0; pstart = gtk_button_new_with_label( "Start" ); pzasady = gtk_button_new_with_label( "Zasady" ); pstatystyki = gtk_button_new_with_label( "Statystyki" ); pogrze = gtk_button_new_with_label( "O grze" ); wyjdz = gtk_button_new_with_label( "Wyjdź" ); sss.start = pstart; sss.zasady = pzasady; sss.statystyki = pstatystyki; sss.ogrze = pogrze; sss.wwyjdz = wyjdz; sss.sprawdzdane = false; kontener = gtk_fixed_new(); gtk_container_add( GTK_CONTAINER( sss.sokno ), kontener ); sss.kontenerx = kontener; gtk_widget_set_size_request( sss.kontenerx, 245, 245 ); kontener2 = gtk_vbox_new( FALSE, 1 ); gtk_container_add( GTK_CONTAINER( kontener ), kontener2 ); sss.svbox = kontener2; fix2 = gtk_fixed_new(); gtk_container_add( GTK_CONTAINER( sss.kontenerx ), fix2 ); sss.fixed2 = fix2; char * txt = "<span fgcolor='#6666CC'><span font='14'>Wybierz poziom trudności:</span></span>"; etwybx = gtk_label_new( txt ); gtk_label_set_markup( GTK_LABEL( etwybx ), txt ); sss.etwyb = etwybx; kontener3 = gtk_fixed_new(); gtk_container_add( GTK_CONTAINER( sss.kontenerx ), kontener3 ); sss.hbox = kontener3; gtk_widget_set_size_request( sss.trudny, 85, 35 ); gtk_widget_set_size_request( sss.latwy, 85, 35 ); char * txt22 = "<span fgcolor='#6666CC'><span font='14'>Podaj liczbę:</span></span>"; char * txt2 = "<span fgcolor='#191970'><span font='11'>Aktualny wynik:</span></span>"; char * txt4 = "teezstthhhh "; char * txt3 = "<span fgcolor='#191970'><span font='11'>100</span></span>"; etgrx = gtk_label_new( txt22 ); gtk_label_set_markup( GTK_LABEL( etgrx ), txt22 ); sss.etgr = etgrx; wynikx = gtk_label_new( txt3 ); gtk_label_set_markup( GTK_LABEL( wynikx ), txt3 ); sss.wynik = wynikx; wyniklabx = gtk_label_new( txt2 ); gtk_label_set_markup( GTK_LABEL( wyniklabx ), txt2 ); sss.wyniklab = wyniklabx; entryx = gtk_entry_new(); gtk_widget_set_size_request( entryx, 40, 25 ); sss.poletxt = entryx; sepx = gtk_hseparator_new(); gtk_widget_set_size_request( sepx, 237, 42.5 ); sss.sep = sepx; ramkax = gtk_frame_new( "Stan rywalizacji:" ); gtk_frame_set_shadow_type( GTK_FRAME( ramkax ), GTK_SHADOW_ETCHED_OUT ); gtk_widget_set_size_request( ramkax, 237, 135 ); sss.ramka = ramkax; wprowx = gtk_button_new_with_label( "OK" ); gtk_widget_set_size_request( wprowx, 55, 26.9 ); sss.wprowadz = wprowx; fixlabx = gtk_fixed_new(); gtk_container_add( GTK_CONTAINER( sss.ramka ), fixlabx ); sss.fixlab = fixlabx; etx = gtk_label_new( txt4 ); sss.etykieta = etx; grajx = gtk_button_new_with_label( "Kliknij, aby zacząć!" ); gtk_widget_set_size_request( grajx, 226, 112 ); sss.graj = grajx; if( sss.czystart == 0 ) { rysujmenu( NULL, & sss ); } g_signal_connect( G_OBJECT( sss.graj ), "clicked", G_CALLBACK( gtrudny ), & sss ); g_signal_connect( G_OBJECT( sss.powrot ), "clicked", G_CALLBACK( pokazmenu ), & sss ); g_signal_connect( G_OBJECT( sss.trudny ), "clicked", G_CALLBACK( rysujgra ), & sss ); g_signal_connect( G_OBJECT( sss.start ), "clicked", G_CALLBACK( wybierzpoziom ), & sss ); g_signal_connect( G_OBJECT( wyjdz ), "clicked", G_CALLBACK( gtk_main_quit ), NULL ); g_signal_connect( G_OBJECT( sss.sokno ), "destroy", G_CALLBACK( gtk_main_quit ), NULL ); gtk_widget_show_all( sss.sokno ); gtk_main(); return 0; } |