private void IncrementarBloque(int posicion, int delta) { if (!_bloques.SinAsignar()) { int suma = 0; for (int i = 0; i < _bloques.Cantidad; i++) { Bloque b = _bloques.Obtener(i); suma += b.Cantidad; if (suma >= posicion)//||(_bloques[i].Cantidad==0&&suma==posicion)) { int inc = i + 1; while (inc < _bloques.Cantidad && _bloques.Obtener(inc).Cantidad == 0) { inc++; } inc = inc - 1; Bloque bc = _bloques.Obtener(inc); bc.IncrementarCantidad(delta); _bloques.Guardar(inc, bc); #if DEBUG Verificar(); #endif return; } } Bloque bd = _bloques.Obtener(_bloques.Cantidad - 1); bd.IncrementarCantidad(delta); _bloques.Guardar(_bloques.Cantidad - 1, bd); #if DEBUG Verificar(); #endif } }
private void ExtenderBloques(int delta) { if (!_bloques.SinAsignar()) { Bloque b = _bloques.Obtener(_bloques.Cantidad - 1); b.IncrementarCantidad(delta); _bloques.Guardar(_bloques.Cantidad - 1, b); #if DEBUG Verificar(); #endif } }