⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tictactoe.cc

📁 gfc编程示例 gfc sample of Linux GFC
💻 CC
字号:
#include "tictactoe.hh"#include <gfc/gtk/table.hh>#include <gfc/gtk/togglebutton.hh>using namespace GFC;/*  Tictactoe */Tictactoe::Tictactoe(){	Gtk::Table *table = new Gtk::Table(3, 3, true);	add(*table);	table->show();	for (int i = 0; i < 3; i++)	{		for (int j = 0; j < 3; j++)		{			buttons[i][j] = new Gtk::ToggleButton;			table->attach(*buttons[i][j], i, i + 1, j, j + 1);			buttons[i][j]->sig_toggled().connect(sigc::bind(sigc::mem_fun(this, &Tictactoe::on_toggle), buttons[i][j]));			buttons[i][j]->set_size_request(20, 20);			buttons[i][j]->show();		}	}}Tictactoe::~Tictactoe(){}voidTictactoe::clear(){	for (int i = 0; i < 3; i++)	{		for (int j = 0; j < 3; j++)		{			buttons[i][j]->set_active(false);		}	}}voidTictactoe::on_toggle(Gtk::ToggleButton *button){	static int rwins[8][3] = { { 0, 0, 0 }, { 1, 1, 1 }, { 2, 2, 2 }, { 0, 1, 2 },	                         { 0, 1, 2 }, { 0, 1, 2 }, { 0, 1, 2 }, { 0, 1, 2 } };	static int cwins[8][3] = { { 0, 1, 2 }, { 0, 1, 2 }, { 0, 1, 2 }, { 0, 0, 0 }, 	                         { 1, 1, 1 }, { 2, 2, 2 }, { 0, 1, 2 }, { 2, 1, 0 } };	bool success, found;		for (int k = 0; k < 8; k++)	{		success = true;		found = false;		for (int i = 0; i < 3; i++)		{			success &= buttons[rwins[k][i]][cwins[k][i]]->get_active();			found |= buttons[rwins[k][i]][cwins[k][i]] == button;		}      		if (success && found)		{			tictactoe_signal.emit();			break;		}	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -