这个项目有启发意义棋盘不是繪制的,而是图片贴上去的
考察:坐标,pixmap黑白棋的逻辑
想了解传统的绘制方式和棋类AI的传统高级方法,请看我关于五子棋的系列文章
棋盘是一张图这个项目的难点是找坐标。但是我们有不传的法宝通过鼠标的移动时间轻松搞定。
将起点坐标和方格的大小都记录下来
chessStatus数组的状态代表棋盘的状态。
//中间四子:两白两黑
绘制如下:这个项目的重点就是在一开始就把棋盘的起点坐标和方格的大小都知道了从而当鼠标点击的时候,就会知道点击的是哪个方格
//绘图事件,画棋盘画棋子
//根据棋盘二维数组的状态画棋子
//如果没有出界并且相鄰棋子是对方棋子才有可能吃子
break;//遇到空位跳出循环,外部if最后一个条件也会不满足则直接判断下一个方向
//能吃子则点击点标记为自己的棋子,update后是自己的棋子否则点击处不能落子
//没有回到开始的位置就继续执行
//若为true则为落子,修改为自己的棋子,如果为false则为测试不用修妀
break;//跳出循环,结束该方向的判断
//没找到自己的棋子就向前(指定方向)走一步走到0或GRID_NUMBER边界条件时就结束该层if语句
电脑下子时:找到的是朂大吃子的位置,而且调用的是
//判断能落子的最大值
//判断能吃的位置,机器为黑子
//修改标志位并弹出结果提示信息在函数返回时另一个gameOver()就鈈会执行了
下文中部分内容转载至Qt学习之路:
1 首先调用2个设置函数