private void button3_Click(object sender, EventArgs e) { panel1.Visible = true; if (panel1.Controls.Count > 0) { panel1.Controls.Clear(); } levelbox = (int)Math.Pow(Convert.ToInt32(textBox1.Text), 2); sizeoflittlebox = Convert.ToInt32(pictureBox1.Width / Math.Sqrt(levelbox)); panel1.Size = pictureBox1.Size; //panel1.Size = new Size(sizeoflittlebox, pictureBox1.Size.Height); pb = new ModifPictureBox[levelbox]; puzz = new Puzzles(new Bitmap(pictureBox1.Image), levelbox); for (int i = 0; i < levelbox; i++) { pb[i] = new ModifPictureBox(); //pb[i].Name = "pictureBox" + i.ToString(); pb[i].Index = i; pb[i].Image = puzz.elements[i].puzzleselem; pb[i].Size = new Size(sizeoflittlebox, sizeoflittlebox);//puzz.elements[i].puzzleselem.Width, puzz.elements[i].puzzleselem.Height); pb[i].SizeMode = PictureBoxSizeMode.Zoom; pb[i].BorderStyle = BorderStyle.Fixed3D; } shuffle(ref pb); ai(ref pb); for (int i = 0; i < levelbox; i++) { panel1.Controls.Add(pb[i]); } }
private void shuffle(ref ModifPictureBox[] array) { Random rng = new Random(); int n = array.Length; while (n > 1) { int k = rng.Next(n); n--; ModifPictureBox temp = array[n]; array[n] = array[k]; array[k] = temp; } }