Buenas tardes.
Estoy intentando crear un programa que calcule un aleatorio y te de varias oportunidades para acertarlo, el problema es que no puedo encontrar la manera de que el numero sea aleatorio al iniciar el programa pero se mantenga constante a lo largo de la ejecucion del mismo, y ademas de eso quiero que una vez dicho un numero me de la opcion de decir otro, pero e puesto un bucle que no me funciona como querria
muchas gracias de antemano ;D :huh:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim k
k = ALEAT()
Const a =
TextBox1.Text() = "Pon el numero aqui "
End Sub
Public Function ALEAT() As Integer
Dim Aleatorio, max
max = 1000
Randomize()
a = Int((max - 1) * Rnd() + 1)
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim numero, num, max, cont, bol, al
al = a
num = 0
cont = 1
bol = True
num = TextBox1.Text
Do While num <> al And cont < 10
'msgbox("intento numero " & cont)
If num > al Then
MsgBox("Intento numero " & cont & ". Es menor. Prueba otra vez")
num = TextBox1.Text
Else
MsgBox("Intento numero " & cont & ". Es mayor. Prueba otra vez")
num = TextBox1.Text
End If
cont = cont + 1
Loop
If num = al Then
bol = False
End If
If bol = True Then
MsgBox("Has fallado, era el " & al)
Else
MsgBox("Acertastes, era el " & al & " Numero de intentos " & cont)
End If
End Sub
La idea la tenes, pero te confundes con el uso de funciones, si haces una funcion aparte para que genere un numero aleatorio, esta funcion tiene que devolver el numero, asi a la variable "al" le asignas la funcion. Por ejemplo haria estos cambios en la funcion y en el valor que toma "al" ..
Public Function ALEAT() As Integer
Dim Aleatorio, max
max = 1000
Randomize()
ALEAT = Int((max - 1) * Rnd() + 1)
End Function
Entonces luego asignas asi:
al = ALEAT()
Tal vez con eso ya te funciona lo que quieres.. pero tienes cosas mal, o cosas insolitas, como la variable k. Tambien tu forma de plantearte el problema.. yo te recomiendo unas cosas:
- Leerte un buen tutorial de vb.net completo, de esos largos, pero aprenderas muchisimo, si no te gusta leer intentalo y practica con cada cosa que leas.
- Plantearte los problemas en un papel con lapicera antes de empezar a codear.
- Las dudas que tengas, como en este caso tuviste antes, de como generar el numero aleatorio para que genere lo que de verdad queres, te las podes sacar creando un proyecto nuevo siempre y haciendo pruebas ahi, porque eso de sumarle 1 y restarle y eso, es como que lo arreglaste una vez que viste q no te generaba lo que querias, prueba por ejemplo que pasa si en vez de Int le pones Cint.
Luego que hayas hecho estas cosas podras hacer el resto sin problemas