Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/09/2010, 16:24
aprush
 
Fecha de Ingreso: octubre-2007
Mensajes: 7
Antigüedad: 16 años, 7 meses
Puntos: 0
Azar SIN repetición

Muy buenas.

Conozco el código para pulsar un botón y que se genere automáticamente 1 palabra de 10, sería más o menos este:

Private Sub btnGenerar_Click()
Dim palabra As Integer
Randomize
palabra = Int(10 * Rnd) + 1
If palabra = "1" Then lblPalabra.Caption = "Ana"
ElseIf palabra = "2" Then lblPalabra.Caption = "Beso"
ElseIf palabra = "3" Then lblPalabra.Caption = "Carne"
ElseIf palabra = "4" Then lblPalabra.Caption = "Duende"
ElseIf palabra = "5" Then lblPalabra.Caption = "Esteban"
ElseIf palabra = "6" Then lblPalabra.Caption = "Flauta"
ElseIf palabra = "7" Then lblPalabra.Caption = "Goma"
ElseIf palabra = "8" Then lblPalabra.Caption = "Hueso"
ElseIf palabra = "9" Then lblPalabra.Caption = "Idiota"
ElseIf palabra = "10" Then lblPalabra.Caption = "Jaca"
End If
End Sub

Lo que quiero hacer, y no esto, es generar una palabra aleatoria en la primera tirada; generar una palabra aleatoria en la segunda tirada y que jamás pueda ser la misma que en la primera; generar una palabra aleatoria en la tercera tirada y que jamás pueda ser la misma que en la primera y en la segunda, y así sucesivamente. En otras palabras, generar una palabra aleatoria pero sin repetir la anterior. Y cuando genere la palabra número 10, volver a empezar desde 0, generando otras 10, siempre sin repetir, y así sucesivamente. ¿Cuál sería el código más óptimo?

Muchas gracias por la atención.