接下来我们定义一个主框架,在主框架里有面板对象和三个按钮对象,分别是重新开始游戏按钮,悔棋按钮和退出游戏按钮;还设置一个按钮事件类,用来监听三个按钮,并作出相应的动作;
最后一个类是棋盘类,我们要对棋盘的边距,网格的距离进行赋值,设定棋盘的初始状态,如默认黑子先下,定义一个棋子类数组,来保存棋子对象,再定义一个字符串二维数组函数来保存的颜色,用来判断输赢,用匿名内部类来处理当棋子在面板上移动时的一些状态;
代码如下:
我们再对下棋时鼠标按下时的动作事件类进行解析,当在网格上下棋时,判断是否在棋盘内和判断网格上有没有棋子,当棋子在棋盘内并且网格上没有棋子,我们就开始画棋子,将棋子对象和颜色保存,接下来判断是否胜利,判断棋盘是否下满,如果没有继续下棋;
代码如下;
函数paintComponent来对棋盘和棋子进行画图,对棋子进行绘图时,将最后一个棋子设为红色;
代码如下;
最后就是判断棋子输赢的函数,用字符串数组保存的棋子的颜色来进行判断所在行和列有没有五个棋子相连,判断撇和捺行的棋子有没有五个相连的,如果有则某位棋子胜利;
代码如下;
最后我就将完整的棋盘类代码贴出来,写五子棋代码时参考了很多其他人的想法,有相同的请不要见怪;
棋盘类完整代码如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持七叶笔记。