using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; namespace Game1 { /// /// This is the main type for your game. /// public class Game1 : Game { GraphicsDeviceManager graphics; SpriteBatch spriteBatch; SpriteFont Bold; private Texture2D tile; private Texture2D tractor; private Tractor tractorUnit = new Tractor(); private Input input = new Input(); public Game1() { graphics = new GraphicsDeviceManager(this); Content.RootDirectory = "Content"; } protected override void Initialize() { // TODO: Add your initialization logic here base.Initialize(); input.init(graphics, new Vector2(8,8), 56, 1); tractorUnit.updateSizing(input.getTileSize(), input.getSpacing()); graphics.PreferredBackBufferWidth = (input.getTileSize() + input.getSpacing()) * (int)input.getSize().X; graphics.PreferredBackBufferHeight = (input.getTileSize() + input.getSpacing()) * (int)input.getSize().Y + 125; graphics.ApplyChanges(); } protected override void LoadContent() { // Create a new SpriteBatch, which can be used to draw textures. spriteBatch = new SpriteBatch(GraphicsDevice); tile = Content.Load("Tile"); tractor = Content.Load("Tractor"); Bold = Content.Load("Font"); } protected override void UnloadContent() { } protected override void Update(GameTime gameTime) { if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) Exit(); tractorUnit.updateSizing(input.getTileSize(), input.getSpacing()); tractorUnit.updatePosition(input.getSize()); tractorUnit.setSpeed(input.changeSpeed(tractorUnit.getSpeed())); input.changeSize(); base.Update(gameTime); } protected override void Draw(GameTime gameTime) //Draw Function { GraphicsDevice.Clear(Color.CornflowerBlue); spriteBatch.Begin(); for(int i = 0; i < input.getSize().X; i++) //Draw the tiles { for (int j = 0; j < input.getSize().Y; j++) { spriteBatch.Draw(tile, new Rectangle(i * (input.getTileSize() + input.getSpacing()), j * (input.getTileSize() + input.getSpacing()), input.getTileSize(), input.getTileSize()), Color.White); } } spriteBatch.Draw(tractor, new Rectangle((int)tractorUnit.getTargetPosition().X, (int)tractorUnit.getTargetPosition().Y, input.getTileSize(), input.getTileSize()) , Color.Red); //Draws the tractors target spriteBatch.Draw(tractor, new Rectangle((int)tractorUnit.getPos().X, (int)tractorUnit.getPos().Y, input.getTileSize(), input.getTileSize()), Color.Black); //Draws the tractor spriteBatch.DrawString(Bold, "Speed:" + tractorUnit.getSpeed().ToString(), new Vector2(10, input.getSize().Y * input.getTileSize() + 20) , Color.White); //Draws the the speed spriteBatch.End(); base.Draw(gameTime); } } }