Advertisement
LightProgrammer000

Jogo da Forca

Apr 11th, 2020
755
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.29 KB | None | 0 0
  1. /*
  2.  * Jogo da Forca
  3.  */
  4.  
  5. package Tarefas_Jogos;
  6.  
  7. // Bibliotecas
  8. import java.util.Arrays;
  9. import java.util.Random;
  10. import java.util.Scanner;
  11.  
  12. public class Jogo_da_Forca
  13. {
  14.     public static void main(String[] args)
  15.     {
  16.         try
  17.         {
  18.             jogar();                        
  19.         }
  20.  
  21.         catch (Exception e)
  22.         {
  23.             //System.err.println(e);            
  24.         }
  25.     }
  26.  
  27.     // Metodo: Programa principal
  28.     private static void jogar()
  29.     {
  30.         // Variaveis
  31.         char letra;
  32.         int erro = 0;
  33.  
  34.         // Variaveis: vetores
  35.         char palavra [] = sorteio_Palavra();// Sorteando palavra e colocando no vetor
  36.         char tabuleiro [] = iniciar_Tabuleiro(palavra); // Inicializando o tabuleiro
  37.  
  38.         // Instanciacao
  39.         Scanner ent = new Scanner(System.in);
  40.  
  41.         while (erro < 8 && !Arrays.equals(tabuleiro, palavra))
  42.         {
  43.             // Chamada de metodo
  44.             exibir_Tabuleiro(tabuleiro);
  45.  
  46.             // Entrada de dados
  47.             System.out.print("\n Informe a letra: ");
  48.             letra = ent.next().toUpperCase().charAt(0);
  49.             System.out.println("\n*----------------------------*");
  50.  
  51.             if ( acertou(letra, palavra) )
  52.             {
  53.                 atualizando_tabuleiro(letra, palavra, tabuleiro);
  54.             }
  55.  
  56.             else
  57.             {
  58.                 System.out.println("* Erro: " + (++erro) + "\n");
  59.             }
  60.         }
  61.  
  62.         // Estrutura de decisao: Analise de acertos
  63.         if (erro == 8)
  64.         {
  65.             System.out.println("\n***********************");
  66.             System.out.println("# Errou");
  67.             palavra_sorteada(palavra);
  68.             System.out.println("\n***********************");
  69.         }
  70.  
  71.         else
  72.         {
  73.             System.out.println("\n***********************");
  74.             System.out.println("# Acertou");
  75.             System.out.println("***********************");
  76.         }
  77.     }
  78.  
  79.     // Funcao: Sorteio da palavra
  80.     private static char[] sorteio_Palavra()
  81.     {
  82.         // Variaveis locais
  83.         int num_sorteio_palavra;
  84.  
  85.         // Instanciacao
  86.         Random rd = new Random();
  87.  
  88.         // Numero para sorteio da palavra: 1 a 10
  89.         num_sorteio_palavra = (rd.nextInt(10) + 1);
  90.  
  91.         // Estrutura de escolha
  92.         switch (num_sorteio_palavra)
  93.         {
  94.             case 1:
  95.                 return new char[] {'U', 'V', 'A'};
  96.  
  97.             case 2:
  98.                 return new char[] {'B','A','N','A','N','A'};
  99.  
  100.             case 3:
  101.                 return new char[] {'A','B','A','C','A','X','I'};
  102.  
  103.             case 4:
  104.                 return new char[] {'M','A','N','G','A'};
  105.  
  106.             case 5:
  107.                 return new char[] {'M','A','R','A','C','U','J','A'};
  108.  
  109.             case 6:
  110.                 return new char[] {'L','A','R','A','N','J','A'};
  111.  
  112.             case 7:
  113.                 return new char[] {'M','O','R','A','N','G','O'};
  114.  
  115.             case 8:
  116.                 return new char[] {'L','I','M','A','O'};
  117.  
  118.             case 9:
  119.                 return new char[] {'A','C','E','R','O','L','A'};
  120.  
  121.             case 10:
  122.                 return new char[] {'C','A','Q','U','I'};
  123.         }
  124.         /*
  125.         case A:
  126.             char palavra_1 [] = {'T', 'E', 'S', 'T', 'E'};
  127.             return palavra_1;
  128.  
  129.         case B:
  130.             return new char[] {'T', 'E', 'S', 'T', 'E'};
  131.         */
  132.  
  133.         return null;
  134.     }
  135.  
  136.     // Metodo: Palavra sorteada
  137.     private static void palavra_sorteada(char palavra[])
  138.     {
  139.         System.out.print("* Palavra: ");
  140.  
  141.         for (int i = 0; i < palavra.length; i++)
  142.         {
  143.             System.out.print(palavra[i]);        
  144.         }
  145.     }
  146.  
  147.     // Metodo: Exibir tabuleiro
  148.     private static void exibir_Tabuleiro(char tabuleiro[])
  149.     {
  150.         for (int i = 0; i < tabuleiro.length; i++)
  151.         {
  152.             System.out.print("  " + tabuleiro[i]);            
  153.         }
  154.        
  155.         System.out.println("");
  156.     }
  157.  
  158.     // Funcao: Montagem do tabuleiro com o tamanho da palavra sorteada
  159.     private static char[] iniciar_Tabuleiro(char palavra[])
  160.     {
  161.         // Variaveis locais
  162.         char aux[] = new char[palavra.length];
  163.        
  164.         for (int i = 0; i < palavra.length; i++)
  165.         {
  166.             aux[i] = '-';
  167.         }
  168.  
  169.         return aux;
  170.     }
  171.  
  172.     // Funcao: Acerto de palavra a letra
  173.     private static boolean acertou(char letra, char palavra[])
  174.     {
  175.         // Estrutura de repeticao
  176.         for (int i = 0; i < palavra.length; i++)
  177.         {
  178.             if (letra == palavra[i])
  179.             {
  180.                 return true;
  181.             }
  182.         }
  183.  
  184.         return false;
  185.     }
  186.  
  187.     // Metodo: Atualizando do tabuleiro
  188.     private static void atualizando_tabuleiro(char letra, char palavra[], char tabuleiro[])
  189.     {
  190.         for (int i = 0; i < tabuleiro.length; i++)
  191.         {
  192.             if (letra == palavra[i])
  193.             {
  194.                 tabuleiro[i] = letra;                                
  195.             }
  196.         }
  197.     }
  198. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement