using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; class Farm { private Crops[,] crops; private Random r; //initializes the crops public void init(Vector2 Size) { r = new Random(); crops = new Crops[100, 100]; for (int i = 0; i < Size.X; i++) { for (int j = 0; j < Size.Y; j++) { int x = r.Next(0, 3); if (x == 0) { x = r.Next(0, 2); } if (x == 2) { x = r.Next(1, 3); } crops[i, j] = new Crops(); crops[i, j].setStatus(x); crops[i, j].setOriginalStatus(); crops[i, j].setCropType(x = r.Next(0, 4)); } } } public void updateFarm(Vector2 Size) { for (int i = 0; i < Size.X; i++) { for (int j = 0; j < Size.Y; j++) { if (crops[i, j].getStatus() == 4 && crops[i, j].getCropTimer() != 1) { crops[i, j].updateCrop(); } } } } //Changes the properties of the tile when the tractor reaches this tile. public void setCropStatus(float xfloat, float yfloat, int Spacing) { int x = (int)xfloat / Spacing; int y = (int)yfloat / Spacing; if (crops[x, y].getStatus() >= 4) { crops[x, y].setStatus(2); } else if(crops[x, y].getStatus() == 0) { //do nothing } else if (crops[x, y].getStatus() == 2) { crops[x, y].setStatus(3); } else if (crops[x, y].getStatus() == 3) { crops[x, y].setStatus(4); crops[x, y].setCropTimer(); } } public Crops getCrop(int x, int y) { return crops[x,y]; } public Crops[,] getCrops() { return crops; } public void updateSize(Vector2 Size, int tileSize, int Spacing) { for (int i = 0; i < (int)Size.X; i++) { for (int j = 0; j < (int)Size.Y; j++) { //crops[i, j].x = (tileSize + Spacing) * i; //crops[i, j].y = (tileSize + Spacing) * j; } } } public void setNewHousePos(Vector2 pos, bool newState) { crops[(int)pos.X, (int)pos.Y].setHousePos(newState); } }