Este documento presenta un programa en Visual Basic que implementa un juego del ahorcado. El programa establece las reglas del juego, oculta una palabra aleatoria y permite al jugador adivinar letras. El programa lleva un recuento de los aciertos y fallos, e indica al final si el jugador ganó o perdió en función del número de fallos.
2. Module Module1
Sub Main()
Console.WriteLine(quot;------------------------juego del ahorcado--------------------------quot;)
Console.WriteLine(quot;Reglasquot;)
Console.WriteLine(quot;------quot;)
Console.WriteLine(quot;7 errores eres un mal jugadorquot;)
Console.WriteLine(quot;2-5 debes de entrenarte un poco masquot;)
Console.WriteLine(quot;0 eres un tio muy listoquot;)
Dim cadenaoculta(4) As String
Dim fallos() As String 'en esta tabla iré guardando los fallos
Dim aciertos() As String 'en esta tabla iré guardando los aciertos
'palabra que hay adivinar
cadenaoculta(0) = quot;cquot;
cadenaoculta(1) = quot;oquot;
cadenaoculta(2) = quot;cquot;
cadenaoculta(3) = quot;hquot;
cadenaoculta(4) = quot;equot;
'aqui recorro la tabla para verificar que la palabra que tengo que adivinar esta
correctamente en la tabla
Dim r As Integer 'contador que recorre la cadenaoculta
3. For r = 0 To cadenaoculta.GetUpperBound(r)
Console.WriteLine(quot;posicion:{0} ->letra: {1} quot;, r, cadenaoculta(r))
Next
'compruebo el tamaño de la cadena
Dim tamaño As String
tamaño = cadenaoculta.Length
Console.WriteLine()
Console.WriteLine(quot;el tamaño de la palabra a adivinar tiene {0} letrasquot;, tamaño)
Console.WriteLine(quot;ahora intenta adivinar la palabraquot;)
Dim letras As String = quot;quot;
letras = Console.ReadLine()
'control de error para que no casque cuando meta un numero
While True
Try
If IsNumeric(letras) Then
Console.WriteLine(quot;error, no puedes escribir numerosquot;)
Else
Exit While
End If
Catch ex As Exception
Console.WriteLine(quot;vuelve a introducir una letraquot;)
End Try
End While
4. Dim f As Integer 'contador de fallos
Dim a As Integer 'contador de aciertos
ReDim Preserve fallos(f)
'este while me ejecuta el juego mientras el jugador no supere los 7 fallos o acierta
While f < 7 And a = 0
(en este for me da un fallo cuando introdusco la letra, y creo que en los demas for tambien no acabo
de entender por que)
For r = 0 To cadenaoculta.GetUpperBound(r)
If letras <> cadenaoculta(f) Then
fallos(f) = letras
f += 1
Else
aciertos(a) = letras
a += 1
End If
Next
'tabla que me muestra los fallos que voy teniendo
For f = 0 To fallos.GetUpperBound(f)
Console.WriteLine(quot;{0}quot;, fallos(f))
Next
'tabla que me muestra los aciertos
For a = 0 To aciertos.GetUpperBound(a)
Console.WriteLine(quot;{0}quot;, aciertos(a))
Next
5. Select Case f
Case 0
Console.WriteLine(quot;a la primera eres un maquinaquot;)
Case 1 - 3
Console.WriteLine(quot;no has estado malquot;)
Case 4 - 6
Console.WriteLine(quot;deberias jugar mas amenudoquot;)
Case Else
Console.WriteLine(quot;has perdidoquot;)
End Select
Console.ReadLine()
End While
End Sub
End Module