Visual Basic - Ayuda con programa adivinador! VisualBasic 2012

Life is soft - evento anual de software empresarial
 
Vista:

Ayuda con programa adivinador! VisualBasic 2012

Publicado por Jose Angel (1 intervención) el 04/09/2018 01:17:18
Mi profesor me ha pedido "Hacer un juego que permita adivinar un numero generado al azar entre 1 y 50 por la computadora. El jugador deberá de tener 5 intentos para adivinar dicho numero, al agostar sus intentos mostrar un mensaje con MsgBox de "Seguir intentando" y finalizar el programa. En caso de ganar indicarlo con un mensaje con MsgBox y mostrar cuantos intentos le quedaban."


He podido hacer el codigo hasta la parte de adivinar el numero (use Math.Truncate(Rnd(100) * 50 + 1), cuando acierto el numero (lo puse con una label en una esquina de la pantalla, si no pues nunca lo adivino) me sale todo correcto: el msgBox, los intentos restantes y se cierra el programa.

Mi problema es al fallar, en el primer intento fallido me pone el MsgBox y se cierra, pero yo no lo quiero al primer intento, quiero que salga eso al quinto y mi profesor se rehúsa a ayudarme, dice que tengo que "pensar analíticamente". Agradecería que me pudiesen ayudar con esto!

Saludos cordiales.

Public Class Form1
Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click
Label2.Text = Math.Truncate(Rnd(100) * 50 + 1)
End Sub

Private Sub TextBox1_MouseClick(sender As Object, e As MouseEventArgs) Handles .TextBox1MouseClick
Dim contador As Integer
For contador = 4 To 0 Step -1

If TextBox1.Text = Label2.Text Then

MsgBox("Felicidades, has adivinado el numero, tenias " & contador & " intento(s) restante(s)", MsgBoxStyle.Information, "Ganaste")
End
End If

Next contador
If contador < 1 Then
MsgBox("Sigue intentando", MsgBoxStyle.Critical, "Fallaste")
End
End If
End Sub
End Class




(Doble click al Label1 para generar Label2, que es el numero que esta en la esquina de la pantalla)
(Doble click al TextBox1 para dar tu respuesta)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.259
Plata
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Ayuda con programa adivinador! VisualBasic 2012

Publicado por Antoni Masana (558 intervenciones) el 04/09/2018 13:05:00
No conozco la versión con la que trabajas y puede que tenga algún error de sintaxis.

La idea básicamente es esta, fijate el la variable contador:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Public Class Form1
    Private Contador as Integer
 
    Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click
        Label2.Text = Math.Truncate(Rnd(100) * 50 + 1)
        Contador = 4
    End Sub
 
    Private Sub TextBox1_MouseClick(sender As Object, e As MouseEventArgs) Handles.TextBox1MouseClick
        If TextBox1.Text = Label2.Text Then
            MsgBox("Felicidades, has adivinado el numero, tenias " & contador & " intento(s) restante(s)", MsgBoxStyle.Information, "Ganaste")
            End
        Else
            Contador = Contador - 1
            If Contador = 0 Then
                MsgBox("Sigue intentando", MsgBoxStyle.Critical, "Fallaste")
                End
            End If
        End If
    End Sub
End Class

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Ayuda con programa adivinador! VisualBasic 2012

Publicado por Andres Leonardo (1798 intervenciones) el 04/09/2018 16:05:36
Ponle Un Boton y mira este codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Public Class Form1
    Public Contador As Integer
 
    Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click
        Label2.Text = Math.Truncate(Rnd(100) * 50 + 1)
        Contador = 5
        Label1.Text = Contador
    End Sub
 
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        If Contador > 0 Then
            If TextBox1.Text = Label2.Text Then
                MsgBox("Felicidades, has adivinado el numero, tenias " & Contador & " intento(s) restante(s)", MsgBoxStyle.Information, "Ganaste")
                End
            Else
                Contador = Contador - 1
                Label1.Text = Contador
                MsgBox("Sigue intentando tienes " & Contador & " Inteno(s) Restante(s)", MsgBoxStyle.Critical, "Fallaste")
            End If
        Else
            MsgBox("Perdiste", MsgBoxStyle.Critical, "Fallaste")
        End If
 
    End Sub
End Class
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con programa adivinador! VisualBasic 2012

Publicado por omar (4 intervenciones) el 04/09/2018 16:13:55
si tienes teanviewer enviame el id para poder conectarme y guiarte en tu problema
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar