AncientChinaPuzzle1.AncientChinaPuzzle1.Update C# (CSharp) Method

Update() protected method

Allows the game to run logic such as updating the world, checking for collisions, gathering input, and playing audio.
protected Update ( GameTime gameTime ) : void
gameTime Microsoft.Xna.Framework.GameTime Provides a snapshot of timing values.
return void
        protected override void Update(GameTime gameTime)
        {
            // Allows the game to exit
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
                this.Exit();

            MouseState aMouse = Mouse.GetState();

            // LOLOLOLNESTED IFS TO DETERMINE IF GAEM OVR
            if (block1.X == 0 && block1.Y == 0)
                if (block2.X == block1.X + 200 && block2.Y == 0)
                    if (block3.X == block2.X + 200 && block3.Y == 0)
                        if (block4.X == block3.X + 200 && block4.Y == 0)
                            if (block5.X == 0 && block5.Y == block1.Y + 150)
                                if (block6.X == block5.X + 200 && block6.Y == block2.Y + 150)
                                    if (block7.X == block6.X + 200 && block7.Y == block3.Y + 150)
                                        if (block8.X == block7.X + 200 && block8.Y == block4.Y + 150)
                                            if (block9.X == 0 && block9.Y == block5.Y + 150)
                                                if (block10.X == block9.X + 200 && block10.Y == block6.Y + 150)
                                                    if (block11.X == block10.X + 200 && block11.Y == block7.Y + 150)
                                                        if (block12.X == block11.X + 200 && block12.Y == block8.Y + 150)
                                                            if (block13.X == 0 && block13.Y == block9.Y + 150)
                                                                if (block14.X == block13.X + 200 && block14.Y == block10.Y + 150)
                                                                    if (block15.X == block14.X + 200 && block15.Y == block11.Y + 150)
                                                                        if (block16.X == block15.X + 200 && block16.Y == block12.Y + 150)
                                                                            this.Exit();

            if (aMouse.LeftButton == ButtonState.Pressed)
            {
                if ((aMouse.X > block16.X - 200 && aMouse.X < block16.X) ^ (aMouse.X > block16.X + 200 && aMouse.X < block16.X + 400) ^
                    (aMouse.Y > block16.Y - 150 && aMouse.Y < block16.Y) ^ (aMouse.Y > block16.Y + 150 && aMouse.Y < block16.Y + 300))
                {
                    if (aMouse.X > block1.X && aMouse.X < block1.X + 200 && aMouse.Y > block1.Y && aMouse.Y < block1.Y + 150)
                    {
                        Vector2 temp = block1;
                        block1.X = block16.X;
                        block1.Y = block16.Y;
                        block16.X = temp.X;
                        block16.Y = temp.Y;
                    }
                    else if (aMouse.X > block2.X && aMouse.X < block2.X + 200 && aMouse.Y > block2.Y && aMouse.Y < block2.Y + 150)
                    {
                        Vector2 temp = block2;
                        block2.X = block16.X;
                        block2.Y = block16.Y;
                        block16.X = temp.X;
                        block16.Y = temp.Y;
                    }
                    else if (aMouse.X > block3.X && aMouse.X < block3.X + 200 && aMouse.Y > block3.Y && aMouse.Y < block3.Y + 150)
                    {
                        Vector2 temp = block3;
                        block3.X = block16.X;
                        block3.Y = block16.Y;
                        block16.X = temp.X;
                        block16.Y = temp.Y;
                    }
                    else if (aMouse.X > block4.X && aMouse.X < block4.X + 200 && aMouse.Y > block4.Y && aMouse.Y < block4.Y + 150)
                    {
                        Vector2 temp = block4;
                        block4.X = block16.X;
                        block4.Y = block16.Y;
                        block16.X = temp.X;
                        block16.Y = temp.Y;
                    }
                    else if (aMouse.X > block5.X && aMouse.X < block5.X + 200 && aMouse.Y > block5.Y && aMouse.Y < block5.Y + 150)
                    {
                        Vector2 temp = block5;
                        block5.X = block16.X;
                        block5.Y = block16.Y;
                        block16.X = temp.X;
                        block16.Y = temp.Y;
                    }
                    else if (aMouse.X > block6.X && aMouse.X < block6.X + 200 && aMouse.Y > block6.Y && aMouse.Y < block6.Y + 150)
                    {
                        Vector2 temp = block6;
                        block6.X = block16.X;
                        block6.Y = block16.Y;
                        block16.X = temp.X;
                        block16.Y = temp.Y;
                    }
                    else if (aMouse.X > block7.X && aMouse.X < block7.X + 200 && aMouse.Y > block7.Y && aMouse.Y < block7.Y + 150)
                    {
                        Vector2 temp = block7;
                        block7.X = block16.X;
                        block7.Y = block16.Y;
                        block16.X = temp.X;
                        block16.Y = temp.Y;
                    }
                    else if (aMouse.X > block8.X && aMouse.X < block8.X + 200 && aMouse.Y > block8.Y && aMouse.Y < block8.Y + 150)
                    {
                        Vector2 temp = block8;
                        block8.X = block16.X;
                        block8.Y = block16.Y;
                        block16.X = temp.X;
                        block16.Y = temp.Y;
                    }
                    else if (aMouse.X > block9.X && aMouse.X < block9.X + 200 && aMouse.Y > block9.Y && aMouse.Y < block9.Y + 150)
                    {
                        Vector2 temp = block9;
                        block9.X = block16.X;
                        block9.Y = block16.Y;
                        block16.X = temp.X;
                        block16.Y = temp.Y;
                    }
                    else if (aMouse.X > block10.X && aMouse.X < block10.X + 200 && aMouse.Y > block10.Y && aMouse.Y < block10.Y + 150)
                    {
                        Vector2 temp = block10;
                        block10.X = block16.X;
                        block10.Y = block16.Y;
                        block16.X = temp.X;
                        block16.Y = temp.Y;
                    }
                    else if (aMouse.X > block11.X && aMouse.X < block11.X + 200 && aMouse.Y > block11.Y && aMouse.Y < block11.Y + 150)
                    {
                        Vector2 temp = block11;
                        block11.X = block16.X;
                        block11.Y = block16.Y;
                        block16.X = temp.X;
                        block16.Y = temp.Y;
                    }
                    else if (aMouse.X > block12.X && aMouse.X < block12.X + 200 && aMouse.Y > block12.Y && aMouse.Y < block12.Y + 150)
                    {
                        Vector2 temp = block12;
                        block12.X = block16.X;
                        block12.Y = block16.Y;
                        block16.X = temp.X;
                        block16.Y = temp.Y;
                    }
                    else if (aMouse.X > block13.X && aMouse.X < block13.X + 200 && aMouse.Y > block13.Y && aMouse.Y < block13.Y + 150)
                    {
                        Vector2 temp = block13;
                        block13.X = block16.X;
                        block13.Y = block16.Y;
                        block16.X = temp.X;
                        block16.Y = temp.Y;
                    }
                    else if (aMouse.X > block14.X && aMouse.X < block14.X + 200 && aMouse.Y > block14.Y && aMouse.Y < block14.Y + 150)
                    {
                        Vector2 temp = block14;
                        block14.X = block16.X;
                        block14.Y = block16.Y;
                        block16.X = temp.X;
                        block16.Y = temp.Y;
                    }
                    else if (aMouse.X > block15.X && aMouse.X < block15.X + 200 && aMouse.Y > block15.Y && aMouse.Y < block15.Y + 150)
                    {
                        Vector2 temp = block15;
                        block15.X = block16.X;
                        block15.Y = block16.Y;
                        block16.X = temp.X;
                        block16.Y = temp.Y;
                    }
                }
            }
            // TODO: Add your update logic here

            base.Update(gameTime);
        }