《JAVA培训五子棋游戏教程》  第08讲

免费获取视频密码的方法: 打开微信扫二维码

然后回复jld34026
可以马上看到密码
微信公众号
下一讲:09 上一讲:07

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;
}