Esempio n. 1
0
void Sistema::modificarCultivoYDrone(Posicion pos, Drone &d){
  EstadoCultivo estado = estadoDelCultivo(pos);

  if (estado == NoSensado){
    _estado.parcelas[pos.x][pos.y] = RecienSembrado;
  }
  else if ((estado == RecienSembrado || estado == EnCrecimiento) &&
        tieneUnProducto(d.productosDisponibles(), Fertilizante)) {

    _estado.parcelas[pos.x][pos.y] = ListoParaCosechar;
    d.sacarProducto(Fertilizante);
    //Verificar si fertilizar gasta bateria.
    //Verificar si queda listo para cosechar cuando esta EnCrecimiento y RecienSembrado
  }
  else if (estado == ConPlaga){
    if (d.bateria() >=10 && tieneUnProducto(d.productosDisponibles(), Plaguicida)){
      _estado.parcelas[pos.x][pos.y] = RecienSembrado;
      d.sacarProducto(Plaguicida);
      d.setBateria(d.bateria() - 10);
    }
    else if (d.bateria() >=5 && tieneUnProducto(d.productosDisponibles(), PlaguicidaBajoConsumo)){
      _estado.parcelas[pos.x][pos.y] = RecienSembrado;
      d.sacarProducto(PlaguicidaBajoConsumo);
      d.setBateria(d.bateria() - 5);
    }
  }
  else if (estado == ConMaleza){
    if (d.bateria() >=5 && tieneUnProducto(d.productosDisponibles(), Herbicida)){
      _estado.parcelas[pos.x][pos.y] = RecienSembrado;
      d.sacarProducto(Herbicida);
      d.setBateria(d.bateria() - 5);
    }
    else if (d.bateria() >=5 && tieneUnProducto(d.productosDisponibles(), HerbicidaLargoAlcance)){
      _estado.parcelas[pos.x][pos.y] = RecienSembrado;
      d.sacarProducto(HerbicidaLargoAlcance);
      d.setBateria(d.bateria() - 5);
    }
  }
}