/// <summary> /// Does the bubles shift. /// </summary> /// <param name="field">The field.</param> public void Do(BubbleField field) { for (int row = field.Size - 1; row >= 0; row--) { ShiftRow(field, row); } }
/// <summary> /// Does the bubles shift. /// </summary> /// <param name="field">The field.</param> public void Do(BubbleField field) { for (int column = 0; column < field.Size; column++) { ShiftColumn(field, column); } }
public void Do(BubbleField field) { _field = field; for (int column = _field.Size - 1; column >= 0; column--) { if (field.IsEmptyColumn(column)) { GenerateColumn(column); } } }
/// <summary> /// Does the bubles shift. /// </summary> /// <param name="field">The field.</param> public void Do(BubbleField field) { _field = field; var shiftCounter = 0; for (int column = _field.Size - 1; column >= 0; column--) { if (field.IsEmptyColumn(column)) { shiftCounter++; } else if (shiftCounter > 0) { ShiftColumn(column, shiftCounter); } } }
private void ShiftRow(BubbleField field, int row) { var shiftCounter = 0; for (int column = field.Size - 1; column >= 0; column--) { var bubble = field[row, column]; if (bubble == null) { shiftCounter++; } else { if (shiftCounter > 0) { FieldControl.SetColumn(bubble, column + shiftCounter); } } } }
private void ShiftColumn(BubbleField field, int column) { var shiftCounter = 0; for (int row = field.Size - 1; row >= 0; row--) { var bubble = field[row, column]; if (bubble == null) { shiftCounter++; } else { if (shiftCounter > 0) { FieldControl.SetRow(bubble, row + shiftCounter); } } } }