Production System fixed
This commit is contained in:
parent
da7a7822d4
commit
095ccc0fc6
@ -75,7 +75,7 @@ class CropTypesHolder
|
|||||||
cropTypes[4].Humidity = 57.3f;
|
cropTypes[4].Humidity = 57.3f;
|
||||||
cropTypes[4].Moisture = 38.5f;
|
cropTypes[4].Moisture = 38.5f;
|
||||||
cropTypes[4].Nitrogen = 23.2f;
|
cropTypes[4].Nitrogen = 23.2f;
|
||||||
cropTypes[4].Potassium = 0;
|
cropTypes[4].Potassium = 0.1f;
|
||||||
cropTypes[4].Phosphorous = 14.4f;
|
cropTypes[4].Phosphorous = 14.4f;
|
||||||
|
|
||||||
//Oil Seeds
|
//Oil Seeds
|
||||||
|
@ -12,21 +12,23 @@ class Crops
|
|||||||
private int Status;
|
private int Status;
|
||||||
private int originalStatus;
|
private int originalStatus;
|
||||||
private int cropType = 0;
|
private int cropType = 0;
|
||||||
private int Timer = 1;
|
private float Timer = 1;
|
||||||
private int UpdateCrop;
|
private int UpdateCrop;
|
||||||
private int fullTimer;
|
private float fullTimer;
|
||||||
private bool housePos = false;
|
private bool housePos = false;
|
||||||
private Vector2 Size;
|
private Vector2 Size;
|
||||||
private CropTypes DataSet;
|
private CropTypes DataSet;
|
||||||
SoilProperties soilProperties = new SoilProperties();
|
SoilProperties soilProperties = new SoilProperties();
|
||||||
|
private float ProductionRate = 0;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void updateCrop(Vector2 newSize)
|
public void updateCrop(Vector2 newSize)
|
||||||
{
|
{
|
||||||
|
getProductionRate();
|
||||||
if (Status == 3 && Timer != 1)
|
if (Status == 3 && Timer != 1)
|
||||||
{
|
{
|
||||||
Timer--;
|
Timer = Timer - 1 * ProductionRate;
|
||||||
}
|
}
|
||||||
Size = newSize;
|
Size = newSize;
|
||||||
UpdateCrop++;
|
UpdateCrop++;
|
||||||
@ -35,6 +37,10 @@ class Crops
|
|||||||
degradeSoil();
|
degradeSoil();
|
||||||
UpdateCrop = 0;
|
UpdateCrop = 0;
|
||||||
}
|
}
|
||||||
|
if (Timer < 1)
|
||||||
|
{
|
||||||
|
Timer = 1;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -43,7 +49,7 @@ class Crops
|
|||||||
return soilProperties;
|
return soilProperties;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getCropTimer()
|
public float getCropTimer()
|
||||||
{
|
{
|
||||||
return Timer;
|
return Timer;
|
||||||
}
|
}
|
||||||
@ -187,38 +193,33 @@ class Crops
|
|||||||
return housePos;
|
return housePos;
|
||||||
}
|
}
|
||||||
|
|
||||||
public float getProductionRate()
|
public void getProductionRate()
|
||||||
{
|
{
|
||||||
|
ProductionRate = 1;
|
||||||
if (DataSet != null)
|
if (DataSet != null)
|
||||||
{
|
{
|
||||||
int ProductionRate = 100;
|
ProductionRate = (ProductionRate * compareToDatset(soilProperties.Temperature, DataSet.Temparature));
|
||||||
ProductionRate = (int)(ProductionRate * compareToDatset(soilProperties.Temperature, DataSet.Temparature));
|
ProductionRate = (ProductionRate * compareToDatset(soilProperties.Moisture, DataSet.Moisture));
|
||||||
ProductionRate = (int)(ProductionRate * compareToDatset(soilProperties.Moisture , DataSet.Moisture));
|
ProductionRate = (ProductionRate * compareToDatset(soilProperties.Humidity, DataSet.Humidity));
|
||||||
ProductionRate = (int)(ProductionRate * compareToDatset(soilProperties.Humidity , DataSet.Humidity));
|
ProductionRate = (ProductionRate * compareToDatset(soilProperties.Phosphorous, DataSet.Phosphorous));
|
||||||
ProductionRate = (int)(ProductionRate * compareToDatset(soilProperties.Phosphorous , DataSet.Phosphorous));
|
ProductionRate = (ProductionRate * compareToDatset(soilProperties.Potassium, DataSet.Potassium));
|
||||||
ProductionRate = (int)(ProductionRate * compareToDatset(soilProperties.Potassium , DataSet.Potassium));
|
ProductionRate = (ProductionRate * compareToDatset(soilProperties.Nitrogen, DataSet.Nitrogen));
|
||||||
ProductionRate = (int)(ProductionRate * compareToDatset(soilProperties.Nitrogen , DataSet.Nitrogen));
|
|
||||||
if (ProductionRate < 0)
|
if (ProductionRate < 0)
|
||||||
{
|
{
|
||||||
return 0;
|
ProductionRate = 0;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
return ProductionRate;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public float compareToDatset(float i, float j)
|
public float compareToDatset(float i, float j)
|
||||||
{
|
{
|
||||||
if (i < j)
|
if (i > j)
|
||||||
{
|
{
|
||||||
return (i / j) * 0.2f;
|
return (i / j) * 0.15f;
|
||||||
|
}
|
||||||
|
else if (i < j / 2)
|
||||||
|
{
|
||||||
|
return (i / j) * 2f;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -276,13 +277,13 @@ class Crops
|
|||||||
spriteBatch.DrawString(Bold, "Humidity: ", new Vector2(240, Size.Y * (tileSize + Spacing) + 202), Color.DarkRed);
|
spriteBatch.DrawString(Bold, "Humidity: ", new Vector2(240, Size.Y * (tileSize + Spacing) + 202), Color.DarkRed);
|
||||||
spriteBatch.DrawString(Bold, soilProperties.Humidity.ToString(), new Vector2(370, Size.Y * (tileSize + Spacing) + 202), Color.DarkBlue);
|
spriteBatch.DrawString(Bold, soilProperties.Humidity.ToString(), new Vector2(370, Size.Y * (tileSize + Spacing) + 202), Color.DarkBlue);
|
||||||
spriteBatch.DrawString(Bold, "Phosphorous: ", new Vector2(240, Size.Y * (tileSize + Spacing) + 222), Color.DarkRed);
|
spriteBatch.DrawString(Bold, "Phosphorous: ", new Vector2(240, Size.Y * (tileSize + Spacing) + 222), Color.DarkRed);
|
||||||
spriteBatch.DrawString(Bold, soilProperties.Phosphorous.ToString(), new Vector2(370, Size.Y * (tileSize + Spacing) + 222), Color.DarkBlue);
|
spriteBatch.DrawString(Bold, Math.Round(soilProperties.Phosphorous,1).ToString(), new Vector2(370, Size.Y * (tileSize + Spacing) + 222), Color.DarkBlue);
|
||||||
spriteBatch.DrawString(Bold, "Potassium: ", new Vector2(240, Size.Y * (tileSize + Spacing) + 242), Color.DarkRed);
|
spriteBatch.DrawString(Bold, "Potassium: ", new Vector2(240, Size.Y * (tileSize + Spacing) + 242), Color.DarkRed);
|
||||||
spriteBatch.DrawString(Bold, soilProperties.Potassium.ToString(), new Vector2(370, Size.Y * (tileSize + Spacing) + 242), Color.DarkBlue);
|
spriteBatch.DrawString(Bold, Math.Round(soilProperties.Potassium, 1).ToString(), new Vector2(370, Size.Y * (tileSize + Spacing) + 242), Color.DarkBlue);
|
||||||
spriteBatch.DrawString(Bold, "Nitrogen: ", new Vector2(240, Size.Y * (tileSize + Spacing) + 262), Color.DarkRed);
|
spriteBatch.DrawString(Bold, "Nitrogen: ", new Vector2(240, Size.Y * (tileSize + Spacing) + 262), Color.DarkRed);
|
||||||
spriteBatch.DrawString(Bold, soilProperties.Nitrogen.ToString(), new Vector2(370, Size.Y * (tileSize + Spacing) + 262), Color.DarkBlue);
|
spriteBatch.DrawString(Bold, Math.Round(soilProperties.Nitrogen, 1).ToString(), new Vector2(370, Size.Y * (tileSize + Spacing) + 262), Color.DarkBlue);
|
||||||
spriteBatch.DrawString(Bold, "Production Rate: ", new Vector2(240, Size.Y * (tileSize + Spacing) + 282), Color.DarkRed);
|
spriteBatch.DrawString(Bold, "Production Rate: ", new Vector2(240, Size.Y * (tileSize + Spacing) + 282), Color.DarkRed);
|
||||||
spriteBatch.DrawString(Bold, getProductionRate().ToString(), new Vector2(370, Size.Y * (tileSize + Spacing) + 282), Color.DarkBlue);
|
spriteBatch.DrawString(Bold, Math.Round((ProductionRate * 100), 1).ToString() + "%", new Vector2(370, Size.Y * (tileSize + Spacing) + 282), Color.DarkBlue);
|
||||||
spriteBatch.End();
|
spriteBatch.End();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,7 @@ class Farm
|
|||||||
private Crops[,] crops;
|
private Crops[,] crops;
|
||||||
private Random r;
|
private Random r;
|
||||||
private CropTypesHolder PresetCrops = new CropTypesHolder();
|
private CropTypesHolder PresetCrops = new CropTypesHolder();
|
||||||
|
private int Update;
|
||||||
|
|
||||||
|
|
||||||
//initializes the crops
|
//initializes the crops
|
||||||
@ -44,14 +45,20 @@ class Farm
|
|||||||
|
|
||||||
public void updateFarm(Vector2 Size)
|
public void updateFarm(Vector2 Size)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < Size.X; i++)
|
Update++;
|
||||||
|
if (Update == 30)
|
||||||
{
|
{
|
||||||
for (int j = 0; j < Size.Y; j++)
|
for (int i = 0; i < Size.X; i++)
|
||||||
{
|
{
|
||||||
|
for (int j = 0; j < Size.Y; j++)
|
||||||
|
{
|
||||||
|
|
||||||
crops[i, j].updateCrop(Size);
|
crops[i, j].updateCrop(Size);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Update = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//Changes the properties of the tile when the tractor reaches this tile.
|
//Changes the properties of the tile when the tractor reaches this tile.
|
||||||
|
@ -48,8 +48,8 @@ class SoilProperties
|
|||||||
Humidity = Temperature * GetRandomNumber(1.9, 2.1);
|
Humidity = Temperature * GetRandomNumber(1.9, 2.1);
|
||||||
Moisture = GetRandomNumber(20, 70);
|
Moisture = GetRandomNumber(20, 70);
|
||||||
Nitrogen = GetRandomNumber(4 , 55);
|
Nitrogen = GetRandomNumber(4 , 55);
|
||||||
Potassium = GetRandomNumber(0, 28);
|
Potassium = GetRandomNumber(0.01f, 28);
|
||||||
Phosphorous = GetRandomNumber(0, 60);
|
Phosphorous = GetRandomNumber(0.01f, 60);
|
||||||
}
|
}
|
||||||
|
|
||||||
public float GetRandomNumber(double minimum, double maximum)
|
public float GetRandomNumber(double minimum, double maximum)
|
||||||
|
Loading…
Reference in New Issue
Block a user