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]; } } } }
/// <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(); } } }