/// <summary> /// Allows the game to run logic such as updating the world, /// checking for collisions, gathering input, and playing audio. /// </summary> /// <param name="gameTime">Provides a snapshot of timing values.</param> protected override void Update(GameTime gameTime) { if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) { Exit(); } MouseState mouse = Mouse.GetState(); if (dead == false) { if (win == false) { time += (float)gameTime.ElapsedGameTime.TotalSeconds; } if (mouse.LeftButton == ButtonState.Pressed) { Rectangle rectMouse = new Rectangle(mouse.Position.X, mouse.Position.Y, 1, 1); minefield.ShowField(rectMouse); dead = minefield.Dead(); } if (mouse.RightButton == ButtonState.Pressed && oldMouse.RightButton == ButtonState.Released) { Rectangle rectMouse = new Rectangle(mouse.Position.X, mouse.Position.Y, 1, 1); minefield.SaveMine(rectMouse); minefield.GetNumberOfFlags(); } oldMouse = mouse; if (mouse.LeftButton == ButtonState.Pressed && mouse.RightButton == ButtonState.Pressed) { Rectangle rectMouse = new Rectangle(mouse.Position.X, mouse.Position.Y, 1, 1); minefield.ShowFields(rectMouse); dead = minefield.Dead(); } win = minefield.YouWin(); } base.Update(gameTime); }