Exemplo n.º 1
0
 private int DrawLine(Spiral spiral, int nextValue, Point start, Point end)
 {
     if (start.X < end.X)
     {
         for (int i = start.X; i <= end.X; i++)
         {
             spiral.SetValueRelative(i, start.Y, nextValue++);
         }
     }
     else if (start.X > end.X)
     {
         for (int i = start.X; i >= end.X; i--)
         {
             spiral.SetValueRelative(i, start.Y, nextValue++);
         }
     }
     if (start.Y < end.Y)
     {
         for (int i = start.Y; i <= end.Y; i++)
         {
             spiral.SetValueRelative(start.X, i, nextValue++);
         }
     }
     else if (start.Y > end.Y)
     {
         for (int i = start.Y; i >= end.Y; i--)
         {
             spiral.SetValueRelative(start.X, i, nextValue++);
         }
     }
     return nextValue;
 }
 private void DrawRight(Spiral spiral, int nextValue, int y, int startX, int endX)
 {
     for (int x = startX; x <= endX; x++)
     {
         spiral.SetValueRelative(x, y, nextValue++);
     }
 }
 private int DrawUp(Spiral spiral, int nextValue, int x, int startY, int endY)
 {
     for (int y = startY; y >= endY; y--)
     {
         spiral.SetValueRelative(x, y, nextValue++);
     }
     return nextValue;
 }
 private int DrawLeft(Spiral spiral, int nextValue, int y, int startX, int endX)
 {
     for (int x = startX; x >= endX; x--)
     {
         spiral.SetValueRelative(x, y, nextValue++);
     }
     return nextValue;
 }
Exemplo n.º 5
0
 private void DrawTopOn(Spiral spiral)
 {
     for (int i = 0; i < _sideLength; i++)
     {
         spiral.SetValueRelative(_topStartX + i, -_index, _topStartValue + i);
     }
 }
Exemplo n.º 6
0
 private void DrawRightOn(Spiral spiral)
 {
     for (int i = 0; i < _sideLength; i++)
     {
         spiral.SetValueRelative(_index, _rightStartY + i, _rightStartValue + i);
     }
 }
Exemplo n.º 7
0
 private void DrawLeftOn(Spiral spiral)
 {
     for (int i = 0; i < _sideLength; i++)
     {
         spiral.SetValueRelative(-_index, _leftStartY - i, _leftStartValue + i);
     }
 }
Exemplo n.º 8
0
 private void DrawBottomOn(Spiral spiral)
 {
     for (int i = 0; i < _sideLength; i++)
     {
         spiral.SetValueRelative(_bottomStartX - i, _index, _bottomStartValue + i);
     }
 }
 private Spiral PopulateSpiral(Spiral spiral)
 {
     var offset = spiral.Origin.X;
     for (int x = -offset; x <= offset; x++)
     {
         for (int y = -offset; y <= offset; y++)
         {
             int valueAtCoordinates = GetValueAt(x, y);
             spiral.SetValueRelative(x, y, valueAtCoordinates);
         }
     }
     return spiral;
 }