当前位置:编程学习 > JAVA >>

求大帮忙 关于五子棋判定

谁能帮我解释下这段代码怎么判定五子棋胜利的
public boolean whoWin(){
System.out.println(lastRow+" "+lastColumn+" "+lastColor);
int panduan1=0,panduan2=0,panduan3=0,panduan4=0;
for(int i=-4;i<5;i++){
if(lastRow-i>=0&&lastRow-i<WIDTH&&lastColumn+i>=0&&lastColumn+i<WIDTH)
{
if(panel[lastRow-i][lastColumn+i]==lastColor){
panduan4++;
if(panduan4==5){
break;
}
}else{
panduan4=0;
}
}
if(lastRow+i>=0&&lastRow+i<WIDTH&&lastColumn+i>=0&&lastColumn+i<WIDTH)
{
if(panel[lastRow+i][lastColumn+i]==lastColor){
panduan3++;
if(panduan3==5){
break;
}
}else{
panduan3=0;
}
}
if(lastColumn+i>=0&&lastColumn+i<WIDTH)
{

if(panel[lastRow][lastColumn+i]==lastColor){
panduan2++;
if(panduan2==5){
break;
}
}else{
panduan2=0;
}
}
if(lastRow+i>=0&&lastRow+i<WIDTH)
{
if(panel[lastRow+i][lastColumn]==lastColor){
panduan1++;
if(panduan1==5){
break;
}
}else{
panduan1=0;
}
}
}
System.out.println(panduan1+" "+panduan2+" "+panduan3+" "+panduan4);
if((panduan1==5||panduan2==5||panduan3==5||panduan4==5)){
return true;
}else{
return false;
}
}
--------------------编程问答-------------------- 部分代码不全
猜测关键还是panduan1~4的含义,分别表示棋盘上横向相邻、纵向相邻、两个交叉线相邻,是否存在5个颜色相同的棋子。

LZ可以本着这个思想,在全局看看代码吧~
补充:Java ,  Eclipse
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,