• Lenguaje

    Visual Basic .Net

  • Descripción

    Juego del ahorcado para adivinar nombres de países.

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
Module Ahorcado

    ReadOnly oportunidades As Integer = 6

    Sub Main()
        Dim palabras() As String = { _
         "Argentina", _
         "Belice", _
         "Bolivia", _
         "Brasil", _
         "Canada", _
         "Colombia", _
         "Cuba", _
         "Chile", _
         "Ecuador", _
         "El Salvador", _
         "Espa" & ChrW(&HF1) & "a", _
         "Estados Unidos", _
         "Guatemala", _
         "Haiti", _
         "Honduras", _
         "Mexico", _
         "Panama", _
         "Paraguay", _
         "Peru", _
         "Puerto Rico", _
         "Republica Dominicana", _
         "Uruguay", _
         "Venezuela" _
        }
        Dim palabra As String
        palabra = palabras(New Random().Next(palabras.Length))
        Dim i, n, turnos, aciertos As Integer
        n = palabra.Length
        turnos = 0
        aciertos = 0
        Dim letra, caracter, cabeza, cuerpo, manoIzquierda As Char
        Dim manoDerecha, pieIzquierdo, pieDerecho As Char
        cabeza = " "
        cuerpo = " "
        manoIzquierda = " "
        manoDerecha = " "
        pieIzquierdo = " "
        pieDerecho = " "
        Dim casillas(n) As Char
        Dim encontrado As Boolean
        For i = 0 To n - 1
            casillas(i) = "_"
        Next
        Do
            Console.WriteLine(vbCrLf & "Oportunidades restantes: " & (oportunidades - turnos))
            For i = 0 To n - 1
                Console.Write(" " & casillas(i))
            Next
            Console.Write(vbCrLf & "Escriba una letra: ")
            letra = Console.ReadKey(true).KeyChar
            If Asc(letra) = 164 Then
                letra = ChrW(&HF1)
            End If
            Console.WriteLine(letra)
            encontrado = False
            For i = 0 To n - 1
                caracter = palabra(i)
                If  Char.ToUpper(letra) = Char.ToUpper(caracter) Then
                    encontrado = True
                    If casillas(i) = "_" Then
                        casillas(i) = caracter
                        aciertos += 1
                    End If
                End If
            Next
            If Not encontrado Then
                turnos += 1
                Console.WriteLine("Letra no encontrada.")
                Select Case turnos
                    Case 1 : cabeza = ChrW(&H263A)
                    Case 2 : cuerpo = ChrW(&H253C)
                    Case 3 : manoDerecha = "/"
                    Case 4 : manoIzquierda = "\"
                    Case 5 : pieDerecho = "/"
                    Case 6 : pieIzquierdo = "\"
                End Select
            End If
            Console.WriteLine("     " & cabeza & " ")
            Console.WriteLine("    " & manoDerecha & "" & cuerpo & "" & manoIzquierda)
            Console.WriteLine("    " & pieDerecho & " " & pieIzquierdo & vbCrLf)
        Loop While turnos < oportunidades And aciertos < n
        If aciertos = n Then
            Console.WriteLine("Felicidades, has ganado.")
        Else
            Console.WriteLine("Has perdido.")
        End If
        Console.WriteLine("La palabra secreta es: " & palabra & vbCrLf & vbCrLf)
        Shell ("cmd /c pause", AppWinStyle.NormalFocus, True)
    End Sub

End Module