-2
int j = 0;
for (int i = 1; i < 4; i++)
{
  if ((columnIndex + i) > 6 || this.isWinningCondition(columnIndex, i, j, colSlot, isRed))
     {
         break;
     }
  else
     {
        pieces++;
     }
}
for (int i = -1; i > -4; i--)
  {
    if ((columnIndex + i) < 0 || this.isWinningCondition(columnIndex, i, j, colSlot, isRed))
    {
      break;
    }
    else
    {
       pieces++;
    }
}

基本的に、特定の列の左右にある 3 つの行を検索する Connect4 プログラムの一部です (この場合、水平方向の勝利を検索しています)。ループのデクリメント (左側)。これらの for ループを 1 つにまとめて、繰り返す必要がないようにする方法はありますか?

4

2 に答える 2

0

MaxValue ( 4 ) が両方の for ループで常に同じである場合は、いつでも次のことができます

for( int i = 1; i < 4; ++i)
{
   //verify i version 1
   int i2 = i * -1;
   // verify i2 version 2
}
于 2015-08-18T15:29:35.570 に答える