想知道用Java写的五子棋怎么判断输赢?
y轴不变,X轴++或-相同数量的他们的颜色> =5胜;//纵向
X轴++ Y轴-或X轴-Y轴++它们颜色和数量相同> =5胜;
X轴++ Y轴++或X轴-Y轴-它们颜色和数量相同> =5胜;//倾斜
刚看完视频教程:
代码:首先将每个点放入一个二维数组来定义一个象棋[x][y]
//这里的x和y是用mouseclick和arg0.gety()和arg0.gety()监听他的x得到的值。
定义一个布尔类来判断是否赢旗。
//水平
布尔标志=假;//一开始不要赢
int I 1 = 1;//用他循环哪个棋子?
int count 1 = 1;//用它来数连接了多少块。
while(chess[x][y]= = chess[x+I][y]){
I 1++;
count 1++;
}
while(chess[x][y]= = chess[x-I][y]){
I 1++;
count 1++;
}
if(count 1 & gt;= 5){ flag = true;}//国际象棋> =5胜,标志为真。
//纵向
int I2 = 1;
int count 2 = 1;
while(chess[x][y]= = chess[x][y+I]){
i2++;
count 2++;
}
while(chess[x][y]= = chess[x][y-I]){
i2++;
count 2++;
}
if(count 2 & gt;= 5){ flag = true;}
//向上倾斜
int i3 = 1;
int count 3 = 1;
while(chess[x][y]= = chess[x+I][y-I]){
i3++;
count 3++;
}
while(chess[x][y]= = chess[x-I][y+I]){
i3++;
count 3++;
}
if(count 3 & gt;= 5){ flag = true;}
//斜向下
int i4 = 1;
int count 4 = 1;
while(chess[x][y]= = chess[x+I][y+I]){
i4++;
count 4++;
}
while(chess[x][y]= = chess[x-I][y-I]){
i4++;
count 4++;
}
if(count 4 & gt;= 5){ flag = true;}
希望能帮到你,启发你。
如果你有任何问题,就去电驴搜索李兴华五子棋的教学视频。我一起写了一个简单的方法,不过这个很好理解。