java五子棋程序源码.docx

上传人:b****3 文档编号:5029307 上传时间:2023-05-07 格式:DOCX 页数:18 大小:15.82KB
下载 相关 举报
java五子棋程序源码.docx_第1页
第1页 / 共18页
java五子棋程序源码.docx_第2页
第2页 / 共18页
java五子棋程序源码.docx_第3页
第3页 / 共18页
java五子棋程序源码.docx_第4页
第4页 / 共18页
java五子棋程序源码.docx_第5页
第5页 / 共18页
java五子棋程序源码.docx_第6页
第6页 / 共18页
java五子棋程序源码.docx_第7页
第7页 / 共18页
java五子棋程序源码.docx_第8页
第8页 / 共18页
java五子棋程序源码.docx_第9页
第9页 / 共18页
java五子棋程序源码.docx_第10页
第10页 / 共18页
java五子棋程序源码.docx_第11页
第11页 / 共18页
java五子棋程序源码.docx_第12页
第12页 / 共18页
java五子棋程序源码.docx_第13页
第13页 / 共18页
java五子棋程序源码.docx_第14页
第14页 / 共18页
java五子棋程序源码.docx_第15页
第15页 / 共18页
java五子棋程序源码.docx_第16页
第16页 / 共18页
java五子棋程序源码.docx_第17页
第17页 / 共18页
java五子棋程序源码.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

java五子棋程序源码.docx

《java五子棋程序源码.docx》由会员分享,可在线阅读,更多相关《java五子棋程序源码.docx(18页珍藏版)》请在冰点文库上搜索。

java五子棋程序源码.docx

java五子棋程序源码

一个很经典的java五子棋程序(源码)

importjava.awt.*;

importjava.awt.event.*;

importjava.applet.Applet;

importjava.awt.Color;

 

public

classenzitextendsAppletimplementsActionListener,MouseListener,MouseMotionListener,ItemListener

