private void kuvaloota_Click(object sender, EventArgs e) { MyPicBox pb = (MyPicBox)sender; if ((nayttoaika == -1) && ((pb.y < tasot[taso, 0]) && (pb.x < tasot[taso, 1]))) // jos ollaan pelialueella ja väärän parin odotusaika loppu { // sallitaan kuvien klikkailu if (nayttokuvat[pb.y, pb.x] == 0) // jos klikattu suljettua kuvalootaa { valittuna[valitut, 0] = pb.y; // talletetaan klikatun kuvan paikka valittuna[valitut, 1] = pb.x; kuvaloota[pb.y, pb.x].Image = imageList1.Images[kuvat[pb.y, pb.x]]; // näytetään kuva nayttokuvat[pb.y, pb.x] = kuvat[pb.y, pb.x]; // merkataan kuvaloota avatuksi valitut++; // valittuja kuvia on yksi enemmän if (valitut == 2) // jos kaksi kuvaa valittuna { siirrot++; // siirtojen määrä on yhtä suurempi if (kuvat[valittuna[0, 0], valittuna[0, 1]] == kuvat[valittuna[1, 0], valittuna[1, 1]]) // jos löytyi pari { parejajaljella--; // yksi pari vähemmän try { sp1.Play(); // soitetaan "pari löytyi" -ääni } catch { } if (parejajaljella == 0) // jos kaikki parit löydetty { sp3.Play(); // soitetaan "kaikki parit löydetty" -ääni } } else // kuvat olivat eriparia { nayttoaika = 10; // asetetaan sekunnin näyttöviive, jonka aikana ei voi klikkailla try { sp2.Play(); // soitetaan "väärä pari" -ääni } catch { } } valitut = 0; // valittuja kuvia ei ole } } } }
private void Form1_Load(object sender, EventArgs e) { for (int i = 0; i < 5; i++) { for (int j = 0; j < 6; j++) { // luodaan 5*6 pictureboxia eli kuvalootaa kuvaloota[i, j] = new MyPicBox(i, j); kuvaloota[i, j].Location = new System.Drawing.Point(10 + j * 90, 90 + i * 90); kuvaloota[i, j].Size = new System.Drawing.Size(80, 80); kuvaloota[i, j].SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; kuvaloota[i, j].Click += new System.EventHandler(kuvaloota_Click); this.Controls.Add(kuvaloota[i, j]); } } sekoitaKuvat(); // sekoitetaan kuvat kuvalootiin sp1.SoundLocation = "blip.wav"; // ladataan ääniefektit sp2.SoundLocation = "nono.wav"; sp3.SoundLocation = "done.wav"; btnRight.Enabled = false; // aloitetaan suurimmalta tasolta, joten ei sallita isompaa tasoa naytaKuvat(); // näytetään kuvalootien kuvat }