Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Trab_Forca;
- import java.util.Scanner;
- public class Forca {
- /* Parametros*/
- private static int qntWork;
- private static String[] vetWork = { "faculdade", "trabalho", "familia", "festa", "inconstitucional" };
- private static boolean forcaRun = true;
- private static int numnumTentativas = 6;
- private static Scanner sc = new Scanner( System.in );
- /* Métodos*/
- private static void iniciar() {
- System.out.println( "Digite uma opção:\n1-Inclui uma palavra.\n2-Começar nova Forca.\n3-Sai da Forca." );
- while ( forcaRun ) {
- int opcao = sc.nextInt();
- switch ( opcao ) {
- case 1:
- System.out.println( "Digite a palavra que gostaria de incluir: " );
- String palavra = sc.next();
- inserirPalavra( palavra );
- break;
- case 2:
- rodaForca();
- break;
- case 3:
- exitGame();
- forcaRun = false;
- break;
- default:
- System.out.println( "Opção inválida. Escolha outra." );
- break;
- }
- }
- sc.close();
- }
- private static void rodaForca() {
- int erros = 0;
- boolean acertarPalavra = false;
- String palavraBusca = vetWork[ (int) ( Math.random() * vetWork.length ) ];
- char[] palavraAuxliar = new char[ palavraBusca.length() ];
- char[] letras = new char[ palavraBusca.length() ];
- System.out.println( "Vamos começar então!" );
- System.out.println( "Dica: A palavra sorteada tem " + palavraBusca.length() + " letras!" );
- for ( int i = 0; i < letras.length; i++ ) {
- letras[ i ] = palavraBusca.charAt( i );
- palavraAuxliar[ i ] = '_';
- System.out.print( " _ " );
- }
- do {
- System.out.println( "\nDigite uma letra: " );
- char letra = sc.next().charAt( 0 );
- int letrasCertas = 0;
- for ( int j = 0; j < palavraBusca.length(); j++ ) {
- if ( letra == letras[ j ] ) {
- palavraAuxliar[ j ] = letra;
- letrasCertas++;
- }
- }
- if ( letrasCertas == 0 ) {
- erros++;
- System.out.println( "Opa! Não acertou nenhuma letra! Tente mais uma! Cuidado, restam mais " + ( numnumTentativas - erros ) + " chances!" );
- imprimePalavra( palavraAuxliar );
- } else {
- if ( palavraBusca.equals( new String( palavraAuxliar ) ) )
- acertarPalavra = true;
- else {
- imprimePalavra( palavraAuxliar );
- System.out.println( "\nBoa! Você acertou a letra! Continue!" );
- }
- }
- imprimiForca(erros);
- } while ( erros <= numnumTentativas && !acertarPalavra );
- if ( acertarPalavra )
- System.out.println( "PARABÉNS! VOCÊ ACERTOU!" );
- else
- System.out.println( "Você foi enforcado!.\nA palavra certa é: " + palavraBusca + "." );
- System.out.println( "Deseja jogar denovo?\nS - Sim / N - Não" );
- char letra = sc.next().charAt( 0 );
- if ( letra == 'S' )
- rodaForca();
- }
- private static void inserirPalavra( String palavra ) {
- String[] vetorAuxiliar = new String[ getvetWork().length + 1 ];
- int i = 0;
- for ( String s : getvetWork() ) {
- vetorAuxiliar[ i ] = s;
- i++;
- }
- vetorAuxiliar[ i ] = palavra; /* Adiciona a palavra na última posição do vetor Auxiliar; */
- setqntWork( vetorAuxiliar.length ); /* O tamanho do vetor agora é o tamanho antigo + 1 da palavra que incluiu */
- setvetWork( vetorAuxiliar );
- imprimeListaPalavras( vetorAuxiliar );
- iniciar();
- }
- private static void exitGame() {
- System.out.println( "Fim do Programa!" );
- System.exit( 0 );
- }
- private static void imprimeListaPalavras( String[] palavras ) {
- for ( String s : palavras )
- System.out.println( s );
- }
- private static void imprimePalavra( char[] palavra ) {
- for ( int i = 0; i < palavra.length; i++ )
- System.out.print( " " + palavra[ i ] + " " );
- System.out.println("");
- }
- /* Resultados */
- public static String[] getvetWork() {
- return vetWork;
- }
- public static void setvetWork( String[] vetWork ) {
- ForcaDosCaras.vetWork = vetWork;
- }
- public static int getqntWork() {
- return qntWork;
- }
- public static void setqntWork( int qntWork ) {
- ForcaDosCaras.qntWork = qntWork;
- }
- public static void imprimiForca(int erros){
- switch(erros){
- case 1:
- System.out.println(" *****");
- System.out.println(" * *");
- System.out.println(" *****");
- System.out.println(" ");
- System.out.println(" ");
- System.out.println(" ");
- System.out.println(" ");
- System.out.println(" ");
- System.out.println(" ");
- System.out.println(" ");
- System.out.println(" ");
- System.out.println(" ");
- break;
- case 2:
- System.out.println(" *****");
- System.out.println(" * *");
- System.out.println(" *****");
- System.out.println(" *");
- System.out.println(" *");
- System.out.println(" * ");
- System.out.println(" * ");
- System.out.println(" *");
- System.out.println(" *");
- System.out.println(" ");
- System.out.println(" ");
- System.out.println(" ");
- break;
- case 3:
- System.out.println(" *****");
- System.out.println(" * *");
- System.out.println(" *****");
- System.out.println(" *");
- System.out.println(" **");
- System.out.println(" * * ");
- System.out.println(" * * ");
- System.out.println(" *");
- System.out.println(" *");
- System.out.println(" ");
- System.out.println(" ");
- System.out.println(" ");
- break;
- case 4:
- System.out.println(" *****");
- System.out.println(" * *");
- System.out.println(" *****");
- System.out.println(" *");
- System.out.println(" ***");
- System.out.println(" * * *");
- System.out.println(" * * *");
- System.out.println(" *");
- System.out.println(" *");
- System.out.println(" ");
- System.out.println(" ");
- System.out.println(" ");
- break;
- case 5:
- System.out.println(" *****");
- System.out.println(" * *");
- System.out.println(" *****");
- System.out.println(" *");
- System.out.println(" ***");
- System.out.println(" * * *");
- System.out.println(" * * *");
- System.out.println(" *");
- System.out.println(" *");
- System.out.println(" * ");
- System.out.println(" * ");
- System.out.println(" * ");
- break;
- case 6:
- System.out.println(" *****");
- System.out.println(" * *");
- System.out.println(" *****");
- System.out.println(" *");
- System.out.println(" ***");
- System.out.println(" * * *");
- System.out.println(" * * *");
- System.out.println(" *");
- System.out.println(" *");
- System.out.println(" * *");
- System.out.println(" * *");
- System.out.println(" * *");
- break;
- default:
- break;
- }
- }
- /* Principal */
- public static void main( String[] args ) {
- System.out.println("Qual o seu nome?");
- String nome = sc.next();
- System.out.println( "Bem vindo a Forca! " + nome );
- iniciar();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement