forked from s425077/PotatoPlan
added clouds
This commit is contained in:
parent
444b5b0585
commit
9b99e0e710
BIN
Game1/Content/Cloud.png
Normal file
BIN
Game1/Content/Cloud.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 23 KiB |
BIN
Game1/Content/Clouds.png
Normal file
BIN
Game1/Content/Clouds.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 160 KiB |
@ -61,6 +61,30 @@
|
|||||||
/processorParam:TextureFormat=Color
|
/processorParam:TextureFormat=Color
|
||||||
/build:CarronIcon.png;CarrotIcon.png
|
/build:CarronIcon.png;CarrotIcon.png
|
||||||
|
|
||||||
|
#begin Cloud.png
|
||||||
|
/importer:TextureImporter
|
||||||
|
/processor:TextureProcessor
|
||||||
|
/processorParam:ColorKeyColor=255,0,255,255
|
||||||
|
/processorParam:ColorKeyEnabled=True
|
||||||
|
/processorParam:GenerateMipmaps=False
|
||||||
|
/processorParam:PremultiplyAlpha=True
|
||||||
|
/processorParam:ResizeToPowerOfTwo=False
|
||||||
|
/processorParam:MakeSquare=False
|
||||||
|
/processorParam:TextureFormat=Color
|
||||||
|
/build:Cloud.png
|
||||||
|
|
||||||
|
#begin Clouds.png
|
||||||
|
/importer:TextureImporter
|
||||||
|
/processor:TextureProcessor
|
||||||
|
/processorParam:ColorKeyColor=255,0,255,255
|
||||||
|
/processorParam:ColorKeyEnabled=True
|
||||||
|
/processorParam:GenerateMipmaps=False
|
||||||
|
/processorParam:PremultiplyAlpha=True
|
||||||
|
/processorParam:ResizeToPowerOfTwo=False
|
||||||
|
/processorParam:MakeSquare=False
|
||||||
|
/processorParam:TextureFormat=Color
|
||||||
|
/build:Clouds.png
|
||||||
|
|
||||||
#begin CottonIcon.png
|
#begin CottonIcon.png
|
||||||
/importer:TextureImporter
|
/importer:TextureImporter
|
||||||
/processor:TextureProcessor
|
/processor:TextureProcessor
|
||||||
@ -260,18 +284,6 @@
|
|||||||
/processorParam:TextureFormat=Color
|
/processorParam:TextureFormat=Color
|
||||||
/build:rain.png
|
/build:rain.png
|
||||||
|
|
||||||
#begin rain.png
|
|
||||||
/importer:TextureImporter
|
|
||||||
/processor:TextureProcessor
|
|
||||||
/processorParam:ColorKeyColor=255,0,255,255
|
|
||||||
/processorParam:ColorKeyEnabled=True
|
|
||||||
/processorParam:GenerateMipmaps=False
|
|
||||||
/processorParam:PremultiplyAlpha=True
|
|
||||||
/processorParam:ResizeToPowerOfTwo=False
|
|
||||||
/processorParam:MakeSquare=False
|
|
||||||
/processorParam:TextureFormat=Color
|
|
||||||
/build:rain.png
|
|
||||||
|
|
||||||
#begin Right.png
|
#begin Right.png
|
||||||
/importer:TextureImporter
|
/importer:TextureImporter
|
||||||
/processor:TextureProcessor
|
/processor:TextureProcessor
|
||||||
|
@ -113,7 +113,7 @@ namespace Game1
|
|||||||
tileConnected[2] = Content.Load<Texture2D>("Right");
|
tileConnected[2] = Content.Load<Texture2D>("Right");
|
||||||
tileConnected[3] = Content.Load<Texture2D>("Bottom");
|
tileConnected[3] = Content.Load<Texture2D>("Bottom");
|
||||||
|
|
||||||
Rain = Content.Load<Texture2D>("rain");
|
Rain = Content.Load<Texture2D>("Clouds");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -178,7 +178,6 @@ namespace Game1
|
|||||||
GraphicsDevice.Clear(Color.FromNonPremultiplied(255,255,255,140));
|
GraphicsDevice.Clear(Color.FromNonPremultiplied(255,255,255,140));
|
||||||
|
|
||||||
spriteBatch.Begin();
|
spriteBatch.Begin();
|
||||||
|
|
||||||
DrawTiles();
|
DrawTiles();
|
||||||
|
|
||||||
spriteBatch.Draw(markers, new Rectangle((int)tractorUnit.getTargetPosition().X / input.getSpacingTile() * (input.getTileSize() + input.getSpacing()) + input.getTileSize() / 4, (int)tractorUnit.getTargetPosition().Y / input.getSpacingTile() * (input.getTileSize() + input.getSpacing()) + input.getTileSize() / 4, input.getTileSize()/2, input.getTileSize()/2), Color.White);
|
spriteBatch.Draw(markers, new Rectangle((int)tractorUnit.getTargetPosition().X / input.getSpacingTile() * (input.getTileSize() + input.getSpacing()) + input.getTileSize() / 4, (int)tractorUnit.getTargetPosition().Y / input.getSpacingTile() * (input.getTileSize() + input.getSpacing()) + input.getTileSize() / 4, input.getTileSize()/2, input.getTileSize()/2), Color.White);
|
||||||
@ -190,9 +189,8 @@ namespace Game1
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
spriteBatch.Draw(house, houseUnit.GetRectangle(), Time.GetTimeOfDay());
|
|
||||||
spriteBatch.Draw(markers, new Rectangle((int)tractorUnit.getPath().getFinalDest().getCords().X * (input.getSpacingTile()) + Convert.ToInt32(input.getTileSize() / 6), (int)tractorUnit.getPath().getFinalDest().getCords().Y * (input.getSpacingTile()) + Convert.ToInt32(input.getTileSize() / 6), Convert.ToInt32(input.getTileSize() / 1.5), Convert.ToInt32(input.getTileSize() / 1.5)), Color.White); //Draws the current target of the tractor
|
spriteBatch.Draw(markers, new Rectangle((int)tractorUnit.getPath().getFinalDest().getCords().X * (input.getSpacingTile()) + Convert.ToInt32(input.getTileSize() / 6), (int)tractorUnit.getPath().getFinalDest().getCords().Y * (input.getSpacingTile()) + Convert.ToInt32(input.getTileSize() / 6), Convert.ToInt32(input.getTileSize() / 1.5), Convert.ToInt32(input.getTileSize() / 1.5)), Color.White); //Draws the current target of the tractor
|
||||||
spriteBatch.Draw(tractor, new Vector2((int)tractorUnit.getPos().X + input.getTileSize() / 2, (int)tractorUnit.getPos().Y + input.getTileSize() / 2), new Rectangle(0, 0, input.getTileSize(), input.getTileSize()), Time.GetTimeOfDay(), tractorUnit.getRotation(), new Vector2(input.getTileSize() / 2, input.getTileSize() / 2), 1.0f, SpriteEffects.None, 1);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -224,7 +222,7 @@ namespace Game1
|
|||||||
spriteBatch.DrawString(Bold, "Tile Size:" + input.getTileSize().ToString() + "pix", new Vector2(10, input.getSize().Y * (input.getTileSize() + input.getSpacing()) + 222), Color.DarkBlue); //Draws the tile size
|
spriteBatch.DrawString(Bold, "Tile Size:" + input.getTileSize().ToString() + "pix", new Vector2(10, input.getSize().Y * (input.getTileSize() + input.getSpacing()) + 222), Color.DarkBlue); //Draws the tile size
|
||||||
spriteBatch.DrawString(Bold, "Matrix Size: " + input.getSize().X.ToString() + " X " + input.getSize().Y.ToString(), new Vector2(10, input.getSize().Y * (input.getTileSize() + input.getSpacing()) + 242), Color.DarkBlue);
|
spriteBatch.DrawString(Bold, "Matrix Size: " + input.getSize().X.ToString() + " X " + input.getSize().Y.ToString(), new Vector2(10, input.getSize().Y * (input.getTileSize() + input.getSpacing()) + 242), Color.DarkBlue);
|
||||||
spriteBatch.DrawString(Bold, "House Position: " + houseUnit.getVector() / input.getSpacingTile(), new Vector2(10, input.getSize().Y * (input.getTileSize() + input.getSpacing()) + 262), Color.DarkBlue);
|
spriteBatch.DrawString(Bold, "House Position: " + houseUnit.getVector() / input.getSpacingTile(), new Vector2(10, input.getSize().Y * (input.getTileSize() + input.getSpacing()) + 262), Color.DarkBlue);
|
||||||
|
tractorUnit.getFarm().drawWeatherInformation(spriteBatch, Bold, input);
|
||||||
spriteBatch.DrawString(Bold, "Total Weight: ", new Vector2(700, input.getSize().Y * (input.getTileSize() + input.getSpacing()) + 182), Color.DarkRed);
|
spriteBatch.DrawString(Bold, "Total Weight: ", new Vector2(700, input.getSize().Y * (input.getTileSize() + input.getSpacing()) + 182), Color.DarkRed);
|
||||||
spriteBatch.DrawString(Bold, "(" + tractorUnit.getInventory().getWeight() + "/" + tractorUnit.getInventory().getMaxWeight() + ")", new Vector2(800, input.getSize().Y * (input.getTileSize() + input.getSpacing()) + 182), Color.DarkBlue);
|
spriteBatch.DrawString(Bold, "(" + tractorUnit.getInventory().getWeight() + "/" + tractorUnit.getInventory().getMaxWeight() + ")", new Vector2(800, input.getSize().Y * (input.getTileSize() + input.getSpacing()) + 182), Color.DarkBlue);
|
||||||
|
|
||||||
@ -312,7 +310,7 @@ namespace Game1
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
cloudFrame++;
|
/*cloudFrame++;
|
||||||
if (cloudFrame > cloudAnimationSpeed)
|
if (cloudFrame > cloudAnimationSpeed)
|
||||||
{
|
{
|
||||||
cloudSprite++;
|
cloudSprite++;
|
||||||
@ -321,14 +319,18 @@ namespace Game1
|
|||||||
cloudSprite = 0;
|
cloudSprite = 0;
|
||||||
}
|
}
|
||||||
cloudFrame = 0;
|
cloudFrame = 0;
|
||||||
}
|
}*/
|
||||||
|
spriteBatch.Draw(house, houseUnit.GetRectangle(), Time.GetTimeOfDay());
|
||||||
|
spriteBatch.Draw(tractor, new Vector2((int)tractorUnit.getPos().X + input.getTileSize() / 2, (int)tractorUnit.getPos().Y + input.getTileSize() / 2), new Rectangle(0, 0, input.getTileSize(), input.getTileSize()), Time.GetTimeOfDay(), tractorUnit.getRotation(), new Vector2(input.getTileSize() / 2, input.getTileSize() / 2), 1.0f, SpriteEffects.None, 1);
|
||||||
|
|
||||||
for (int i = -1; i < input.getSize().X + 1; i++) //Draw the tiles
|
for (int i = -1; i < input.getSize().X + 1; i++) //Draw the tiles
|
||||||
{
|
{
|
||||||
for (int j = -1; j < input.getSize().Y + 1; j++)
|
for (int j = -1; j < input.getSize().Y + 1; j++)
|
||||||
{
|
{
|
||||||
spriteBatch.Draw(Rain, tractorUnit.getFarm().getRainPosition(input.getTileSize(), i, j), new Rectangle(0, cloudSprite * 96, input.getTileSize(), input.getTileSize()), tractorUnit.getFarm().getRainAmount(i, j));
|
spriteBatch.Draw(Rain, tractorUnit.getFarm().getRainPosition(input.getTileSize(), i, j), tractorUnit.getFarm().getDestinationRectangle(i, j), tractorUnit.getFarm().getRainAmount(i, j));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InspectTile()
|
public void InspectTile()
|
||||||
|
@ -90,9 +90,6 @@
|
|||||||
<Compile Include="Sources\Crops\PerlinNoise.cs" />
|
<Compile Include="Sources\Crops\PerlinNoise.cs" />
|
||||||
<Compile Include="Sources\Crops\SoilProperties.cs" />
|
<Compile Include="Sources\Crops\SoilProperties.cs" />
|
||||||
<Compile Include="Sources\ML\Engine.cs" />
|
<Compile Include="Sources\ML\Engine.cs" />
|
||||||
<Compile Include="Sources\ML_Joel\DataModel\Input.cs" />
|
|
||||||
<Compile Include="Sources\ML_Joel\DataModel\Output.cs" />
|
|
||||||
<Compile Include="Sources\ML_Joel\Model.cs" />
|
|
||||||
<Compile Include="Sources\Objects\DayNightCycle.cs" />
|
<Compile Include="Sources\Objects\DayNightCycle.cs" />
|
||||||
<Compile Include="Sources\Objects\Fertilizer.cs" />
|
<Compile Include="Sources\Objects\Fertilizer.cs" />
|
||||||
<Compile Include="Sources\Objects\FertilizerHolder.cs" />
|
<Compile Include="Sources\Objects\FertilizerHolder.cs" />
|
||||||
@ -169,6 +166,9 @@
|
|||||||
<PackageReference Include="LightGBM">
|
<PackageReference Include="LightGBM">
|
||||||
<Version>2.3.1</Version>
|
<Version>2.3.1</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
|
<PackageReference Include="Microsoft.CodeAnalysis.Common">
|
||||||
|
<Version>3.6.0</Version>
|
||||||
|
</PackageReference>
|
||||||
<PackageReference Include="Microsoft.ML">
|
<PackageReference Include="Microsoft.ML">
|
||||||
<Version>1.4.0</Version>
|
<Version>1.4.0</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
|
@ -74,14 +74,23 @@ class Farm
|
|||||||
init(Size, housepos);
|
init(Size, housepos);
|
||||||
RainPosition.X = r.Next(0, 1900);
|
RainPosition.X = r.Next(0, 1900);
|
||||||
RainPosition.Y = r.Next(0, 1950);
|
RainPosition.Y = r.Next(0, 1950);
|
||||||
WindSpeed.X = r.Next(-1, 1);
|
RainfallMap = PerlinNoise.LoadImage("C:\\Users\\Joel\\source\\repos\\Oskars Repo\\Game1\\Content\\Rainfall.png");
|
||||||
WindSpeed.Y = r.Next(-1, 1);
|
|
||||||
RainfallMap = PerlinNoise.LoadImage("C:/Users/Oskar/source/repos/PotatoPlanFinal/Game1/Content/Rainfall.png");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Rectangle getRainPosition(int TileSize, int x, int y)
|
public Rectangle getRainPosition(int TileSize, int x, int y)
|
||||||
{
|
{
|
||||||
return new Rectangle((int)(-TileSize * (RainPosition.X - Math.Truncate(RainPosition.X))) + TileSize * x, (int)(-TileSize * (RainPosition.Y - Math.Truncate(RainPosition.Y))) + TileSize * y, TileSize, TileSize);
|
return new Rectangle(x * TileSize, y * TileSize, TileSize, TileSize);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Rectangle getDestinationRectangle(int x, int y)
|
||||||
|
{
|
||||||
|
return new Rectangle(x + (int)Math.Round(RainPosition.X), y + (int)Math.Round(RainPosition.Y), 1, 1);
|
||||||
|
//return new Rectangle(0, 0, 112, 112);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void drawWeatherInformation(SpriteBatch spriteBatch, SpriteFont Bold, Input input)
|
||||||
|
{
|
||||||
|
spriteBatch.DrawString(Bold, "Wind Speed: X:" + WindSpeed.X + "Y" + WindSpeed.Y, new Vector2(10, input.getSize().Y * (input.getTileSize() + input.getSpacing()) + 282), Color.DarkBlue);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateFarm(Vector2 Size, int nDay)
|
public void updateFarm(Vector2 Size, int nDay)
|
||||||
@ -138,8 +147,8 @@ class Farm
|
|||||||
private void updateRainMapPosition()
|
private void updateRainMapPosition()
|
||||||
{
|
{
|
||||||
float x, y;
|
float x, y;
|
||||||
x = WindSpeed.X + GetRandomNumber(-0.02, 0.02);
|
x = WindSpeed.X + GetRandomNumber(-1f, 1f) / 1000;
|
||||||
y = WindSpeed.Y + GetRandomNumber(-0.02, 0.02);
|
y = WindSpeed.Y + GetRandomNumber(-1f, 1f) / 1000;
|
||||||
|
|
||||||
if (x < 0.02f && x > -0.02f)
|
if (x < 0.02f && x > -0.02f)
|
||||||
{
|
{
|
||||||
@ -227,14 +236,7 @@ class Farm
|
|||||||
|
|
||||||
public Color getRainAmount(int x, int y)
|
public Color getRainAmount(int x, int y)
|
||||||
{
|
{
|
||||||
if (RainfallMap[x + (int)Math.Round(RainPosition.X)][y + (int)Math.Round(RainPosition.Y)].GetBrightness() < 0.60f)
|
return Color.FromNonPremultiplied(255, 255, 255, (int)(255 * RainfallMap[x + (int)Math.Round(RainPosition.X)][y + (int)Math.Round(RainPosition.Y)].GetBrightness()));
|
||||||
{
|
|
||||||
return Color.FromNonPremultiplied(255, 255, 255, 0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return Color.FromNonPremultiplied(255, 255, 255, (int)(300 * RainfallMap[x + (int)Math.Round(RainPosition.X)][y + (int)Math.Round(RainPosition.Y)].GetBrightness()));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,20 +11,12 @@ using Microsoft.ML.Trainers.LightGbm;
|
|||||||
class MLModel
|
class MLModel
|
||||||
{
|
{
|
||||||
private static MLContext mlContext = new MLContext(seed: 1);
|
private static MLContext mlContext = new MLContext(seed: 1);
|
||||||
private static string path = "C:/Users/Oskar/source/repos/PotatoPlanFinal/Game1/Content/ML/Fertilizer_Prediction.csv";
|
|
||||||
private static string modelpath = "C:/Users/Oskar/source/repos/PotatoPlanFinal/Game1/Content/ML/MLmodel";
|
|
||||||
private static string report = "C:/Users/Oskar/source/repos/PotatoPlanFinal/Game1/Content/ML/report";
|
|
||||||
private static string pathBig = "C:/Users/Oskar/source/repos/PotatoPlanFinal/Game1/Content/ML/BigFertPredict.csv";
|
|
||||||
private static string modelpathBig = "C:/Users/Oskar/source/repos/PotatoPlanFinal/Game1/Content/ML/MLmodelBig";
|
|
||||||
private static string reportBig = "C:/Users/Oskar/source/repos/PotatoPlanFinal/Game1/Content/ML/report_BigModel";
|
|
||||||
/*
|
|
||||||
private static string path = "C:/Users/Joel/source/repos/Oskars Repo/Game1/Content/ML/Fertilizer_Prediction.csv";
|
private static string path = "C:/Users/Joel/source/repos/Oskars Repo/Game1/Content/ML/Fertilizer_Prediction.csv";
|
||||||
private static string modelpath = "C:/Users/Joel/source/repos/Oskars Repo/Game1/Content/ML/MLmodel";
|
private static string modelpath = "C:/Users/Joel/source/repos/Oskars Repo/Game1/Content/ML/MLmodel";
|
||||||
private static string report = "C:/Users/Joel/source/repos/Oskars Repo/Game1/Content/ML/report";
|
private static string report = "C:/Users/Joel/source/repos/Oskars Repo/Game1/Content/ML/report";
|
||||||
private static string pathBig = "C:/Users/Joel/source/repos/Oskars Repo/Game1/Content/ML/BigFertPredict.csv";
|
private static string pathBig = "C:/Users/Joel/source/repos/Oskars Repo/Game1/Content/ML/BigFertPredict.csv";
|
||||||
private static string modelpathBig = "C:/Users/Joel/source/repos/Oskars Repo/Game1/Content/ML/MLmodelBig";
|
private static string modelpathBig = "C:/Users/Joel/source/repos/Oskars Repo/Game1/Content/ML/MLmodelBig";
|
||||||
private static string reportBig = "C:/Users/Joel/source/repos/Oskars Repo/Game1/Content/ML/report_BigModel";
|
private static string reportBig = "C:/Users/Joel/source/repos/Oskars Repo/Game1/Content/ML/report_BigModel";
|
||||||
*/
|
|
||||||
// Loading data, creatin and saving ML model for smaller dataset (100)
|
// Loading data, creatin and saving ML model for smaller dataset (100)
|
||||||
public static void CreateModel()
|
public static void CreateModel()
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user