Código
Picture1.Picture = LoadPicture("C:\dado1.jpg") Picture2.Picture = LoadPicture("C:\dado2.jpg") Picture3.Picture = LoadPicture("C:\dado3.jpg") Picture4.Picture = LoadPicture("C:\dado4.jpg") Picture5.Picture = LoadPicture("C:\dado5.jpg") Picture6.Picture = LoadPicture("C:\dado6.jpg")
y despues cuando apretas un boton que su funciona sea "tirar los dados" haces:
Código
Private Sub cmdTirar_Click() Dim i As Integer Dim x As Integer For i = 1 To Int(Rnd * 15) + 3 'El dado puede llegar a rodar 15 veces, minimo 3 x = Int(Rnd * 6) + 1 'El dado puede salir entre 1 y 6 (osea sus caras) Select Case x Case 1: PictureDado.Picture = Picture1.Picture 'Si el dado sale 1 carga dado 1 Case 2: PictureDado.Picture = Picture2.Picture 'Si el dado sale 2 carga dado 2 Case 3: PictureDado.Picture = Picture3.Picture 'Si el dado sale 3 carga dado 3 Case 4: PictureDado.Picture = Picture4.Picture 'Si el dado sale 4 carga dado 4 Case 5: PictureDado.Picture = Picture5.Picture 'Si el dado sale 5 carga dado 5 Case 6: PictureDado.Picture = Picture6.Picture 'Si el dado sale 6 carga dado 6 End Select DoEvents 'Para que nuestro programa funcione sin colgarse PictureDado.Refresh 'Redibujamos la imagen del dado para visualizar bien Call Sleep(250) 'Duerme al programa por 0.25 segundos Next i End Sub
Y por ultimo agregamos esta API y esta funcion en el Form_Load para que empieze a crear numeros aleatorios:
Código
Private Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long) Randomize
Entonces el codigo bien armado nos queda asi:
Código
Private Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long) Private Sub Form_Load() 'Aca cargamos cada picture con una imagen del dado diferente (1 x cada cara) Randomize Picture1.Picture = LoadPicture("C:\dado1.jpg") Picture2.Picture = LoadPicture("C:\dado2.jpg") Picture3.Picture = LoadPicture("C:\dado3.jpg") Picture4.Picture = LoadPicture("C:\dado4.jpg") Picture5.Picture = LoadPicture("C:\dado5.jpg") Picture6.Picture = LoadPicture("C:\dado6.jpg") End Sub Private Sub cmdTirar_Click() Dim i As Integer Dim x As Integer For i = 1 To Int(Rnd * 15) + 3 'El dado puede llegar a rodar 15 veces, minimo 3 x = Int(Rnd * 6) + 1 'El dado puede salir entre 1 y 6 (osea sus caras) Select Case x Case 1: PictureDado.Picture = Picture1.Picture 'Si el dado sale 1 carga dado 1 Case 2: PictureDado.Picture = Picture2.Picture 'Si el dado sale 2 carga dado 2 Case 3: PictureDado.Picture = Picture3.Picture 'Si el dado sale 3 carga dado 3 Case 4: PictureDado.Picture = Picture4.Picture 'Si el dado sale 4 carga dado 4 Case 5: PictureDado.Picture = Picture5.Picture 'Si el dado sale 5 carga dado 5 Case 6: PictureDado.Picture = Picture6.Picture 'Si el dado sale 6 carga dado 6 End Select DoEvents 'Para que nuestro programa funcione sin colgarse PictureDado.Refresh 'Redibujamos la imagen del dado para visualizar bien Call Sleep(250) 'Duerme al programa por 0.25 segundos Next i End Sub
Necesitas:
1 PictureBox llamado PictureDado (Para mostrar el dado)
6 PictureBox llamados Picture1, Picture2, Picture3, etc y con propiedad Visible = False (Para guardar cada cara del dado)
1 CommandButton llamado cmdTirar (Para tirar los dados)
6 Imagenes guardadas en C:\ con nombre dado1.jpg, dado2.jpg hasta el 6
Lo elabore recien, cualquier cosa avisame y espero te sirva
PD: Podes ponerle las imagenes vos a los Picture o buscate 6 imagenes de dados y ponelas en tu Disco C:\ y llamalas Dado1, Dado2, Dado3 y que esan jpg, si queres cambiale la ruta, la extension o lo que te parezca!