資源簡介
簡單的單機版的五子棋游戲,QT下編寫。界面簡單,略顯粗糙。

代碼片段和文件信息
#include?
#include?
#include?
#include?“gobang.h“
//=================================chessboard構造函數=====================================
ChessBoardClass::ChessBoardClass(QWidget?*parent)?:?QWidget(parent)
{
setGeometry(3030600300);
start?=?new?QPushButton(“start“this);
start->setFont(QFont(“Times“18QFont::Bold));
start->setGeometry(556030);
jumpout?=?new?QPushButton(“jump“this);
jumpout->setFont(QFont(“Times“18QFont::Bold));
jumpout->setGeometry(5356030);
reset?=?new?QPushButton(“reset“this);
reset->setFont(QFont(“Times“18QFont::Bold));
reset->setGeometry(5656030);
upstep?=?new?QPushButton(“upstep“this);
upstep->setFont(QFont(“Times“15QFont::Bold));
upstep->setGeometry(5956030);
red=new?QLCDNumber(2this);
red->setSegmentstyle(QLCDNumber::Filled);
blue=new?QLCDNumber(2this);
blue->setSegmentstyle(QLCDNumber::Filled);
connect(this?SIGNAL(valueChangedred(int))this?SLOT(setvaluered(int)));
connect(this?SIGNAL(valueChangedblue(int))this?SLOT(setvalueblue(int)));
connect(start?SIGNAL(clicked())this?SLOT(setstart()));
connect(jumpout?SIGNAL(clicked())this?SLOT(setjumpout()));
connect(reset?SIGNAL(clicked())this?SLOT(setreset()));
connect(upstep?SIGNAL(clicked())this?SLOT(setupstep()));
ChessBoard_Init();
}
//====================================LCD響應槽======================================
void?ChessBoardClass::setvaluered(int?i)
{
red->display(i);
step_save[step-1].lcd_value=(i&0xF);
}
void?ChessBoardClass::setvalueblue(int?i)
{
blue->display(i);
step_save[step-1].lcd_value=(i&0xF);
}
//=================================start按鍵響應槽===================================
void?ChessBoardClass::setstart()
{
startflag=1;
}
//===============================jumpout按鍵響應槽===================================
void?ChessBoardClass::setjumpout()
{
jumpoutflag=1;
if(color==1)
color=2;
else
color=1;
update();
}
//===============================reset按鍵響應槽===================================
void?ChessBoardClass::setreset()
{
ChessBoard_Init();
startflag=0;
update();
}
//===============================upstep按鍵響應槽===================================
void?ChessBoardClass::setupstep()
{
int?valueij;
if(step<2) //這個悔棋好做的多,只需記錄下每一步落子的位置即可。悔棋時將該位置清零同時變換下棋方
return;
i=step_save[step-1].i;
j=step_save[step-1].j;
if(step==3)
value=0;
else
value=step_save[step-3].lcd_value; //這里的邏輯需要捋順,step-1是當前棋的燈值,step-3才是當前棋前一步的燈值
chessboard.chess[i][j]=0;
qDebug(“===================value:%d=====================“value);
if(color==2)
????emit?valueChangedred(value); //輪到藍棋下了,但是悔棋被按下,即紅棋悔了一步,那么應該改變的就是紅棋的lcd
??else
????emit?valueChangedblue(value);
????
??step--;
??color=(color==1???2?:?1);
??update();
}
//==============================棋盤數組初始化函數=====================================
void?ChessBoardClass::Ches
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????118??2008-08-26?15:31??wuziqi-v2-debug\cc
?????文件??????11127??2008-09-03?14:41??wuziqi-v2-debug\gobang.cpp
?????文件??????11136??2008-09-03?14:39??wuziqi-v2-debug\gobang.cpp.bak
?????文件???????1890??2008-09-03?14:25??wuziqi-v2-debug\gobang.h
?????文件???????1891??2008-09-03?13:57??wuziqi-v2-debug\gobang.h.bak
?????文件??????14888??2008-09-03?14:41??wuziqi-v2-debug\gobang.o
?????文件????????402??2008-09-03?12:12??wuziqi-v2-debug\main.cpp
?????文件????????403??2008-09-03?12:11??wuziqi-v2-debug\main.cpp.bak
?????文件???????1456??2008-09-03?14:27??wuziqi-v2-debug\main.o
?????文件???????8217??2008-09-03?12:58??wuziqi-v2-debug\Makefile
?????文件?????????83??2008-08-26?15:31??wuziqi-v2-debug\mm
?????文件???????3247??2008-09-03?14:27??wuziqi-v2-debug\moc_gobang.cpp
?????文件???????8504??2008-09-03?14:27??wuziqi-v2-debug\moc_gobang.o
?????文件??????38320??2008-09-03?14:41??wuziqi-v2-debug\wuziqi-v2-debug
?????文件????????326??2008-09-03?12:58??wuziqi-v2-debug\wuziqi-v2-debug.pro
?????文件???????8005??2011-11-20?13:06??wuziqi-v2-debug\wuziqi-v2-debug.pro.user
?????目錄??????????0??2011-11-01?12:54??wuziqi-v2-debug
-----------?---------??----------?-----??----
???????????????110013????????????????????17
評論
共有 條評論