文章标题

2015.10.31
1、今天完成了标记棋子的功能以及开始构思人机的思路
2、通过添加if(chessboard[posX][posY]==BLACK||chessboard[posX][posY]==BLACKWIN)
{
painter.setPen(QPen(Qt::red,5));
painter.setBrush(Qt::red);
painter.drawEllipse(posX*40+35,posY*40+35,10,10);
}
else if(chessboard[posX][posY]==WHITE||chessboard[posX][posY]==WHITEWIN)
{
painter.setPen(QPen(Qt::red,5));
painter.setBrush(Qt::red);
painter.drawEllipse(posX*40+35,posY*40+35,10,10);
}

对于这个问题,思考了很久大概有3 4个小时左右,在之前的思路中就是再创建两个stack储存新的X,Y通过函数pop();来实现对棋子的更新,但遇到了一个问题,一个下棋点不能拥有两种状态。思考了很久,但最终解决问题的却是全局变量posX,posY.这两个变量在paintEvent中只要一改变,旗下绘制的图形也会发生改变。
3、还遇到了另外一个问题:备份文件的时候没有重新命名,导致运行程序的时候出现了覆盖现象。因此,在备份文件的时候不仅要在文件名那重命名,还要在.pro处的target更改名字。
4、这次的思考充分地说明了我对全局以及局部变量的不熟悉,但也成为了我的知识的一部分。
5、查找了一些资料,对人机对战也有了初步的了解,构思一个人机的确比人人困难得多了,但至少也要完成简单人机。

你可能感兴趣的:(qt)