求一个最简单的JAVA五子棋程序。。

importjava.awt.BorderLayout;

importjava.awt.Color;

importjava.awt.Container;

importjava.awt.FlowLayout;

importjava.awt.Graphics;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.event.MouseAdapter;

importjava.awt.event.MouseEvent;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JLabel;

importjavax.swing.JOptionPane;

importjavax.swing.JTextField;

publicclass下棋extendsJFrame{

intx=0,y=0;

inta=0;

intx1=0,y1=0,x2=0,y2=0,x3=0,y3=0,x4=0,y4=0;;

booleanfa=true,huatu=true,yin=false;

inta1=0,a2=0,a3=0,a4=0,a5=0,a6=0,a7=0,a8=0,a9=0;

ints[]=newint[10],jj[]=newint[10];

JButtoncongxin,huanse;

JLabeljl;

public下棋(){

Containerc=getContentPane();

c.setLayout(newFlowLayout());

congxin=newJButton(重新开始红队先下);

c.add(congxin);

huanse=newJButton(重新开始蓝队先下);

c.add(huanse);

jl=newJLabel();

c.add(jl,BorderLayout.SOUTH);

addMouseListener(newMouseAdapter(){

publicvoidmousePressed(MouseEventevent){

if(event.isAltDown()){

repaint();

}

x=event.getPoint().x;

y=event.getPoint().y;

inta=mm(x,y);

if(yin){

jl.setForeground(Color.RED);

jl

.setText(游戏已结束,请重新开始);

}

else{

if(s[a]==1){

jl.setForeground(Color.RED);

jl.setText(此位置有棋子,请另选位置重新下棋);

}else{

fa=false;

if(a==1)

a1=1;

if(a==2)

a2=1;

if(a==3)

a3=1;

if(a==4)

a4=1;

if(a==5)

a5=1;

if(a==6)

a6=1;

if(a==7)

a7=1;

if(a==8)

a8=1;

if(a==9)

a9=1;

jl.setText();

repaint();

}

}

s[a]=1;

}

});

congxin.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventarg0){

for(inti=0;i<s.length;i++){

s[i]=0;

jj[i]=0;

}

fa=true;

repaint();

yin=false;

huatu=true;

jl.setForeground(Color.black);

jl

.setText(红队先下);

}

});

huanse.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventarg0){

for(inti=0;i<s.length;i++){

s[i]=0;

jj[i]=0;

}

fa=true;

repaint();

yin=false;

huatu=false;

jl.setForeground(Color.black);

jl

.setText(蓝队先下);

}

});

setSize(500,500);

setVisible(true);

}

publicvoidpaint(Graphicsg){

if(fa){

super.paint(g);

intx=100,y=100,c=300,k=300;

for(inti=0;i<300;i+=100)

g.drawRect(x,y+i,c,k-i);

for(inti=0;i<300;i+=100)

g.drawRect(x+i,y,c-i,k);

}else{

jl.setForeground(Color.black);

if(huatu){

g.setColor(Color.red);

if(a1==1){

g.drawLine(120,120,180,180);

g.drawLine(180,120,120,180);

a1=0;

jj[1]=1;

}

if(a2==1){

g.drawLine(220,120,280,180);

g.drawLine(280,120,220,180);

a2=0;

jj[2]=1;

}

if(a3==1){

g.drawLine(320,120,380,180);

g.drawLine(380,120,320,180);

a3=0;

jj[3]=1;

}

if(a4==1){

g.drawLine(120,220,180,280);

g.drawLine(180,220,120,280);

a4=0;

jj[4]=1;

}

if(a5==1){

g.drawLine(220,220,280,280);

g.drawLine(280,220,220,280);

a5=0;

jj[5]=1;

}

if(a6==1){

g.drawLine(320,220,380,280);

g.drawLine(380,220,320,280);

a6=0;

jj[6]=1;

}

if(a7==1){

g.drawLine(120,320,180,380);

g.drawLine(180,320,120,380);

a7=0;

jj[7]=1;

}

if(a8==1){

g.drawLine(220,320,280,380);

g.drawLine(280,320,220,380);

a8=0;

jj[8]=1;

}

if(a9==1){

g.drawLine(320,320,380,380);

g.drawLine(380,320,320,380);

a9=0;

jj[9]=1;

}

huatu=false;

jl

.setText(蓝队下棋);

}else{

g.setColor(Color.blue);

if(a1==1){

g.drawOval(125,125,50,50);

a1=0;

jj[1]=2;

}

if(a2==1){

g.drawOval(225,125,50,50);

a2=0;

jj[2]=2;

}

if(a3==1){

g.drawOval(325,125,50,50);

a3=0;

jj[3]=2;

}

if(a4==1){

g.drawOval(125,225,50,50);

a4=0;

jj[4]=2;

}

if(a5==1){

g.drawOval(225,225,50,50);

a5=0;

jj[5]=2;

}

if(a6==1){

g.drawOval(325,225,50,50);

a6=0;

jj[6]=2;

}

if(a7==1){

g.drawOval(125,325,50,50);

a7=0;

jj[7]=2;

}

if(a8==1){

g.drawOval(225,325,50,50);

a8=0;

jj[8]=2;

}

if(a9==1){

g.drawOval(325,325,50,50);

a9=0;

jj[9]=2;

}

huatu=true;

jl

.setText(红队下棋);

}

dd();

}

}

