Consulta sobre respuestas aleatorias.

Iniciado por CamiloBloodstar, 16 Abril 2013, 02:58 AM

0 Miembros y 1 Visitante están viendo este tema.

CamiloBloodstar

Buenas, mi pregunta es cómo puedo (en Visual Studio Ultimate 2012) generar respuestas aleatorias, quiero decir, que elija aleatoriamente una variable, por ejemplo.

Eleкtro

#1
Se me ocurre que puedes almacenar tus variables en un Dictionary o un Hashtable, y de ahi sacar el índice aleatório y su valor correspondiente:

Código (vbnet) [Seleccionar]
Public Class Form1

    Dim Misvariables As New Hashtable
    Dim Rando As New Random
    Dim MisVariablesLength As Int32 = 5

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        ' Add values
        Misvariables.Add("Var1", True)
        Misvariables.Add("Var2", False)
        Misvariables.Add("Var3", 10)
        Misvariables.Add("Var4", 20)
        Misvariables.Add("Var5", "Test")

    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        ' Get Random Index name
        Dim VariableKey As String = Misvariables.Keys(Rando.Next(0, MisVariablesLength))

        ' Get Index Value
        MsgBox("Variable:  " & VariableKey & vbNewLine & _
               "Value:  " & Misvariables.Item(VariableKey))

        ' Get Random Value name
        ' MsgBox(Misvariables.Keys(Rando.Next(0, MisVariablesLength)))

        ' Get Random Value
        ' MsgBox(Misvariables.Item(Misvariables.Keys(Rando.Next(0, MisVariablesLength))))

    End Sub

End Class


Creo que de otra forma (es decir, con las variables de toda la vida en el código (Dim var as...)) tienes que usar reflection y es u trabajo duro, yo intenté algo parecido y al final lo hice usando un diccionario como te he comentado.

Saludos!








CamiloBloodstar

Buenas, intentaré usando lo que me dijiste, adaptándolo a mi programita. ¡Muchas gracias! Luego de intentar te comento si me funcionó.

CamiloBloodstar

Cita de: CamiloBloodstar en 16 Abril 2013, 02:58 AM
Buenas, mi pregunta es cómo puedo (en Visual Studio Ultimate 2012) generar respuestas aleatorias, quiero decir, que elija aleatoriamente una variable, por ejemplo.

Listo, ya logré hacerlo :D ¡muchas gracias!