{

intcolor_Qizi=0;//旗子的颜色标识0:

白子1:

黑子

intintGame_Start=0;//游戏开始标志0未开始1游戏中

intintGame_Body[][]=new

int[16][16];//设置棋盘棋子状态0无子1白子2黑子

 

Buttonb1=newButton("游戏开始");

Buttonb2=newButton("重置游戏");

LabellblWin=newLabel("");

CheckboxckbHB[]=newCheckbox[2];

CheckboxGroupckgHB=newCheckboxGroup();

public

voidinit()

{

setLayout(null);

 

addMouseListener(this);

add(b1);

b1.setBounds(330,50,80,30);

b1.addActionListener(this);

add(b2);

b2.setBounds(330,90,80,30);

b2.addActionListener(this);

ckbHB[0]=newCheckbox("白子先",ckgHB,false);

ckbHB[0].setBounds(320,20,60,30);

ckbHB[1]=newCheckbox("黑子先",ckgHB,false);

ckbHB[1].setBounds(380,20,60,30);

add(ckbHB[0]);

add(ckbHB[1]);

ckbHB[0].addItemListener(this);

ckbHB[1].addItemListener(this);

add(lblWin);

lblWin.setBounds(330,130,80,30);

 

Game_start_csh();

}

 

public

voiditemStateChanged(ItemEvente)

{

if(ckbHB[0].getState())//选择黑子先还是白子先

{

color_Qizi=0;

}

else

{

color_Qizi=1;

}

}

 

public

voidactionPerformed(ActionEvente)

{

Graphicsg=getGraphics();

if(e.getSource()==b1)

{

Game_start();

}

else

{

Game_re();

}

}

 

public

voidmousePressed(MouseEvente){}

 

public

voidmouseClicked(MouseEvente)

{

Graphicsg=getGraphics();

intx1,y1;

x1=e.getX();

y1=e.getY();

if(e.getX()<20||e.getX()>300||e.getY()<20||e.getY()>300)

{

return;

}

 

if(x1%20>10)

{

x1+=20;

}

 

if(y1%20>10)

{

y1+=20;

}

 

x1=x1/20*20;

y1=y1/20*20;

set_Qizi(x1,y1);

 

}

 

public

voidmouseEntered(MouseEvente){}

public

voidmouseExited(MouseEvente){}

public

voidmouseReleased(MouseEvente){}

public

voidmouseDragged(MouseEvente){}

public

voidmouseMoved(MouseEvente){}

 

public

voidpaint(Graphicsg)

{

draw_qipan(g);

}

 

public

voidset_Qizi(intx,inty)//落子

{

if(intGame_Start==0)//判断游戏未开始

{

return;

}

 

if(intGame_Body[x/20][y/20]!

=0)

{

return;

}

Graphicsg=getGraphics();

 

if(color_Qizi==1)//判断黑子还是白子

{

g.setColor(Color.black);

color_Qizi=0;

}

else

{

g.setColor(Color.white);

color_Qizi=1;

}

 

g.fillOval(x-10,y-10,20,20);

 

intGame_Body[x/20][y/20]=color_Qizi+1;

 

if(Game_win_1(x/20,y/20))//判断输赢

{

lblWin.setText(Get_qizi_color(color_Qizi)+"赢了!

");

intGame_Start=0;

}

 

if(Game_win_2(x/20,y/20))//判断输赢

{

lblWin.setText(Get_qizi_color(color_Qizi)+"赢了!

");

intGame_Start=0;

}

 

if(Game_win_3(x/20,y/20))//判断输赢

{

lblWin.setText(Get_qizi_color(color_Qizi)+"赢了!

");

intGame_Start=0;

}

 

if(Game_win_4(x/20,y/20))//判断输赢

{

lblWin.setText(Get_qizi_color(color_Qizi)+"赢了!

");

intGame_Start=0;

}

}

 

publicStringGet_qizi_color(intx)

{

if(x==0)

{

return

"黑子";

}

else

{

return

"白子";

}

}

 

public

voiddraw_qipan(GraphicsG)//画棋盘15*15

{

G.setColor(Color.lightGray);

G.fill3DRect(10,10,300,300,true);

G.setColor(Color.black);

for(inti=1;i<16;i++)

{

G.drawLine(20,20*i,300,20*i);

G.drawLine(20*i,20,20*i,300);

}

}

 

public

voidGame_start()//游戏开始

{

intGame_Start=1;

Game_btn_enable(false);

b2.setEnabled(true);

}

 

public

voidGame_start_csh()//游戏开始初始化

{

intGame_Start=0;

Game_btn_enable(true);

b2.setEnabled(false);

ckbHB[0].setState(true);

 

for(inti=0;i<16;i++)

{

for(intj=0;j<16;j++)

{

intGame_Body[j]=0;

}

}

lblWin.setText("");

}

 

public

voidGame_re()//游戏重新开始

{

repaint();

Game_start_csh();

}

 

public

voidGame_btn_enable(booleane)//设置组件状态

{

b1.setEnabled(e);

b2.setEnabled(e);

ckbHB[0].setEnabled(e);

ckbHB[1].setEnabled(e);

}

 

public

booleanGame_win_1(intx,inty)//判断输赢横

{

intx1,y1,t=1;

x1=x;

y1=y;

 

for(inti=1;i<5;i++)

{

if(x1>15)

{

break;

}

if(intGame_Body[x1+i][y1]==intGame_Body[x][y])

{

t+=1;

}

else

{

break;

}

 

}

 

for(inti=1;i<5;i++)

{

if(x1<1)

{

break;

}

 

if(intGame_Body[x1-i][y1]==intGame_Body[x][y])

{

t+=1;

}

else

{

break;

}

}

 

if(t>4)

{

return

true;

}

else

{

return

false;

}

}

 

public

booleanGame_win_2(intx,inty)//判断输赢竖

{

intx1,y1,t=1;

x1=x;

y1=y;

 

for(inti=1;i<5;i++)

{

if(x1>15)

{

break;

}

if(intGame_Body[x1][y1+i]==intGame_Body[x][y])

{

t+=1;

}

else

{

break;

}

 

}

 

for(inti=1;i<5;i++)

{

if(x1<1)

{

break;

}

 

if(intGame_Body[x1][y1-i]==intGame_Body[x][y])

{

t+=1;

}

else

{

break;

}

}

 

if(t>4)

{

return

true;

}

else

{

return

false;

}

}

 

public

booleanGame_win_3(intx,inty)//判断输赢左斜

{

intx1,y1,t=1;

x1=x;

y1=y;

 

for(inti=1;i<5;i++)

{

if(x1>15)

{

break;

}

if(intGame_Body[x1+i][y1-i]==intGame_Body[x][y])

{

t+=1;

}

else

{

break;

}

 

}

 

for(inti=1;i<5;i++)

{

if(x1<1)

{

break;

}

 

if(intGame_Body[x1-i][y1+i]==intGame_Body[x][y])

{

t+=1;

}

else

{

break;

}

}

 

if(t>4)

{

return

true;

}

else

{

return

false;

}

}

 

public

booleanGame_win_4(intx,inty)//判断输赢左斜

{

intx1,y1,t=1;

x1=x;

y1=y;

 

for(inti=1;i<5;i++)

{

if(x1>15)

{

break;

}

if(intGame_Body[x1+i][y1+i]==intGame_Body[x][y])

{

t+=1;

}

else

{

break;

}

 

}

 

for(inti=1;i<5;i++)

{

if(x1<1)

{

break;

}

 

if(intGame_Body[x1-i][y1-i]==intGame_Body[x][y])

{

t+=1;

}

else

{

break;

}

}

 

if(t>4)

{

return

true;

}

else

{

return

false;

}

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2