Foros del Web » Programación para mayores de 30 ;) » Programación General »

Problemilla con un juego (ahorcado)

Estas en el tema de Problemilla con un juego (ahorcado) en el foro de Programación General en Foros del Web. Hola, estoy realizando un juego, el típico juego el ahorcado y tengo algunos problemillas... a ver si me podríais ayudar, jeje... Problema 1.- Al inicio ...
  #1 (permalink)  
Antiguo 08/07/2004, 08:39
Avatar de yampoo  
Fecha de Ingreso: noviembre-2001
Ubicación: Vilanova i la Geltrú
Mensajes: 1.942
Antigüedad: 22 años, 6 meses
Puntos: 0
Problemilla con un juego (ahorcado)

Hola, estoy realizando un juego, el típico juego el ahorcado y tengo algunos problemillas... a ver si me podríais ayudar, jeje...

Problema 1.-

Al inicio la palabra oculta se muestra toda con * para que no se pueda ver.. esto está echo

For i = 1 To total
cambia = cambia + "* "
Next i

(total = número de caracteres de la cadena).
(cambia = cadena final que irá a un label)

Ahora el problema es substituir * por una letra.

Ej.

Yo escribo la palabra BUTANITO, y en el juego aparece ******** (8 caracteres) lo que me falla es que sí pongo B me aparezca B******* y sí pongo A salga B**A**** ahora mismo me sale sí pongo B B******* pero sí pongo a me aparece ***A****

Código que uso:

cambio = ""

For i = 1 To total

If Mid(mayu, i, 1) = "E" Then

cambio = cambio + "E"

Else

cambio = cambio + "*"

End If

Next i

(mayu = cadena oculta en mayúsculas)
(i = posición del caracter)
(cambio = cadena final que se muestra en el juego)

Funciona mal como he dicho... sólo me muestra las letras E y todo lo demás * aunque ya haya acertado otras letras.

¿Qué falla?

Muchas gracias de antemano!!!!!
Estoy desesperadillo... con esto... llevo un día malo en general...
  #2 (permalink)  
Antiguo 08/07/2004, 12:12
Avatar de yampoo  
Fecha de Ingreso: noviembre-2001
Ubicación: Vilanova i la Geltrú
Mensajes: 1.942
Antigüedad: 22 años, 6 meses
Puntos: 0
¿nadie sabe que falla? me estoy desesperando...
  #3 (permalink)  
Antiguo 08/07/2004, 14:58
 
Fecha de Ingreso: mayo-2004
Ubicación: Cubil Felino
Mensajes: 10
Antigüedad: 20 años
Puntos: 0
mira, yop lo hice y esta funcionado perfect
primero cree un formulario con un boton (command1) un campo texto (text1) un Label (label1)

primero q nada debes declarar la variable palabra como publica

Public palabra As String

en el boton esta el sigte codigo (tambien se puede poner en el load del formulario)

Private Sub Command1_Click()

arreglo = Array("ESPARRAGO", "PELOTA", "AUTOMOVIL", "INTERNET", "PAPA", "LECHUGA", "PARALELEPIPEDO")
valor = Int((7 * Rnd) + 1)
palabra = arreglo(valor)
total = Len(palabra)
For i = 1 To total
cambia = cambia + "*"
Next i
Label1.Caption = cambia
Text1.SetFocus

End Sub


luego en el text1 esta lo q estabas buscando...

If KeyAscii = 13 Then
total1 = Len(palabra)
val2 = Label1.Caption
For y = 1 To total1
If UCase(Text1.Text) = Mid(palabra, y, 1) Then
Var = Var & Mid(palabra, y, 1)
Else
If Mid(val2, y, 1) <> "*" Then
Var = Var & Mid(val2, y, 1)
Else
Var = Var & "*"
End If
End If
Next
Label1.Caption = Var
Text1.Text = ""
Text1.SetFocus
For x = 1 To total1
If Mid(Var, x, 1) <> "*" Then
aux = aux + 1
End If
Next
If aux = Len(palabra) Then
MsgBox "Adivinaste la palabra"
Command1.SetFocus
End If
End If


y ejecutalo, esta 100% probado....


salu2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:54.