您当前的位置:JAVA培训五子棋游戏教程08
JAVA培训五子棋游戏教程08

 //开始的算法  

                int i=1;
while(color==allchess[x+i][y]){
count++;
i++;
}
i=1;
while(color==allchess[x-i][y]){
count++;
i++;
}
if(count>=5){
flag=true;
}
//判断横向是否有五个棋子相连,特点:纵坐标是相同的,即:allchass[x][y]中y是相等的
int count2=1;
int i2=1;
while(color==allchess[x][y+i2]){
count2++;
i2++;
}
i2=1;
while(color==allchess[x][y-i2]){
count2++;
i2++;
}
if(count2>=5){
flag=true;
}
//判断一、三象限是否有五个棋子相连,特点:纵坐标是横向和纵向各加i3,即:allchass[x][y]中x、y为x+i3、y-i3或x-i3、y+i3
int count3=1;
int i3=1;
while(color==allchess[x+i3][y-i3]){
count3++;
i3++;
}
i3=1;
while(color==allchess[x-i3][y+i3]){
count3++;
i3++;
}
if(count3>=5){
flag=true;
}
//判断二、四象限是否有五个棋子相连,特点:纵坐标是横向和纵向各加i3,即:allchass[x][y]中x、y为x+i4、y+i4
int count4=1;
int i4=1;
while(color==allchess[x+i4][y+i4]){
count4++;
i4++;
}
i4=1;
while(color==allchess[x-i4][y-i4]){
count4++;
i4++;
}
if(count4>=5){
flag=true;
}
//checkCount
private int checkCount(int xchenge,int ychenge,int color){
int count=1;
int tempx=xchenge;
int tempy=ychenge;
while(color==allchess[x+xchenge][y+ychenge]){
count++;
if(xchenge!=0){
xchenge++;
}
if(ychenge!=0){
if(ychenge>0){
ychenge++;
}else{
ychenge--;
}
}
}
xchenge=tempx;
ychenge=tempy;
while(color==allchess[x-xchenge][y-ychenge]){
count++;
if(xchenge!=0){
xchenge++;
}
if(ychenge!=0){
if(ychenge>0){
ychenge++;
}else{
ychenge--;
}
}
}
return count;
}
收藏状态
收藏本课程的同学
相关课程