您的位置:首页 > 其它

一个简单的五子棋判胜算法

2014-01-07 16:52 211 查看
每次落子后判断胜负

/**
* @param a 棋盘
* @param r 落子横坐标
* @param c 落子纵坐标
*/
public static boolean panduan(int[][]a,int r,int c){
int t = a[r][c];
int count1 = 0;
int count2 = 0;
int count3 = 0;
int count4 = 0;
for(int i=1;i<5;i++){
//横向
if((c-i>=0 && a[r][c-i]==t||(c+i<a.length && a[r][c+i]==t))){
++count1;
}
//纵向
if((r-i>=0 && a[r-i][c]==t)||(r+i<a.length && a[r+i][c]==t)){
++count2;
}
//左斜
if((r-i>=0 && c-i>=0 && a[r-i][c-i]==t)||(r+i<a.length && c+i<a.length && a[r+i][c+i]==t)){
++count3;
}
//右斜
if((r-i>=0 && c+i<a.length && a[r-i][c+i]==t)||(r+i<a.length && c-i>=0 && a[r+i][c-i]==t)){
++count4;
}
}
if(count1==4 || count2==4 || count3==4 || count4==4){
return true;
}
return false;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: