Oke jadi saya punya dua masalah dengan kode ini:
Saya memiliki 8 kotak gambar, saya mencoba menjalankan pemeriksaan pada nomor yang dibuat secara acak, untuk melihat apakah cocok dengan nomor di akhir kotak gambar (IE jika nomor acak = 8, konstanta lain dimasukkan ke dalam kotak gambar 8 dan tidak ada yang lain, tetapi hanya jika belum ada sesuatu di dalamnya).
Saya telah melakukannya hanya dengan menjalankan setiap pemeriksaan sebagai satu pernyataan if tetapi... 180 pernyataan if nanti... itu terlalu banyak untuk dikodekan.
Saya mencoba (seperti yang Anda lihat) menjalankannya melalui beberapa loop sementara. Bagian utama yang saya alami masalah adalah menetapkan kotak gambar tertentu dalam array dengan gambar dari array. Saya bisa mendapatkan gambar menggunakan
imgName
danimgPictures(i)
dalam formatPictureBox1.Image = imgPictures(i)
, tetapi tidak menggantiPictureBox1.Image
denganpicBoxes().Image
.Menggunakan MsgBox yang saya tinggalkan di kode, loop dan pernyataan if menjalankan "Debug1" dan "Debug2" tetapi tidak ada yang lain... Mengapa demikian?
Saya akan meninggalkan kodenya dan melihat apa yang bisa kalian dapatkan.
Dim i As Integer = 1
Dim x As Integer = 1
Dim rndnumber As Integer = mathsclass.get_randomnumber()
Dim imgPictures(20) As Image
Dim picBoxes(8) As PictureBox
picBoxes = New PictureBox() {PictureBox1, PictureBox2, PictureBox3, PictureBox4, PictureBox5, PictureBox6, PictureBox7, PictureBox8}
Dim imgName As String = ("_" & i)
imgPictures(0) = My.Resources.ResourceManager.GetObject(imgName)
picBoxes(x).Image = imgPictures(i)
While (i <= 20)
MsgBox("Debug1")
rndnumber = mathsclass.get_randomnumber()
imgName = ("_" & i)
imgPictures(i) = My.Resources.ResourceManager.GetObject(imgName)
x = 0
While (x < 8)
MsgBox("Debug2")
If ((randomnumber = i) & (randomposition = x)) Then
MsgBox("Debug3")
picBoxes(x).Image = imgPictures(i)
Else
While (rndnumber = randomnumber)
MsgBox("Debug4")
rndnumber = mathsclass.get_randomnumber()
End While
MsgBox("Debug5")
If ((randomnumber <> rndnumber) & (randomposition <> x)) Then
MsgBox("Debug6")
imgName = ("_" & rndnumber)
imgPictures(i) = My.Resources.ResourceManager.GetObject(imgName)
picBoxes(x).Image = imgPictures(i)
End If
MsgBox("Debug7")
End If
MsgBox("Debug8")
x += 1
End While
MsgBox("Debug9")
i += 1
End While