花了很多天学习的一个关于五子棋的博弈树,记录一下。
先讲一下五子棋的基本实现过程:
一、界面实现
Gobang.java
show(){}
main(){}
paint(){}
窗口使用Border布局,写俩JPanel,一个画棋盘,一个做动作按钮。这里要注意的有两点:一是重绘机制,直接把棋盘画在paint方法里;二是我们先不对棋盘做鼠标监听,等到我们点击了动作按钮后再去监听获取画笔。
二、界面实现了,要考虑在监听类中做事件处理。我把后续的代码都放在了这个类里。
在这之前,为了后续用起来方便,写一个接口,把要用的常量定义好,另外两个类只要实现这个接口就可以了。
1.先实现黑白棋交替下;(黑白棋用不同的标志位)
2.棋子必须要下载交叉点上;(计算坐标)
3.同一个位置只能下一颗棋子;(判断该坐标点的标志是否为0)
4.棋子不能消失;(重绘机制)
先讲一下五子棋的基本实现过程:
一、界面实现
Gobang.java
show(){}
main(){}
paint(){}
窗口使用Border布局,写俩JPanel,一个画棋盘,一个做动作按钮。这里要注意的有两点:一是重绘机制,直接把棋盘画在paint方法里;二是我们先不对棋盘做鼠标监听,等到我们点击了动作按钮后再去监听获取画笔。
二、界面实现了,要考虑在监听类中做事件处理。我把后续的代码都放在了这个类里。
在这之前,为了后续用起来方便,写一个接口,把要用的常量定义好,另外两个类只要实现这个接口就可以了。
1.先实现黑白棋交替下;(黑白棋用不同的标志位)
2.棋子必须要下载交叉点上;(计算坐标)
3.同一个位置只能下一颗棋子;(判断该坐标点的标志是否为0)
4.棋子不能消失;(重绘机制)