您的位置:首页 > 编程语言 > Java开发

Java五子棋

2015-10-21 01:03 351 查看




这是我做的一个五子棋登陆界面以及棋盘界面。首先说登陆界面,其实登陆界面的制作是非常简单的,就是一个界面上添加一张图片,在添加几个按钮就ok了,但对初学者来说(例如本人)其中有一个难点,就是图片的添加,该登陆界面添加图片的方式和以往的方式有所不同,你试过就会发现,倘若用以往的方式添加图片,那么按钮是不可能添加在图片上的。所以,要想在图片上添加按钮就应该这样:1、新建一个图片以及JLabel对象jla 2、将图片对象添加至JLabel中 3、设置jla的边框大小 4、获取窗体的深层面板,将jla加至该深层面板
5、再将该深层面板设置为透明

ImageIcon image=new ImageIcon(this.getClass().getResource("wuziqi.png"));

JLabel jla=new JLabel(image);

jla.setBounds(0, 0, 319, 480);

this.getLayeredPane().add(jla,new Integer(Integer.MIN_VALUE));

Container panel=this.getContentPane();

((JPanel)panel).setOpaque(false);

再之后就可以设置按钮效果了,其中按钮变红的效果可以这样设置,首先在窗体上添加MousemotionListener(鼠标动作监听器),再在public void mouseMoved(MouseEvent e){}方法里面写出方法体就可以了,方法体可以这样写:当鼠标移至按钮附近(根据坐标调)时,设置按钮改变颜色,而鼠标移出该区域时再将按钮设置为原色,这样就可以达到这种效果了。

接下来是棋盘,这是五子棋的核心!首先画棋盘,这是一个比较麻烦的地方,需要调坐标,调好坐标后就可以将它写在重绘方法里面,这样棋盘就画好了。当然,画棋盘还有一种比较简单的方式,就是直接插入图片,这种方式是值得采用的,方便、简洁,而且比画出来的更加漂亮!棋盘画好后,就是下棋子了,当然,这也是很简单的,难点就是判断输赢!其实判断输赢的思路并不难,就是比较麻烦,下一个棋子后需要判断8次之多!

//横向判断棋子个数,往右

for(m=j+1;m<Config.X;m++){

if(array[m][k]==flag){

count++;

}

else

break;

}

//向左

for(n=j-1;n>=0;n--){

if(array
[k]==flag){

count++;

}

else

break;

}

if(count>=5){

JOptionPane.showConfirmDialog(null, "Game Over, White Win!");

queue.CE();jf.repaint();

for(int i=0;i<13;i++)

for(int j=0;j<13;j++)

array[i][j]=0;

}

这是向右、向左判断,每一次判断的方法都大同小异,就不一一列举了。

做到这里,五子棋就基本成型了,再加上悔棋、重新开始功能基本就ok了。当然,五子棋远不止这些,人机对战才是衡量五子棋是否做得成功的标准!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: