▷ Juego del ahorcado en Visual Basic 6.0

En este tutorial actualizado, aprenderás a crear el clásico juego del ahorcado utilizando Visual Basic 6.0. Te guiaremos paso a paso por el proceso de diseño e implementación del juego, desde la interfaz gráfica hasta la lógica de control de palabras. Utilizaremos conceptos básicos de programación como condicionales, manejo de cadenas y eventos para ofrecer una experiencia interactiva. Ideal para principiantes en Visual Basic 6.0.

Elementos del Formulario

El formulario contiene los siguientes elementos organizados en "frames":

  1. Frame Ingreso: Incluye un TextBox y un botón "Jugar". Aquí ingresarás la palabra que debe tener entre 4 y 13 caracteres.
  2. Frame Info: Tiene un Label para mostrar mensajes como errores o el estado del juego. También hay un botón "Reiniciar", que aparece cuando termina el juego.
  3. Frame Errores: Muestra las partes del muñeco del ahorcado cuando ingresas letras incorrectas.
  4. Frame Palabra: Aquí se muestra una matriz de Labels (índice de 0 a 13) donde se revelan las letras correctas.

Funcionamiento del Programa

Al Cargar el Formulario

Cuando se carga el formulario, se muestra el mensaje "Ingrese una palabra y presione Jugar" en el Label de gameInfo:

Private Sub Form_Load() gameInfo.Caption = "Ingrese una palabra y presione Jugar" End Sub

Al Presionar el Botón "Jugar"

Cuando ingresas una palabra y presionas el botón "Jugar", se limpian los labels del contenedor de letras, se valida la palabra y se inicia el juego:

Private Sub play_Click() For i = 0 To 13 letterContainer(i).Text = "" Next i word = wordTextBox.Text wordLength = Len(word) If (word = "") Then gameInfo.Caption = "Error: Ingrese una palabra." ElseIf (wordLength < 4) Then gameInfo.Caption = "Error: Palabra muy corta" ElseIf wordLength > 13 Then gameInfo.Caption = "Error: Superaste el número de letras permitidas" wordLength = 0 Else wordInputFrame.Visible = False wordViewFrame.Visible = True gameInfo.Caption = "¡Comienza el juego!" gameTimer.Enabled = True For i = 0 To wordLength - 1 letterContainer(i).Visible = True Next i End If End Sub

Temporizador del Juego

El temporizador controla las interacciones del juego. Cada vez que ingresa una letra, se verifica si está en la palabra:

Private Sub gameTimer_Timer() letterInput = InputBox("Ingrese una letra.", "Ingreso", "", 0, 0) If letterInput <> "" Then For i = 1 To wordLength letterInWord = Mid(word, i, 1) If UCase(letterInput) = UCase(letterInWord) Then isLetterInWord = True gameInfo.Caption = "Letra correcta: " & letterInput Select Case i Case i letterContainer(i - 1).Text = UCase(letterInput) End Select Else isLetterInWord = False End If Next If isLetterInWord = False Then errors = errors + 1 gameInfo.Caption = "Letra incorrecta: " & letterInput Select Case errors Case 1 rope.Visible = True head.Visible = True Case 2 chest.Visible = True Case 3 leftArm.Visible = True Case 4 rightArm.Visible = True Case 5 leftLeg.Visible = True Case 6 rightLeg.Visible = True End Select End If Else gameInfo.Caption = "Error: Ingrese una letra" End If successes = 0 For i = 0 To wordLength - 1 If letterContainer(i) <> "" Then successes = successes + 1 End If Next If successes = wordLength Then gameTimer.Enabled = False MsgBox "¡Felicidades, ganaste!" gameInfo.Caption = "Ganador!!" word = "" playAgain.Visible = True End If If errors = 6 Then gameTimer.Enabled = False MsgBox "Perdiste" gameInfo.Caption = "La palabra era: " & word word = "" playAgain.Visible = True End If End Sub

Función para Validar la Entrada de Letras

La función verifyKey permite que solo se ingresen letras en el TextBox:

Function verifyKey(Tecla_Presionada) Dim allowedKeys As String allowedKeys = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz" & Chr(vbKeyBack) If InStr(1, allowedKeys, Chr(Tecla_Presionada)) Then verifyKey = Tecla_Presionada Else verifyKey = 0 End If End Function

Reiniciar el Juego

Al presionar el botón "Volver a jugar", se restablece el estado del juego:

Private Sub playAgain_Click() wordTextBox.Text = "" wordInputFrame.Visible = True playAgain.Visible = False gameInfo.Caption = "Ingrese una palabra y presione Jugar" errors = 0 wordViewFrame.Visible = False rope.Visible = False head.Visible = False chest.Visible = False leftArm.Visible = False rightArm.Visible = False leftLeg.Visible = False rightLeg.Visible = False End Sub

0/Post a Comment/Comments