Advertisement
niwdeyen

Ejemplo algoritmo ahorcado

Dec 6th, 2017
768
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.95 KB | None | 0 0
  1. https://youtu.be/k3zV40fR1N8
  2.  
  3. Algoritmo ahorcado
  4. Definir pais Como Caracter // palabra secreta, almacenar el pais
  5. Definir pais_jugador Como Caracter // almacenar las letras acertadas del jugador
  6. Definir letras_jugador Como Caracter // almacenar las letras ingresadas por el jugador
  7. Definir letra Como Caracter // letra de cada turno
  8. Definir longitud_p Como Entero // almacenar cantidad de caracteres en el pais
  9. Definir x Como Entero // selector de pais
  10. Definir intentos Como Entero // cantidad de intentos
  11. x = Aleatorio(1,12) // generacion aleatoria de numero que representara un pais NO azar(12)+1
  12. // Asignacion de la palabra secreta
  13. Segun x Hacer
  14. 1:
  15. pais = "arabia"
  16. 2:
  17. pais = "alemania"
  18. 3:
  19. pais = "colombia"
  20. 4:
  21. pais = "italia"
  22. 5:
  23. pais = "argentina"
  24. 6:
  25. pais = "bolivia"
  26. 7:
  27. pais = "peru"
  28. 8:
  29. pais = "francia"
  30. 9:
  31. pais = "portugal"
  32. 10:
  33. pais = "venezuela"
  34. 11:
  35. pais = "belgica"
  36. 12:
  37. pais = "chile"
  38. FinSegun
  39. pais_jugador = ""
  40. // iniciazalizacion de textos
  41. letras_jugador = "" // variable de historico de letras
  42. longitud_p = longitud(pais) // cantidad de caracteres
  43. intentos = 12
  44. acumulador_aciertos = 0
  45. // mensajes informativos
  46. Borrar Pantalla
  47. Escribir "Juego del ahorcado"
  48. Escribir "Adivina la palabra"
  49. Escribir "" // salto de linea
  50. Escribir "" // salto de linea
  51. // Dibujar el tablero inicial
  52. Para i=1 Hasta longitud_p Hacer
  53. Escribir "_ " Sin Saltar
  54. FinPara
  55. Escribir "" // salto de linea
  56. Escribir "" // salto de linea
  57. // ciclo repetitivo para pedir letras en el juego
  58. Mientras intentos>=1 Hacer
  59. contador_acierto = 0
  60. Escribir "has usado las letras: ",letras_jugador
  61. //Escribir "has usado formado: ",pais_jugador
  62. Escribir "te quedan: ",intentos," intentos"
  63. Escribir "Digite una letra:"
  64. Leer letra
  65. // ciclo para verificar si la letra ya fue ingresada previamente
  66. Para j=1 Hasta longitud(letras_jugador) Hacer
  67. Si letra=subcadena(letras_jugador,j,j) Entonces
  68. control = 1
  69. j = longitud(letras_jugador)+1
  70. i = longitud_p+1 // forzar salida del mientras
  71. contador_acierto = 99 // para evitar conflictos con la ausencia de aciertos
  72. Sino
  73. control = 9
  74. FinSi
  75. FinPara
  76. // si la letra es nueva, se agrega a la variable de historico de letras
  77. Si control=9 Entonces
  78. letras_jugador = letras_jugador+letra
  79. FinSi
  80. i = 1 // contador para recorrer los caracteres de la palabra secreta
  81. // recorrer la palabra secreta y verificar si la letra existe en ella
  82. Mientras i<=longitud_p Hacer
  83. //Si letra=subcadena(pais_jugador,i,i) Entonces
  84. // ya dijo previamente esta letra y esta en la palabra secreta
  85. // control = 1
  86. // i = longitud_p // forzar salida del ciclo
  87. //Sino
  88. Si letra=subcadena(pais,i,i) Entonces
  89. contador_acierto = contador_acierto+1
  90. acumulador_aciertos = acumulador_aciertos+1
  91. Si acumulador_aciertos=longitud_p Entonces
  92. i = longitud_p+1 // forzar salida del mientras
  93. intentos = 0 // forzar salida de la peticion de letras
  94. FinSi
  95. FinSi
  96. //FinSi
  97. i = i+1
  98. FinMientras
  99. // si tuvo por lo menos un acierto, actualizo los aciertos del jugador
  100. Si contador_acierto>0 Y contador_acierto<98 Entonces // evito las repeticiones de letra con contador_acierto<98
  101. control = 2
  102. pais_jugador = pais_jugador+letra
  103. FinSi
  104. // no se dieron aciertos
  105. Si contador_acierto=0 Entonces
  106. control = 3
  107. FinSi
  108. // mensaje para el usuario
  109. Segun control Hacer
  110. 1:
  111. Escribir "Ya dijiste esa letra, dime otra"
  112. intentos = intentos+1 // no le quitamos el turno
  113. 2:
  114. Escribir "Ha acertado la letra ",letra
  115. 3:
  116. Escribir "Esta letra no se encuentra"
  117. FinSegun
  118.  
  119. Esperar 1 Segundos
  120. //Esperar Tecla
  121. Borrar Pantalla // opcional
  122. // actualizacion de variables
  123. control = 0
  124. intentos = intentos-1
  125. // ******************
  126. escribir "Juego del ahorcado"
  127. Escribir "Adivina la palabra"
  128. Escribir "" // salto de linea
  129. Escribir "" // salto de linea
  130. // Dibujar el tablero inicial
  131. // *******************
  132. // mostrar las letras o los espacios
  133. Para j=1 Hasta longitud_p Hacer
  134. // reiniciada para diferenciar letras correctas de espacios en blanco
  135. contador_acierto = 0
  136. // compara una letra de la palabra secreta con todas las ingresadas por el jugador
  137. Para i=1 Hasta longitud(pais_jugador) Hacer
  138. Si subcadena(pais,j,j)=subcadena(pais_jugador,i,i) Entonces
  139. contador_acierto = contador_acierto+1
  140. FinSi
  141. FinPara
  142. // sin aciertos, muestro un espacio en blanco, de lo contrario muestro la letra
  143. Si contador_acierto=0 Entonces
  144. Escribir "_ " Sin Saltar
  145. Sino
  146. Escribir subcadena(pais,j,j) Sin Saltar
  147. FinSi
  148. FinPara
  149. Escribir "" // salto de linea
  150. Escribir "" // salto de linea
  151. FinMientras
  152. // fin del juego y resultado
  153. Si acumulador_aciertos=longitud_p Entonces
  154. Escribir "Gano"
  155. Sino
  156. Escribir "Perdio"
  157. Escribir "La palabra era"
  158. Escribir pais
  159. FinSi
  160. FinAlgoritmo
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement