Exemplo n.º 1
0
        /// <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);
        }