Advertisement
Guest User

Untitled

a guest
Dec 6th, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.59 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int letraexiste(char letra);
  6. int chuteserrados();
  7. int enforcou();
  8. void abertura();
  9. void chuta();
  10. int jachutou(char letra);
  11. int ganhou();
  12. void desenhaforca();
  13. void escolhepalavra();
  14.  
  15. #define TAMANHO_PALAVRA 20
  16.  
  17. char palavrasecreta[TAMANHO_PALAVRA];
  18. char chutes[26];
  19. int chutesdados = 0;
  20.  
  21.  
  22. int letraexiste(char letra) {
  23.  
  24. for(int j = 0; j < strlen(palavrasecreta); j++) {
  25. if(letra == palavrasecreta[j]) {
  26. return 1;
  27. }
  28. }
  29.  
  30. return 0;
  31. }
  32.  
  33. int chuteserrados() {
  34. int erros = 0;
  35.  
  36. for(int i = 0; i < chutesdados; i++) {
  37.  
  38. if(!letraexiste(chutes[i])) {
  39. erros++;
  40. }
  41. }
  42.  
  43. return erros;
  44. }
  45.  
  46. int enforcou() {
  47. return chuteserrados() >= 5;
  48. }
  49.  
  50. int ganhou() {
  51. for(int i = 0; i < strlen(palavrasecreta); i++) {
  52. if(!jachutou(palavrasecreta[i])) {
  53. return 0;
  54. }
  55. }
  56.  
  57. return 1;
  58. }
  59.  
  60.  
  61. void abertura() {
  62. printf("/****************/\n");
  63. printf("/ Jogo de Forca */\n");
  64. printf("/****************/\n\n");
  65. }
  66.  
  67. void chuta() {
  68. char chute;
  69. printf("Qual letra? ");
  70. scanf(" %c", &chute);
  71.  
  72. if(letraexiste(chute)) {
  73. printf("Você acertou: a palavra tem a letra %c\n\n", chute);
  74. } else {
  75. printf("\nVocê errou: a palavra NÃO tem a letra %c\n\n", chute);
  76. }
  77.  
  78. chutes[chutesdados] = chute;
  79. chutesdados++;
  80. }
  81.  
  82. int jachutou(char letra) {
  83. int achou = 0;
  84. for(int j = 0; j < chutesdados; j++) {
  85. if(chutes[j] == letra) {
  86. achou = 1;
  87. break;
  88. }
  89. }
  90.  
  91. return achou;
  92. }
  93.  
  94. void desenhaforca() {
  95.  
  96. int erros = chuteserrados();
  97.  
  98. printf(" _______ \n");
  99. printf(" |/ | \n");
  100. printf(" | %c%c%c \n", (erros>=1?'(':' '), (erros>=1?'_':' '), (erros>=1?')':' '));
  101. printf(" | %c%c%c \n", (erros>=3?'\\':' '), (erros>=2?'|':' '), (erros>=3?'/': ' '));
  102. printf(" | %c \n", (erros>=2?'|':' '));
  103. printf(" | %c %c \n", (erros>=4?'/':' '), (erros>=4?'\\':' '));
  104. printf(" | \n");
  105. printf("_|___ \n");
  106. printf("\n\n");
  107.  
  108. for(int i = 0; i < strlen(palavrasecreta); i++) {
  109.  
  110. if(jachutou(palavrasecreta[i])) {
  111. printf("%c ", palavrasecreta[i]);
  112. } else {
  113. printf("_ ");
  114. }
  115.  
  116. }
  117. printf("\n");
  118.  
  119. }
  120.  
  121. void escolhepalavra() {
  122. printf("\n\nDigite a palavra secreta:\n\n");
  123. gets(palavra);
  124. system("cls");
  125. }
  126.  
  127. int main() {
  128.  
  129. abertura();
  130. escolhepalavra();
  131.  
  132. do {
  133.  
  134. desenhaforca();
  135. chuta();
  136.  
  137. } while (!ganhou() && !enforcou());
  138.  
  139. if(ganhou()) {
  140. printf("\nParabéns, você ganhou o jogo!\n\n");
  141.  
  142. } else {
  143. printf("\nPuxa, você foi enforcado!\n");
  144. printf("A palavra era **%s**\n\n", palavrasecreta);
  145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement