public WaveSolver(Field field)
 {
     this.field = new Field(field.FieldSize);
     history    = new Point[field.FieldSize, field.FieldSize];
     //клонирование поля, запоминание точки начала и конца
     for (int i = 0; i < field.FieldSize; ++i)
     {
         for (int j = 0; j < field.FieldSize; ++j)
         {
             FieldCell.FieldCellType cellType = field.GetField()[i, j].CellType;
             this.field.GetField()[i, j].CellType = cellType;
             if (cellType == FieldCell.FieldCellType.START)
             {
                 startX = i;
                 startY = j;
             }
             else if (cellType == FieldCell.FieldCellType.FINISH)
             {
                 finishX       = i;
                 finishY       = j;
                 finishingCell = this.field.GetField()[i, j];
             }
         }
     }
 }
예제 #2
0
 /// <summary>
 /// конструктор
 /// </summary>
 /// <param name="fieldSize">размер поля</param>
 public Field(int fieldSize)
 {
     this.fieldSize = fieldSize;
     field          = new FieldCell[fieldSize, fieldSize];
     for (int i = 0; i < fieldSize; ++i)
     {
         for (int j = 0; j < fieldSize; ++j)
         {
             field[i, j] = new FieldCell();
         }
     }
 }