public Playing(ContentManager content, EventHandler screenEvent, GraphicsDevice gd)
            : base(screenEvent)
        {
            graphic = gd;
            playingBackground = content.Load<Texture2D>(@"picture/candi borobudur background");
            puzzleFont = content.Load<Texture2D>(@"picture/tulisan puzzle");
            pauseFont = content.Load<Texture2D>(@"picture/tulisan puzzle");
            moveFont = content.Load<Texture2D>(@"picture/counter pindah");
            moveCounter = content.Load<SpriteFont>(@"move");
            successFont = content.Load<Texture2D>(@"picture/berhasil");

            state = GameState.post;
            picture = new Picture();
            pictureGame = content.Load<Texture2D>(@"picture/" + picture.getNamePicture() + "");

            move = 0;
                //pictureGame = content.Load<Texture2D>(@"picture/siap");
            ct = content;
            grayBackground = content.Load<Texture2D>(@"picture/gray");
            backButton = content.Load<Texture2D>(@"picture/button kembali");
            playButton = content.Load<Texture2D>(@"picture/button main");
            pauseButton = content.Load<Texture2D>(@"picture/button berhenti");
            resumeButton = content.Load<Texture2D>(@"picture/button lanjut");
            backButtonPosition = new Vector2(20, 420);
            playButtonPosition = new Vector2(40, 370);
            pauseButtonPosition = new Vector2(40, 370);
            resumeButtonPosition = new Vector2(40, 370);
        }
        private void mouseClicked(int x, int y)
        {
            Rectangle mouseClickedRect = new Rectangle(x, y, 10, 10);
            Rectangle backButtonRect = new Rectangle((int)backButtonPosition.X, (int)backButtonPosition.Y, 160, 40);
            if (mouseClickedRect.Intersects(backButtonRect))
                {
                    picture = new Picture();
                    pictureGame = ct.Load<Texture2D>(@"picture/" + picture.getNamePicture() + "");
                    splitAndShufflePicture();
                    screenEvent.Invoke(this, new EventArgs());
                    state = GameState.pre;
                    pause = false;
                }
            if (state == GameState.pre)
            {
                Rectangle playButtonRect = new Rectangle((int)playButtonPosition.X, (int)playButtonPosition.Y, 125, 40);
                if (mouseClickedRect.Intersects(playButtonRect))
                {
                    splitAndShufflePicture();
                    state = GameState.middle;
                }
            }
            else if (state == GameState.middle)
            {
                if (!pause)
                {
                    Rectangle pauseButtonRect = new Rectangle((int)pauseButtonPosition.X, (int)pauseButtonPosition.Y, 140, 40);
                    if (mouseClickedRect.Intersects(pauseButtonRect))
                    {
                        pause = true;
                    }
                    Rectangle tile1Rect = new Rectangle(300, 30, 142, 142);
                    Rectangle tile2Rect = new Rectangle(442, 30, 142, 142);
                    Rectangle tile3Rect = new Rectangle(584, 30, 142, 142);
                    Rectangle tile4Rect = new Rectangle(300, 172, 142, 142);
                    Rectangle tile5Rect = new Rectangle(442, 172, 142, 142);
                    Rectangle tile6Rect = new Rectangle(584, 172, 142, 142);
                    Rectangle tile7Rect = new Rectangle(300, 314, 142, 142);
                    Rectangle tile8Rect = new Rectangle(442, 314, 142, 142);
                    Rectangle tile9Rect = new Rectangle(584, 314, 142, 142);

                    if (mouseClickedRect.Intersects(tile1Rect))
                    {
                        checkTile(0);
                        move++;
                    }
                    else if (mouseClickedRect.Intersects(tile2Rect))
                    {
                        checkTile(1);
                        move++;
                    }
                    else if (mouseClickedRect.Intersects(tile3Rect))
                    {
                        checkTile(2);
                        move++;
                    }
                    else if (mouseClickedRect.Intersects(tile4Rect))
                    {
                        checkTile(3);
                        move++;
                    }
                    else if (mouseClickedRect.Intersects(tile5Rect))
                    {
                        checkTile(4);
                        move++;
                    }
                    else if (mouseClickedRect.Intersects(tile6Rect))
                    {
                        checkTile(5);
                        move++;
                    }
                    else if (mouseClickedRect.Intersects(tile7Rect))
                    {
                        checkTile(6);
                        move++;
                    }
                    else if (mouseClickedRect.Intersects(tile8Rect))
                    {
                        checkTile(7);
                        move++;
                    }
                    else if (mouseClickedRect.Intersects(tile9Rect))
                    {
                        checkTile(8);
                        move++;
                    }

                }
                else
                {
                    Rectangle resumeButtonRect = new Rectangle((int)resumeButtonPosition.X, (int)resumeButtonPosition.Y, 140, 40);
                    if (mouseClickedRect.Intersects(resumeButtonRect))
                    {
                        pause = false;
                    }
                }
            }
            else if (state == GameState.post)
            {

            }
        }