publicintmm(intx,inty){

if(x>=100&&x=100&&y<200)

a=1;

elseif(x>=200&&x=100&&y<200)

a=2;

elseif(x>=300&&x=100&&y<200)

a=3;

elseif(x>=100&&x=200&&y<300)

a=4;

elseif(x>=200&&x=200&&y<300)

a=5;

elseif(x>=300&&x=200&&y<300)

a=6;

elseif(x>=100&&x=300&&y<400)

a=7;

elseif(x>=200&&x=300&&y<400)

a=8;

elseif(x>=300&&x=300&&y<400)

a=9;

else

a=0;

returna;

}

publicvoiddd(){

if(jj[1]==1&&jj[2]==1&&jj[3]==1){

jl.setForeground(Color.RED);

jl

.setText(红方获胜,连接线1,2,3);

yin=true;

}

if(jj[4]==1&&jj[5]==1&&jj[6]==1){

jl.setForeground(Color.RED);

jl

.setText(红方获胜,连接线4,5,6);

yin=true;

}

if(jj[7]==1&&jj[8]==1&&jj[9]==1){

jl.setForeground(Color.RED);

jl

.setText(红方获胜,连接线7,8,9);

yin=true;

}

if(jj[1]==1&&jj[5]==1&&jj[9]==1){

jl.setForeground(Color.RED);

jl

.setText(红方获获胜,连接线1,5,9);

yin=true;

}

if(jj[3]==1&&jj[5]==1&&jj[7]==1){

jl.setForeground(Color.RED);

jl

.setText(红方获胜,连接线3,5,7);

yin=true;

}

if(jj[1]==1&&jj[4]==1&&jj[7]==1){

jl.setForeground(Color.RED);

jl

.setText(红方获胜,连接线1,4,7);

yin=true;

}

if(jj[2]==1&&jj[5]==1&&jj[8]==1){

jl.setForeground(Color.RED);

jl

.setText(红方获胜,连接线2,5,8);

yin=true;

}

if(jj[3]==1&&jj[6]==1&&jj[9]==1){

jl.setForeground(Color.RED);

jl

.setText(红方获胜,连接线3,6,9);

yin=true;

}

if(jj[1]==2&&jj[2]==2&&jj[3]==2){

jl.setForeground(Color.RED);

jl

.setText(蓝方获胜,连接线1,2,3);

yin=true;

}

if(jj[4]==2&&jj[5]==2&&jj[6]==2){

jl.setForeground(Color.RED);

jl

.setText(蓝方获胜,连接线4,5,6);

yin=true;

}

if(jj[7]==2&&jj[8]==2&&jj[9]==2){

jl.setForeground(Color.RED);

jl

.setText(蓝方获胜,连接线7,8,9);

yin=true;

}

if(jj[1]==2&&jj[5]==2&&jj[9]==2){

jl.setForeground(Color.RED);

jl

.setText(蓝方获胜,连接线1,5,9);

yin=true;

}

if(jj[3]==2&&jj[5]==2&&jj[7]==2){

jl.setForeground(Color.RED);

jl

.setText(蓝方获胜,连接线3,5,7);

yin=true;

}

if(jj[1]==2&&jj[4]==2&&jj[7]==2){

jl.setForeground(Color.RED);

jl.setText(蓝方获胜,连接线1,4,7);

yin=true;

}

if(jj[2]==2&&jj[5]==2&&jj[8]==2){

jl.setForeground(Color.RED);

jl

.setText(蓝方获胜,连接线2,5,8);

yin=true;

}

if(jj[3]==2&&jj[6]==2&&jj[9]==2){

jl.setForeground(Color.RED);

jl

.setText(蓝方获胜,连接线3,6,9);

yin=true;

}

if(s[1]==1&&s[2]==1&&s[3]==1&&s[4]==1&&s[5]==1

&&s[6]==1&&s[7]==1&&s[8]==1&&s[9]==1){

jl.setForeground(Color.RED);

jl

.setText(双方都没获胜,游戏结束);

yin=true;

}

System.out.println(jj[2]);

}

publicstaticvoidmain(String[]args){

下棋s=new下棋();

s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

免责声明:本站发布的游戏攻略(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场。
如果本文侵犯了您的权益,请联系站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!