13格的五子棋代码Word文档格式.docx

上传人:b****5 文档编号:16808985 上传时间:2022-11-26 格式:DOCX 页数:15 大小:17.10KB
下载 相关 举报
13格的五子棋代码Word文档格式.docx_第1页
第1页 / 共15页
13格的五子棋代码Word文档格式.docx_第2页
第2页 / 共15页
13格的五子棋代码Word文档格式.docx_第3页
第3页 / 共15页
13格的五子棋代码Word文档格式.docx_第4页
第4页 / 共15页
13格的五子棋代码Word文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

13格的五子棋代码Word文档格式.docx

《13格的五子棋代码Word文档格式.docx》由会员分享,可在线阅读,更多相关《13格的五子棋代码Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

13格的五子棋代码Word文档格式.docx

//初始化坐标位置

booleanstart=true,redplay=true,success=false;

//初始化重新开始,下棋,胜利

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

//初始化棋局位置,棋子信息

JButtonjbutton1,jbutton2;

//定义重新开始红队先下,重新开始蓝队先下两个按钮

JLabeljlabel;

//定义标签

publicwuziqi(){

Containerc=getContentPane();

//给容器赋值

c.setLayout(newFlowLayout());

jbutton1=newJButton("

重新开始红队先下"

);

c.add(jbutton1);

jbutton2=newJButton("

重新开始蓝队先下"

c.add(jbutton2);

jlabel=newJLabel();

c.add(jlabel,BorderLayout.SOUTH);

//增加鼠标监听器

addMouseListener(newMouseAdapter()

{

publicvoidmousePressed(MouseEventevent)

{if(event.isAltDown())

{repaint();

}

//获得鼠标点击的坐标

x=event.getPoint().x;

y=event.getPoint().y;

System.out.println("

坐标是:

"

+x+"

"

+y+"

;

"

intlocation=location(x,y);

//用a保存坐标的信息

location="

+location);

//一方胜利或平局就重新开始

if(success)

jlabel.setForeground(Color.RED);

jlabel

.setText("

+"

游戏已结束,请重新开始"

//棋局还没结束,继续下棋

else

//如果先前一位置上已有一棋子,在此位置上再有一棋子就提醒另选位置重新下棋

if(s[location]==1)

jlabel.setText("

此位置有棋子,请另选位置重新下棋"

//如果此位置是第一次有棋,则改变棋盘相应的信息

if(s[location]==0)

start=false;

s[location]=s["

+location+"

]="

+s[location]);

for(inti=1;

for(intj=1;

{

if(location==(j-1)*12+i)

{

chequer[j][i]=1;

System.out.println("

j="

+j+"

i="

+i+"

chequer[j][i]="

+"

chequer["

]["

+chequer[j][i]);

}

}

jlabel.setText("

repaint();

//使刚下的棋子在棋盘上刻画出来

s[location]=1;

}

});

//给按钮1添加监听器,当点击按钮1则红队先下

jbutton1.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventarg0){

for(inti=1;

i<

s.length;

i++)

s[i]=0;

jj[i]=0;

//红棋结果为1,蓝棋结果为2

s.length="

+s.length);

start=true;

//重画棋盘

success=false;

redplay=true;

jlabel.setForeground(Color.black);

jlabel

.setText("

+

"

红队先下"

}});

//给按钮2添加监听器,当点击按钮2则红队先下

jbutton2.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventarg0)

redplay=false;

蓝队先下"

});

setSize(800,800);

setVisible(true);

publicvoidpaint(Graphicsg)

//划棋盘

if(start)

super.paint(g);

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

for(inti=0;

600;

i+=50)

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

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

}

//画棋子

if(!

start)

jlabel.setForeground(Color.black);

if(redplay)

g.setColor(Color.red);

//出现错误

for(inti=1;

if(chequer[j][i]==1)

g.drawLine(100+(i-1)*50+10,100+(j-1)*50+10,100+(i-1)*50+40,100+(j-1)*50+40);

g.drawLine(100+(i-1)*50+40,100+(j-1)*50+10,100+(i-1)*50+10,100+(j-1)*50+40);

chequer[j][i]=0;

jj[(j-1)*12+i]=1;

(j-1)*12+i"

+((j-1)*12+i));

jj[(j-1)*12+i]=jj["

+((j-1)*12+i)+"

+jj[(j-1)*12+i]);

redplay=false;

jlabel

.setText("

"

蓝队下棋"

//正确

redplay){System.out.println("

!

redplay"

redplay)

g.setColor(Color.blue);

for(intj=1;

if(chequer[j][i]==1)

{

g.drawOval(100+(i-1)*50+12,100+(j-1)*50+12,25,25);

chequer[j][i]=0;

jj[(j-1)*12+i]=2;

System.out.println("

redplay=true;

红队下棋"

result();

//调用result(),判断棋局的最终结果

publicvoidresult()

inttemp[][]=newint[13][13];

temp[j][i]=jj[(j-1)*12+i];

9;

{for(intj=1;

{

if(temp[j][i]==2&

&

temp[j][i+1]==2&

temp[j][i+2]==2&

temp[j][i+3]==2&

temp[j][i+4]==2)

jlabel.setForeground(Color.RED);

jlabel.setText("

+

"

蓝方获胜,连接线"

_"

"

+(i+1)+"

"

+(i+2)+"

+(i+3)+"

+(i+4)

+"

success=true;

if(temp[j][i]==1&

temp[j][i+1]==1&

temp[j][i+2]==1&

temp[j][i+3]==1&

temp[j][i+4]==1)

jlabel.setForeground(Color.RED);

jlabel.setText("

红方获胜,连接线"

success=true;

{for(intj=1;

{

if(temp[j][i]==2&

temp[j+1][i]==2&

temp[j+2][i]==2&

temp[j+3][i]==2&

temp[j+4][i]==2)

jlabel.setText("

"

+(j+1)+"

+(j+2)+"

+(j+3)+"

+(j+4)+"

+i

+"

);

if(temp[j][i]==1&

temp[j+1][i]==1&

temp[j+2][i]==1&

temp[j+3][i]==1&

temp[j+4][i]==1)

+"

+"

temp[j+1][i+1]==2&

temp[j+2][i+2]==2&

temp[j+3][i+3]==2&

temp[j+4][i+4]==2)

jlabel.setForeground(Color.RED);

+"

+i+1+"

+i+2+"

temp[j+1][i+1]==1&

temp[j+2][i+2]==1&

temp[j+3][i+3]==1&

temp[j+4][i+4]==1)

{

+(i+4)

for(inti=5;

temp[j+1][i-1]==2&

temp[j+2][i-2]==2&

temp[j+3][i-3]==2&

temp[j+4][i-4]==2)

+(i-1)+"

+(i-2)+"

+j+3+"

+(i-3)+"

+(i-4)

temp[j+1][i-1]==1&

temp[j+2][i-2]==1&

temp[j+3][i-3]==1&

temp[j+4][i-4]==1)

intcount=0;

for(intd=0;

d<

145;

d++)

if(s[d]==1)

count++;

count="

+count);

if(!

success)

if(count==144)

双方平局,请重新开始!

//判断棋子所属棋格

publicintlocation(intx,inty)

for(inti=1;

{for(intj=1;

{

if(x>

=100+50*(i-1)&

x<

100+50*i&

y>

=100+50*(j-1)&

y<

100+50*j)

{location=(j-1)*12+i;

}

returnlocation;

}

publicstaticvoidmain(String[]args){

wuziqis=newwuziqi();

s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

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

当前位置:首页 > 人文社科 > 广告传媒

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1