日期:2014-05-20  浏览次数:20579 次

急!!!一个小问题,解决问题者高分重谢
我同学从网上下载了一个用java写的五子棋程序,运行时有很多语法错误让我帮他改一下,我费了很大的劲总算可以运行了。可是运行时有个小问题,就是当你第一次第一次运行时,也就是点击“开始”按钮时,当某一方获胜时,那5个成一条线的棋子不见了,我的本意是让那在一条线上的5个棋子不断地闪动。但是,如果这时点击“重新开始”按钮重新下棋,运行一切正常,当某一方获胜就会出现我想要的效果,可是为什么点击“开始”按钮就不行呢?哪位高手帮我看一下问题出在哪啊?在下万分感激!!哎,都是让老师逼的,后天就得把程序交上去!
  程序的源代码在我的博客上http://hi.baidu.com/tangfu159第一篇那个名字叫“五子棋”的就是!哎,代码太长只有用BLOG了!
拜托各位大哥了!!!!!

------解决方案--------------------
太强了。能看明白嘛!
------解决方案--------------------
代码太长了呵呵, 你可以比较一下两个button点击事件有什么不一样

------解决方案--------------------
代码太长,看着累。我现在有一份五子棋的程序,做的很完美,要的话可以给你。
------解决方案--------------------
放到IDE里,DEBUG
------解决方案--------------------
把 sta=false; 放進if裏面試一下
if(sta){
stop(); 
ret=0; 
control=false; 
control2=true; 
suc=true; 
getStr=" 黑棋胜利";
startThread();
end=false; 
sta=false;
}

if(ifSuccessful()==2){ //白棋胜
jb1.setEnabled(true); 
jb4.setEnabled(false); 
jb2.setEnabled(false); 
endGame=true; 

if(sta){ 
stop(); 
ret=0; 
control=false; 
control2=true; 
suc=true; 
getStr=" 白棋胜利"; 
startThread();
end=false; 
sta=false; 
}
}

------解决方案--------------------
另外,在这段代码里面
for(int w=0;w<5;w++)
{
if(succeedx[w]==intex.intValue()&&succeedy[w]==intey.intValue())
continue Label;



当5个棋子纵向连在一起的时候,
if(succeedx[w]==intex.intValue()&&succeedy[w]==intey.intValue())
这个判断就不成立。

楼主你自己改一下吧!


------解决方案--------------------
mark