示例#1
0
 // Down
 private void DownRight(Point cp, bool SupportPosition)
 {
     if (HelperFunction.KnightDownRight(ref cp))
     {
         if (SupportPosition)
         {
             this.ProcessBlockInclusive(cp.X, cp.Y);
         }
         else
         {
             this.ProcessBlock(cp.X, cp.Y);
         }
     }
 }
示例#2
0
 private void GoRightDown(Point cp, bool SupportPosition)
 {
     if (HelperFunction.IncXIncY(ref cp))
     {
         if (SupportPosition)
         {
             ProcessBlockInclusive(cp.X, cp.Y);
         }
         else
         {
             ProcessBlock(cp.X, cp.Y);
         }
     }
 }
示例#3
0
 private void GoLeftUp(Point cp, bool SupportPosition)
 {
     if (HelperFunction.DecXDecY(ref cp))
     {
         if (SupportPosition)
         {
             ProcessBlockInclusive(cp.X, cp.Y);
         }
         else
         {
             ProcessBlock(cp.X, cp.Y);
         }
     }
 }
示例#4
0
        private void GoDown(Point cp, Byte steps)
        {
            byte aStep = 0;

            while (aStep < steps)
            {
                if (HelperFunction.IncY(ref cp))
                {
                    ProceedIfNoPiece(cp.X, cp.Y);
                }

                aStep++;
            }
        }
示例#5
0
 private void GoRightUp(Point cp, bool SupportPosition)
 {
     if (HelperFunction.IncXDecY(ref cp))
     {
         if (SupportPosition)
         {
             ProcessBlockForPawnInclusive(cp.X, cp.Y);
         }
         else
         {
             ProcessBlockForPawn(cp.X, cp.Y);
         }
     }
 }
示例#6
0
 private void GoLeftDown(Point cp, bool SupportPosition)
 {
     if (HelperFunction.DecXIncY(ref cp))
     {
         if (SupportPosition)
         {
             ProcessBlockForPawnInclusive(cp.X, cp.Y);
         }
         else
         {
             ProcessBlockForPawn(cp.X, cp.Y);
         }
     }
 }
示例#7
0
 private void GoDown(Point cp, bool SupportPosition)
 {
     while (HelperFunction.IncY(ref cp))
     {
         if (SupportPosition)
         {
             if (!ProcessBlockInclusive(cp.X, cp.Y))
             {
                 break;
             }
         }
         else
         {
             if (!ProcessBlock(cp.X, cp.Y))
             {
                 break;
             }
         }
     }
 }