本教程适合初学者,用到的工具VC++ 6.0
五子棋游戏算法比较简单,实现起来比较容易,适合初学者练习。
我这个五子棋游戏是自己花了2天的时间完成的,当时刚学mfc,想练一下手就做了这个游戏。
棋盘和棋子可以用GDI来实现,棋盘用GDI划线,基本上就是LineTo(x,y),MoveTo(x,y),一个棋盘就出来了。具体代码如下
在OnPaint()函数的else内加入如下代码
CPaintDC dc(this);
dc.SelectStockObject(BLACK_PEN);
int i,j;
for(i=60;i!=420;i=i+40)
{
dc.MoveTo(i,60);
dc.LineTo(i,380);
}
for(j=60;j!=420;j=j+40)
{
dc.MoveTo(60,j);
dc.LineTo(380,j);
}
一个9×9的棋盘就画好了。至于如何画棋子,我思考了很长时间,贴图太麻烦,就用GDI来画圆,然后填充上不同的颜色,黑子、白子也就实现了。这里的棋子不应该是一个独立的量,它有自己的区域,应该能判断鼠标是不是点击到了这个区域,当点击这个区域的时候是否应该显示,应该显示什么颜色的旗子…… 把这么多东西集合在一起,应该定义一个类,于是CQuyu这个类就出现了。
CQuyu有四个变量如下:
int flag;
CRect rect;
i