Velha Jedi  1.1
Jogo da velha invencível
selecao_de_primeiro.cpp
Vá para a documentação deste arquivo.
1 
8 #include<gtk/gtk.h>
9 #include<string>
10 #include<cstdlib>
11 #include"../util.hpp"
12 #include"tabuleiro.hpp"
14 
20  //Cria janela
21  janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
22  gtk_window_set_title(GTK_WINDOW(janela), "seleção de jogador");
23  gtk_window_set_position(GTK_WINDOW(janela), GTK_WIN_POS_CENTER);
24  //cria caixa vertical para arranjar os elementos da janela
25  vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
26  //cria etiqueta com texto
27  label = gtk_label_new("Quem joga primeiro?");
28  //cria caixa para arranjar os botões da janela
29  bbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);
30  //cria os botões
31  botao_jg = gtk_button_new();
32  botao_pc = gtk_button_new();
33  gtk_button_set_label(GTK_BUTTON(botao_jg), " jogador ");
34  gtk_button_set_label(GTK_BUTTON(botao_pc), " computador ");
35 }
36 
42  gtk_container_add(GTK_CONTAINER(bbox), botao_jg);
43  gtk_container_add(GTK_CONTAINER(bbox), botao_pc);
44  gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 0);
45  gtk_box_pack_start(GTK_BOX(vbox), bbox, TRUE, TRUE, 0);
46  gtk_container_add(GTK_CONTAINER(janela), vbox);
47 }
48 
53  gtk_widget_show(label);
54  gtk_widget_show(botao_jg);
55  gtk_widget_show(botao_pc);
56  gtk_widget_show(bbox);
57  gtk_widget_show(vbox);
58  gtk_widget_show_now(janela);
59 }
60 
67 void SelecaoDePrimeiro::clique(GtkWidget *widget, gpointer data){
68  Tabuleiro *tabuleiro = (Tabuleiro*)data;
69  std::string label = gtk_button_get_label(GTK_BUTTON(widget));
70  if(label.compare(" jogador "))
71  tabuleiro->vez_de_jogar(PC);
72  else
73  tabuleiro->vez_de_jogar(JOGADOR);
74 }
75 
81  tabuleiro = t;
82  g_signal_connect(botao_jg,"clicked",
83  G_CALLBACK(clique),
84  tabuleiro);
85  g_signal_connect(botao_pc,"clicked",
86  G_CALLBACK(clique),
87  tabuleiro);
88 }
89 
94  gtk_widget_hide(janela);
95 }
Header da classe SelecaoDePrimeiro.
void vez_de_jogar(int)
Definition: tabuleiro.cpp:120
static void clique(GtkWidget *, gpointer)
Classe da janela principal do programa.
Definition: tabuleiro.hpp:24
void conecte(Tabuleiro *)
Header da classe Tabuleiro.