五子棋



 

       这是我做的一个五子棋登陆界面以及棋盘界面。首先说登陆界面,其实登陆界面的制作是非常简单的,就是一个界面上添加一张图片,在添加几个按钮就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[n][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了。当然,五子棋远不止这些,人机对战才是衡量五子棋是否做得成功的标准!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值