五子棋是国内受到普遍欢迎的一款游戏,规则简单,趣味不俗。作为一名程序员,自然也希望将它移植到电脑上。
这篇我们要讲的主要就是实现简单的人人对战,AI算法放到以后单独说。
我们先来整理一下脉络,看看实现五子棋需要哪些内容:
- 棋盘。这毋庸置疑
- 落子监听。下棋当然要把棋子画出来,显然我们是用鼠标来下棋,这里就需要用到鼠标的监听
- 胜负判断。下棋自然有输赢,每一步棋后都需要进行判断
棋盘
棋盘的绘制应该是十分简单,就不多说了,画成什么样就看自己的心情。当然,为了使用起来更加,我们可以加上开始游戏、悔棋、认输等按钮,按钮的监听我之前的文章也有讲过,不清楚的欢迎大家去看一下。其中,为了更合理一点,在开始游戏之前显然是不能悔棋和认输的,所以我们需要在开始游戏按钮按下之前将这两个按钮设置为无法使用,调用setEnabled()方法就可以实现,需要一个参数,类型为布尔。
落子监听
按钮的监听我们添加在actionPerformed方法(使用这个方法需要添加ActionListener接口)里,通过e.getActionCommand来获得按钮的名字来判断是哪个按钮,实现相应的功能。而落子的监听我们通过mousePressed、mouseReleased或mouseClicked来实现(需要继承MouseAdapter类或者添加