Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.99 KB | None | 0 0
  1. package Trab_Forca;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class Forca {
  6.  
  7. /* Parametros*/
  8.  
  9. private static int qntWork;
  10.  
  11. private static String[] vetWork = { "faculdade", "trabalho", "familia", "festa", "inconstitucional" };
  12.  
  13. private static boolean forcaRun = true;
  14.  
  15. private static int numnumTentativas = 6;
  16.  
  17. private static Scanner sc = new Scanner( System.in );
  18.  
  19.  
  20.  
  21. /* Métodos*/
  22.  
  23. private static void iniciar() {
  24.  
  25. System.out.println( "Digite uma opção:\n1-Inclui uma palavra.\n2-Começar nova Forca.\n3-Sai da Forca." );
  26.  
  27.  
  28.  
  29. while ( forcaRun ) {
  30.  
  31. int opcao = sc.nextInt();
  32.  
  33.  
  34.  
  35. switch ( opcao ) {
  36.  
  37. case 1:
  38.  
  39. System.out.println( "Digite a palavra que gostaria de incluir: " );
  40.  
  41. String palavra = sc.next();
  42.  
  43. inserirPalavra( palavra );
  44.  
  45. break;
  46.  
  47. case 2:
  48.  
  49. rodaForca();
  50.  
  51. break;
  52.  
  53. case 3:
  54.  
  55. exitGame();
  56.  
  57. forcaRun = false;
  58.  
  59. break;
  60.  
  61. default:
  62.  
  63. System.out.println( "Opção inválida. Escolha outra." );
  64.  
  65. break;
  66.  
  67. }
  68.  
  69.  
  70.  
  71. }
  72.  
  73. sc.close();
  74.  
  75. }
  76.  
  77.  
  78.  
  79. private static void rodaForca() {
  80.  
  81. int erros = 0;
  82.  
  83. boolean acertarPalavra = false;
  84.  
  85. String palavraBusca = vetWork[ (int) ( Math.random() * vetWork.length ) ];
  86.  
  87. char[] palavraAuxliar = new char[ palavraBusca.length() ];
  88.  
  89. char[] letras = new char[ palavraBusca.length() ];
  90.  
  91.  
  92.  
  93. System.out.println( "Vamos começar então!" );
  94.  
  95. System.out.println( "Dica: A palavra sorteada tem " + palavraBusca.length() + " letras!" );
  96.  
  97.  
  98.  
  99. for ( int i = 0; i < letras.length; i++ ) {
  100.  
  101. letras[ i ] = palavraBusca.charAt( i );
  102.  
  103. palavraAuxliar[ i ] = '_';
  104.  
  105. System.out.print( " _ " );
  106.  
  107. }
  108.  
  109.  
  110.  
  111. do {
  112.  
  113. System.out.println( "\nDigite uma letra: " );
  114.  
  115. char letra = sc.next().charAt( 0 );
  116.  
  117. int letrasCertas = 0;
  118.  
  119.  
  120.  
  121. for ( int j = 0; j < palavraBusca.length(); j++ ) {
  122.  
  123. if ( letra == letras[ j ] ) {
  124.  
  125. palavraAuxliar[ j ] = letra;
  126.  
  127. letrasCertas++;
  128.  
  129. }
  130.  
  131. }
  132.  
  133.  
  134.  
  135. if ( letrasCertas == 0 ) {
  136.  
  137. erros++;
  138.  
  139. System.out.println( "Opa! Não acertou nenhuma letra! Tente mais uma! Cuidado, restam mais " + ( numnumTentativas - erros ) + " chances!" );
  140.  
  141. imprimePalavra( palavraAuxliar );
  142.  
  143.  
  144.  
  145. } else {
  146.  
  147. if ( palavraBusca.equals( new String( palavraAuxliar ) ) )
  148.  
  149. acertarPalavra = true;
  150.  
  151. else {
  152.  
  153. imprimePalavra( palavraAuxliar );
  154.  
  155. System.out.println( "\nBoa! Você acertou a letra! Continue!" );
  156.  
  157. }
  158.  
  159. }
  160.  
  161. imprimiForca(erros);
  162.  
  163.  
  164. } while ( erros <= numnumTentativas && !acertarPalavra );
  165.  
  166.  
  167.  
  168. if ( acertarPalavra )
  169.  
  170. System.out.println( "PARABÉNS! VOCÊ ACERTOU!" );
  171.  
  172. else
  173.  
  174. System.out.println( "Você foi enforcado!.\nA palavra certa é: " + palavraBusca + "." );
  175.  
  176.  
  177.  
  178. System.out.println( "Deseja jogar denovo?\nS - Sim / N - Não" );
  179.  
  180. char letra = sc.next().charAt( 0 );
  181.  
  182.  
  183.  
  184. if ( letra == 'S' )
  185.  
  186. rodaForca();
  187.  
  188.  
  189.  
  190. }
  191.  
  192.  
  193.  
  194. private static void inserirPalavra( String palavra ) {
  195.  
  196.  
  197.  
  198. String[] vetorAuxiliar = new String[ getvetWork().length + 1 ];
  199.  
  200. int i = 0;
  201.  
  202.  
  203.  
  204.  
  205. for ( String s : getvetWork() ) {
  206.  
  207. vetorAuxiliar[ i ] = s;
  208.  
  209. i++;
  210.  
  211. }
  212.  
  213.  
  214.  
  215. vetorAuxiliar[ i ] = palavra; /* Adiciona a palavra na última posição do vetor Auxiliar; */
  216.  
  217.  
  218.  
  219. setqntWork( vetorAuxiliar.length ); /* O tamanho do vetor agora é o tamanho antigo + 1 da palavra que incluiu */
  220.  
  221. setvetWork( vetorAuxiliar );
  222.  
  223.  
  224.  
  225. imprimeListaPalavras( vetorAuxiliar );
  226.  
  227. iniciar();
  228.  
  229.  
  230. }
  231.  
  232.  
  233.  
  234. private static void exitGame() {
  235.  
  236. System.out.println( "Fim do Programa!" );
  237.  
  238. System.exit( 0 );
  239.  
  240. }
  241.  
  242.  
  243.  
  244. private static void imprimeListaPalavras( String[] palavras ) {
  245.  
  246. for ( String s : palavras )
  247.  
  248. System.out.println( s );
  249.  
  250. }
  251.  
  252.  
  253.  
  254. private static void imprimePalavra( char[] palavra ) {
  255.  
  256. for ( int i = 0; i < palavra.length; i++ )
  257.  
  258. System.out.print( " " + palavra[ i ] + " " );
  259.  
  260. System.out.println("");
  261. }
  262.  
  263.  
  264.  
  265. /* Resultados */
  266.  
  267. public static String[] getvetWork() {
  268.  
  269. return vetWork;
  270.  
  271. }
  272.  
  273.  
  274.  
  275. public static void setvetWork( String[] vetWork ) {
  276.  
  277. ForcaDosCaras.vetWork = vetWork;
  278.  
  279. }
  280.  
  281.  
  282.  
  283. public static int getqntWork() {
  284.  
  285. return qntWork;
  286.  
  287. }
  288.  
  289.  
  290.  
  291. public static void setqntWork( int qntWork ) {
  292.  
  293. ForcaDosCaras.qntWork = qntWork;
  294.  
  295. }
  296.  
  297.  
  298. public static void imprimiForca(int erros){
  299.  
  300. switch(erros){
  301. case 1:
  302. System.out.println(" *****");
  303. System.out.println(" * *");
  304. System.out.println(" *****");
  305. System.out.println(" ");
  306. System.out.println(" ");
  307. System.out.println(" ");
  308. System.out.println(" ");
  309. System.out.println(" ");
  310. System.out.println(" ");
  311. System.out.println(" ");
  312. System.out.println(" ");
  313. System.out.println(" ");
  314. break;
  315. case 2:
  316. System.out.println(" *****");
  317. System.out.println(" * *");
  318. System.out.println(" *****");
  319. System.out.println(" *");
  320. System.out.println(" *");
  321. System.out.println(" * ");
  322. System.out.println(" * ");
  323. System.out.println(" *");
  324. System.out.println(" *");
  325. System.out.println(" ");
  326. System.out.println(" ");
  327. System.out.println(" ");
  328. break;
  329. case 3:
  330. System.out.println(" *****");
  331. System.out.println(" * *");
  332. System.out.println(" *****");
  333. System.out.println(" *");
  334. System.out.println(" **");
  335. System.out.println(" * * ");
  336. System.out.println(" * * ");
  337. System.out.println(" *");
  338. System.out.println(" *");
  339. System.out.println(" ");
  340. System.out.println(" ");
  341. System.out.println(" ");
  342. break;
  343. case 4:
  344. System.out.println(" *****");
  345. System.out.println(" * *");
  346. System.out.println(" *****");
  347. System.out.println(" *");
  348. System.out.println(" ***");
  349. System.out.println(" * * *");
  350. System.out.println(" * * *");
  351. System.out.println(" *");
  352. System.out.println(" *");
  353. System.out.println(" ");
  354. System.out.println(" ");
  355. System.out.println(" ");
  356. break;
  357. case 5:
  358. System.out.println(" *****");
  359. System.out.println(" * *");
  360. System.out.println(" *****");
  361. System.out.println(" *");
  362. System.out.println(" ***");
  363. System.out.println(" * * *");
  364. System.out.println(" * * *");
  365. System.out.println(" *");
  366. System.out.println(" *");
  367. System.out.println(" * ");
  368. System.out.println(" * ");
  369. System.out.println(" * ");
  370. break;
  371. case 6:
  372. System.out.println(" *****");
  373. System.out.println(" * *");
  374. System.out.println(" *****");
  375. System.out.println(" *");
  376. System.out.println(" ***");
  377. System.out.println(" * * *");
  378. System.out.println(" * * *");
  379. System.out.println(" *");
  380. System.out.println(" *");
  381. System.out.println(" * *");
  382. System.out.println(" * *");
  383. System.out.println(" * *");
  384. break;
  385. default:
  386.  
  387. break;
  388. }
  389. }
  390.  
  391.  
  392.  
  393. /* Principal */
  394.  
  395. public static void main( String[] args ) {
  396.  
  397. System.out.println("Qual o seu nome?");
  398.  
  399. String nome = sc.next();
  400.  
  401. System.out.println( "Bem vindo a Forca! " + nome );
  402.  
  403. iniciar();
  404.  
  405. }
  406.  
  407.  
  408. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement