private void CalculateCropWater(int PlotWeek, int CropWeek, Crop crop) { decimal water = plotWeeks[PlotWeek].Water; decimal enoughWater = (crop.GetWaterMinimum() + crop.GetWaterMaximum()) / 2; if (water < enoughWater) { if (water < crop.GetWaterMinimum()) { // Not enough Water crop.setCropHealth(-15, CropWeek); } else { crop.setCropHealth(-8, CropWeek); } } else if (plotWeeks[PlotWeek].Water > crop.GetWaterMaximum()) { //Too much water crop.setCropHealth(-5, CropWeek); } else if (water > enoughWater && water < crop.GetWaterMaximum()) { // Right Amount of Water crop.setCropHealth(2, CropWeek); } }
private void CalculateCropTemperature(int PlotWeek, int CropWeek, Crop crop) { decimal temp = plotWeeks[PlotWeek].weather.GetTemp(); decimal tempDifference = temp - crop.GetTemperature(); if (tempDifference < -4) { // Too cold crop.setCropHealth(-10, CropWeek); } else if (tempDifference > 5) { //Too Hot crop.setCropHealth(-5, CropWeek); } }
private void CalculateCropNutrition(int PlotWeek, int CropWeek, Crop crop) { decimal fertilizer = plotWeeks[PlotWeek].SoilNutrition - crop.GetNeededNutrition(); if (plotWeeks[PlotWeek].SoilNutrition < crop.GetNeededNutrition()) { // Not enough Nutrition crop.setCropHealth(-15, CropWeek); } // Crop Absorb Nutrients AddFertilizerToSoil(PlotWeek, -(crop.GetNeededNutrition())); }