2次元配列を使用して、最初にチェス盤を格納します。再生された白いチェスは1としてマークされ、再生された黒いチェスは2としてマークされ、未再生の動きはすべて0です。
このとき、まず横の勝ち負けを判断します。つまり、5つの1または5つの2が接続されている場合、それは勝ちと判断されます。
同様に、垂直方向はy1を変更することであり、x1は変更されません。
先向右寻找
//棋子数从一开始
int count=1;
while(true)
{
x1= x1+1;
int value = chess[x1][y1];
//如果相同,则继续向后对比
if(value == chess[x][y];)
{
count++;
}
else
{
break;
}
x1 =x;
y1 = y;
然后向右边寻找
while(true)
{
x1 = x1-1;
// xiangzuohuoqu
int value =chess[x1][y1];
//颜色不一致
if(value == chess[x][y])
{
count++;
}
else
{
break;
}
}
//如果数目达到5或者大于五,就判定为赢
if(count >= 5)
{
return true;
}
}
斜め方向はx1とy1を同時に変更することです
このように、4つのケースがあります:水平等しい、垂直等しい、左斜め等しい、右斜め等しい、各ケースは検索の2つの部分に分割する必要があります。
次に、より簡単な方法を使用して勝ち負けを判断し、3次元配列を定義できます。パラメーターは、水平、垂直、および斜めに変更する必要があります。
次に、トリプルループを使用してこれらの変更を設定し、水平方向と垂直方向の傾斜の判断を順番に実現します。