// make button to click image
        private void imageClick(object sender, EventArgs e)
        {
            pictures select = (pictures)sender;

            if (btnWall.Focused)
            {
                select.Image = wall;
                Save(savePictures, select.Row, select.Col, SaveType(wall));
            }
            if (btnRedBox.Focused)
            {
                select.Image = rb;
                Save(savePictures, select.Row, select.Col, SaveType(rb));
            }
            if (btnRedDoor.Focused)
            {
                select.Image = rd;
                Save(savePictures, select.Row, select.Col, SaveType(rd));
            }
            if (btnGreenBox.Focused)
            {
                select.Image = gb;
                Save(savePictures, select.Row, select.Col, SaveType(gb));
            }
            if (btnGreenDoor.Focused)
            {
                select.Image = gd;
                Save(savePictures, select.Row, select.Col, SaveType(gd));
            }
            if (btnNone.Focused)
            {
                select.Image = none;
                Save(savePictures, select.Row, select.Col, SaveType(none));
            }
        }
        // make button to generate
        private void btnGenerate_Click(object sender, EventArgs e)
        {
            if (!number.IsMatch(txtRow.Text) || !number.IsMatch(txtColums.Text))
            {
                MessageBox.Show("rows and colums must be integer");
            }
            else
            {
                row    = int.Parse(txtRow.Text);
                colums = int.Parse(txtColums.Text);
                int x = left;
                int y = top;

                for (int i = 0; i < row; i++)
                {
                    for (int j = 0; j < colums; j++)
                    {
                        picture       = new pictures(i, j);
                        picture.Image = JkimAssignment2.Properties.Resources.None;
                        picture.Left  = x;
                        picture.Top   = y;

                        this.Controls.Add(picture);
                        savePictures.Add(picture);

                        x             += width + hgap;
                        picture.Click += imageClick;
                    }
                    x  = left;
                    y += height + wgap;
                }
            }
        }
        // make stripmenu for loading item
        private void loadGameToolStripMenuItem_Click(object sender, EventArgs e)
        {
            loadImage.Clear();
            panelResult.Controls.Clear();
            txtMoves.Text = "0";
            txtBoxes.Text = "0";
            a             = 0;
            OpenFileDialog openFile = new OpenFileDialog();

            if (openFile.ShowDialog() == DialogResult.OK)
            {
                if (Path.GetExtension(openFile.FileName) == ".rtf")
                {
                    txtResult.LoadFile(openFile.FileName, RichTextBoxStreamType.RichText);
                }
                if (Path.GetExtension(openFile.FileName) == ".txt")
                {
                    txtResult.LoadFile(openFile.FileName, RichTextBoxStreamType.PlainText);
                }
                rowWidth  = Convert.ToInt32(txtResult.Lines[0]);
                colHeight = Convert.ToInt32(txtResult.Lines[1]);

                int[,] load = new int[rowWidth, colHeight];
                int[] type  = new int[rowWidth * colHeight];
                int   x     = left;
                int   y     = top;
                int   count = 0;


                for (int i = 0; i < rowWidth * colHeight; i++)
                {
                    type[i] = Convert.ToInt32(txtResult.Lines[4 + (3 * i)]);
                }
                txtResult.Clear();
                for (int i = 0; i < rowWidth; i++)
                {
                    for (int j = 0; j < colHeight; j++)
                    {
                        picture = new pictures(i, j, type[count]);
                        panelResult.Controls.Add(picture);
                        loadImage.Add(picture);
                        count++;

                        picture.Left = x;
                        picture.Top  = y;

                        x             += width + hgap;
                        picture.Click += imageClick;
                    }
                    x  = left;
                    y += height + wgap;
                }
                getType();
                if (getType() != null)
                {
                    txtBoxes.Text = getType().ToString();
                }
            }
        }
        //make leftbutton
        private void btnLeft_Click(object sender, EventArgs e)
        {
            if (picture.Type != 4 && picture.Type != 5)
            {
                MessageBox.Show("choose it first");
            }
            else
            {
                int row  = picture.Row;
                int col  = picture.Col;
                int type = picture.Type;
                txtMoves.Text = getNumber().ToString();

                if (type == 4)
                {
                    if (getTile(row, col - 1).Type == 3)
                    {
                        txtMoves.Text = loseNumber().ToString();
                        MessageBox.Show("Cant go left");
                    }
                }
                if (type == 5)
                {
                    if (getTile(row, col - 1).Type == 2)
                    {
                        txtMoves.Text = loseNumber().ToString();
                        MessageBox.Show("Cant go left");
                    }
                }
                if (getTile(row, col - 1).Type == 1 || getTile(row, col - 1).Type == 4 || getTile(row, col - 1).Type == 5)
                {
                    txtMoves.Text = loseNumber().ToString();
                    MessageBox.Show("Cant go left");
                }

                while (getTile(row, col - 1).Type == 0)
                {
                    col--;
                }

                picture.Image = none;
                picture.Type  = 0;

                picture      = getTile(row, col);
                picture.Type = type;
                for (int i = 0; i < 6; i++)
                {
                    if (type == 4)
                    {
                        picture.Image = rb;
                    }
                    if (type == 5)
                    {
                        picture.Image = gb;
                    }
                }
                ;
                if (type == 4)
                {
                    if (getTile(row, col - 1).Type == 2)
                    {
                        picture.Image = none;
                        picture.Type  = 0;
                    }
                }
                if (type == 5)
                {
                    if (getTile(row, col - 1).Type == 3)
                    {
                        picture.Image = none;
                        picture.Type  = 0;
                    }
                }
                int a = 0;
                foreach (var item in loadImage)
                {
                    if (item.Type == 4 || item.Type == 5)
                    {
                        a = 1;
                    }
                }
                if (getType() != null)
                {
                    txtBoxes.Text = getType().ToString();
                }
                if (a == 0)
                {
                    MessageBox.Show("Congrats!");
                    panelResult.Controls.Clear();
                }
            }
        }
 //make click method to check image
 private void imageClick(object sender, EventArgs e)
 {
     picture = (pictures)sender;
     SetFocus();
 }