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
|
||||
/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
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
@ -260,18 +284,6 @@
|
||||
/processorParam:TextureFormat=Color
|
||||
/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
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
|
@ -113,7 +113,7 @@ namespace Game1
|
||||
tileConnected[2] = Content.Load<Texture2D>("Right");
|
||||
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));
|
||||
|
||||
spriteBatch.Begin();
|
||||
|
||||
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);
|
||||
@ -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(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, "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);
|
||||
|
||||
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, "(" + 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)
|
||||
{
|
||||
cloudSprite++;
|
||||
@ -321,14 +319,18 @@ namespace Game1
|
||||
cloudSprite = 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 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()
|
||||
|
@ -90,9 +90,6 @@
|
||||
<Compile Include="Sources\Crops\PerlinNoise.cs" />
|
||||
<Compile Include="Sources\Crops\SoilProperties.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\Fertilizer.cs" />
|
||||
<Compile Include="Sources\Objects\FertilizerHolder.cs" />
|
||||
@ -169,6 +166,9 @@
|
||||
<PackageReference Include="LightGBM">
|
||||
<Version>2.3.1</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.CodeAnalysis.Common">
|
||||
<Version>3.6.0</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.ML">
|
||||
<Version>1.4.0</Version>
|
||||
</PackageReference>
|
||||
|
@ -74,14 +74,23 @@ class Farm
|
||||
init(Size, housepos);
|
||||
RainPosition.X = r.Next(0, 1900);
|
||||
RainPosition.Y = r.Next(0, 1950);
|
||||
WindSpeed.X = r.Next(-1, 1);
|
||||
WindSpeed.Y = r.Next(-1, 1);
|
||||
RainfallMap = PerlinNoise.LoadImage("C:/Users/Oskar/source/repos/PotatoPlanFinal/Game1/Content/Rainfall.png");
|
||||
RainfallMap = PerlinNoise.LoadImage("C:\\Users\\Joel\\source\\repos\\Oskars Repo\\Game1\\Content\\Rainfall.png");
|
||||
}
|
||||
|
||||
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)
|
||||
@ -138,8 +147,8 @@ class Farm
|
||||
private void updateRainMapPosition()
|
||||
{
|
||||
float x, y;
|
||||
x = WindSpeed.X + GetRandomNumber(-0.02, 0.02);
|
||||
y = WindSpeed.Y + GetRandomNumber(-0.02, 0.02);
|
||||
x = WindSpeed.X + GetRandomNumber(-1f, 1f) / 1000;
|
||||
y = WindSpeed.Y + GetRandomNumber(-1f, 1f) / 1000;
|
||||
|
||||
if (x < 0.02f && x > -0.02f)
|
||||
{
|
||||
@ -227,14 +236,7 @@ class Farm
|
||||
|
||||
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, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
return Color.FromNonPremultiplied(255, 255, 255, (int)(300 * RainfallMap[x + (int)Math.Round(RainPosition.X)][y + (int)Math.Round(RainPosition.Y)].GetBrightness()));
|
||||
}
|
||||
return Color.FromNonPremultiplied(255, 255, 255, (int)(255 * 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
|
||||
{
|
||||
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 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 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 reportBig = "C:/Users/Joel/source/repos/Oskars Repo/Game1/Content/ML/report_BigModel";
|
||||
*/
|
||||
// Loading data, creatin and saving ML model for smaller dataset (100)
|
||||
public static void CreateModel()
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user