Example #1
0
        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);
            }
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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()));
        }