orneto

jogo da forca 1.1

Jun 17th, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.14 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <time.h>
  5.  
  6. int sorteio(){ //funçao de sorteio
  7. srand(time(NULL)); //faz com que cada vez o codigo sorteio um valor diferente
  8. return rand()%(9);
  9. }
  10. void main() {
  11. char frutas[10][20]={"abacaxi","amora","morango","banana","uva","tomate","kiwi","abacate","coco","manga"}; //palavras a serem sorteadas
  12. char palavra[20]; //recebe a palavra sorteada
  13. int jogarnovamente = 0;
  14. int acertos;//conta os acertos
  15. char erros[6];
  16. int vida;
  17. int j;
  18. int x = 1;
  19. int aux; //recebe o numero de acertos
  20. int endgame; //checa o fim do jogo
  21. int i;
  22. char letra;
  23. char resposta;
  24. int verificador;
  25. while(jogarnovamente == 0){
  26. printf("\n");
  27. printf(" +--------------+\n");
  28. printf(" | |\n");
  29. printf(" | |\n");
  30. printf(" |\n");
  31. printf(" |\n");
  32. printf(" |\n");
  33. printf(" |\n");
  34. printf(" |\n");
  35. printf(" |\n");
  36. printf(" |\n");
  37. printf(" |\n");
  38. printf(" |\n");
  39. printf(" |\n");
  40. printf(" |\n");
  41. printf(" |\n");
  42. printf(" |\n");
  43. printf(" |\n");
  44. printf(" |\n");
  45. printf(" ---------\n");
  46.  
  47. acertos = 0;
  48. vida = 0;
  49. endgame = 0;
  50. i =sorteio(); //recebe o valor sorteado na funçao sorteio
  51. for(j=0; j<20; j++){
  52. palavra[j] = frutas[i][j];
  53. }
  54. i = 0;
  55. for(j=0;j<20;j++){
  56. if(palavra[j]!='\0'){
  57. i = i+1;
  58. }
  59. if(palavra[j]=='\0'){
  60. break;
  61. }
  62. }
  63. char palavracerta[i];
  64. char palavraaux[i];
  65. for(j=0;j<i;j++){
  66. palavraaux[j]='_';
  67. }
  68. printf(" ");
  69. for(j=0;j<i;j++){
  70. printf("%c ",palavraaux[j]); //escreve os espaços das letras
  71. }
  72. printf("\n");
  73. while(vida<6){
  74. verificador = 1;
  75. printf("\n");
  76. printf(" aperte uma letra que voce acha que faz parte do nome desta fruta: ");
  77. while(verificador>0){ //verifica se a letra ja foi digitada
  78. verificador=0;
  79. letra = getche();
  80. for(j=0;j<i;j++){
  81. if(letra==palavracerta[j]){
  82. verificador=verificador+1;
  83. }
  84. }
  85. printf("\33[2K\r"); //apaga a ultima linha do console
  86. printf(" aperte uma letra que voce acha que faz parte do nome desta fruta: ");
  87.  
  88. }
  89. system("cls"); //limpa a tela
  90. printf("\n");
  91. aux = acertos;
  92. for(j=0;j<i;j++){
  93. if(palavra[j]==letra){
  94. acertos++;
  95. palavracerta[j] = letra;
  96. endgame++;
  97. }
  98. else{
  99. palavracerta[j] = '_';
  100. }
  101. }
  102. for(j=0;j<i;j++){
  103. if(palavracerta[j]!='_'){
  104. palavraaux[j] = letra;
  105. }
  106. }
  107. if(acertos<=aux){
  108. erros[vida]=letra;
  109. vida++;
  110. }
  111. switch (vida){
  112. case 0:
  113. printf(" +--------------+\n");
  114. printf(" | |\n");
  115. printf(" | |\n");
  116. printf(" |\n");
  117. printf(" |\n");
  118. printf(" |\n");
  119. printf(" |\n");
  120. printf(" |\n");
  121. printf(" |\n");
  122. printf(" |\n");
  123. printf(" |\n");
  124. printf(" |\n");
  125. printf(" |\n");
  126. printf(" |\n");
  127. printf(" |\n");
  128. printf(" |\n");
  129. printf(" |\n");
  130. printf(" |\n");
  131. printf(" ---------\n");
  132. break;
  133. case 1:
  134. printf(" +--------------+\n");
  135. printf(" | |\n");
  136. printf(" | |\n");
  137. printf(" | +-----+\n");
  138. printf(" | |0 0|\n");
  139. printf(" | | w |\n");
  140. printf(" | +-----+\n");
  141. printf(" |\n");
  142. printf(" |\n");
  143. printf(" |\n");
  144. printf(" |\n");
  145. printf(" |\n");
  146. printf(" |\n");
  147. printf(" |\n");
  148. printf(" |\n");
  149. printf(" |\n");
  150. printf(" |\n");
  151. printf(" |\n");
  152. printf(" ---------\n");
  153. break;
  154. case 2:
  155. printf(" +--------------+\n");
  156. printf(" | |\n");
  157. printf(" | |\n");
  158. printf(" | +-----+\n");
  159. printf(" | |0 0|\n");
  160. printf(" | | w |\n");
  161. printf(" | +-----+\n");
  162. printf(" | |\n");
  163. printf(" | |\n");
  164. printf(" | |\n");
  165. printf(" | |\n");
  166. printf(" | |\n");
  167. printf(" | |\n");
  168. printf(" |\n");
  169. printf(" |\n");
  170. printf(" |\n");
  171. printf(" |\n");
  172. printf(" |\n");
  173. printf(" ---------\n");
  174. break;
  175. case 3:
  176. printf(" +--------------+\n");
  177. printf(" | |\n");
  178. printf(" | |\n");
  179. printf(" | +-----+\n");
  180. printf(" | |0 0|\n");
  181. printf(" | | w |\n");
  182. printf(" | +-----+\n");
  183. printf(" | |\n");
  184. printf(" | |\n");
  185. printf(" | /|\n");
  186. printf(" | / |\n");
  187. printf(" | / |\n");
  188. printf(" | |\n");
  189. printf(" |\n");
  190. printf(" |\n");
  191. printf(" |\n");
  192. printf(" |\n");
  193. printf(" |\n");
  194. printf(" ---------\n");
  195. break;
  196. case 4:
  197. printf(" +--------------+\n");
  198. printf(" | |\n");
  199. printf(" | |\n");
  200. printf(" | +-----+\n");
  201. printf(" | |0 0|\n");
  202. printf(" | | w |\n");
  203. printf(" | +-----+\n");
  204. printf(" | |\n");
  205. printf(" | |\n");
  206. printf(" | /|\\\n");
  207. printf(" | / | \\\n");
  208. printf(" | / | \\\n");
  209. printf(" | |\n");
  210. printf(" |\n");
  211. printf(" |\n");
  212. printf(" |\n");
  213. printf(" |\n");
  214. printf(" |\n");
  215. printf(" ---------\n");
  216. break;
  217. case 5:
  218. printf(" +--------------+\n");
  219. printf(" | |\n");
  220. printf(" | |\n");
  221. printf(" | +-----+\n");
  222. printf(" | |0 0|\n");
  223. printf(" | | w |\n");
  224. printf(" | +-----+\n");
  225. printf(" | |\n");
  226. printf(" | |\n");
  227. printf(" | /|\\\n");
  228. printf(" | / | \\\n");
  229. printf(" | / | \\\n");
  230. printf(" | |\n");
  231. printf(" | /\n");
  232. printf(" | /\n");
  233. printf(" | /\n");
  234. printf(" |\n");
  235. printf(" |\n");
  236. printf(" ---------\n");
  237. break;
  238. }
  239. if(vida<6){
  240. printf(" ");
  241. for(j=0; j<i; j++){
  242. printf(" %c",palavraaux[j]); //letras acertadas
  243. }
  244. printf("\n erros: ");
  245. for(j=0;j<vida;j++){
  246. printf("%c ", erros[j]);
  247. }
  248. if(endgame==i){
  249. break;
  250. }
  251. }
  252. letra=1;
  253. }
  254. printf("\n");
  255. if(vida==6){
  256. printf(" +--------------+\n");
  257. printf(" | |\n");
  258. printf(" | |\n");
  259. printf(" | +-----+\n");
  260. printf(" | |X X|\n");
  261. printf(" | | --- |\n");
  262. printf(" | +-----+\n");
  263. printf(" | |\n");
  264. printf(" | |\n");
  265. printf(" | /|\\\n");
  266. printf(" | / | \\\n");
  267. printf(" | / | \\\n");
  268. printf(" | |\n");
  269. printf(" | / \\\n");
  270. printf(" | / \\\n");
  271. printf(" | / \\\n");
  272. printf(" |\n");
  273. printf(" |\n");
  274. printf("---------\n");
  275. for(j=0;j<i;j++){
  276. printf(" %c", palavra[j]);
  277. }
  278. printf("\n erros: ");
  279. for(j=0;j<vida;j++){
  280. printf("%c ", erros[j]);
  281. }
  282. printf("\n voce perdeu! :( ");
  283. }
  284. else{
  285. printf("parabens! voce venceu! :)");
  286. }
  287. printf("\n");
  288. printf("deseja jogar novamente?(s/n): ");
  289. while(x==1){
  290. resposta = getche();
  291. if(resposta=='s'){
  292. jogarnovamente = 0;
  293. break;
  294. }
  295. if(resposta=='n'){
  296. jogarnovamente = 1;
  297. break;
  298. }
  299. printf("\33[2K\r");
  300. printf("deseja jogar novamente?(s/n): ");
  301. }
  302.  
  303. system("cls");
  304. }
  305. printf("\n ate a proxima! :)");
  306. }
Add Comment
Please, Sign In to add comment