Pessoal, tenho um trabalho quase já terminado que é o jogo da forca.
Mas eu preciso substituir os _ _ (underline) pelas letras digitadas pelo usuário e eu simplesmente não consigo resolver esse problema… Já pesquisei e nada. Alguem ai pode me dar uma luz?
import java.util.*;
public class jogodaforca {
public static void main(String[] args) {
String[] listapalavras =
{"hadouken", "kamehameha", "tatsumaki","pegadinhadomalandro",
"dorgas", "riariariariariaria", "cachorrodorgado", "joselito", "escrotizar"};
char[] letrasNaoSelecionadas = new char[26];
char[] palavra;
String a,tracos,psorteada;
char letra;
int b,c,novojogo;
char[] Alfabeto = {'a','b','c','d','e','f','g','h','i','j','k',
'l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
char[] letranaousadas = new char[26];
char[] letrasAdivinhadas_X_Posicao;
int vitoria =0,derrota=0, partidas =0;
boolean achouLetra = false;
boolean Jogonovo = false;
boolean palpiteCorreto = false;
Scanner input = new Scanner(System.in);
Scanner inputs = new Scanner(System.in);
Scanner put = new Scanner(System.in);
System.out.printf("Digite seu nome:");
a = inputs.nextLine();
System.out.printf("Digite sua matrícula:");
b = input.nextInt();
System.out.printf("Digite seu CPF:");
c = input.nextInt();
while (Jogonovo = true)
{
int vidas=6;
int indpalavra = (int) (Math.random() * listapalavras.length);
psorteada = listapalavras[indpalavra];
int tam_palavrasort = psorteada.length();
tracos = "";
//transformando a palavra em traços
for (int i = 0; i < psorteada.length(); i++) {
tracos += " _ ";
}
System.out.printf("%s\n",tracos);
System.out.printf("Ae...\n");
System.out.printf("Tenta não perder!\n");
System.out.println("Bem simples... Digite uma letra, maiúscula:");
while (vidas>=0)
{
for(int i = 0; i < letrasNaoSelecionadas.length; i++)
letrasNaoSelecionadas[i] = Alfabeto[i];
if (vidas==6){
System.out.println(" _______");
System.out.println(" |");
System.out.println(" |");
System.out.println(" |");
System.out.println(" |");
System.out.println(" |");
}
if (vidas==5){
System.out.println(" _______");
System.out.println(" | o");
System.out.println(" |");
System.out.println(" |");
System.out.println(" |");
System.out.println(" |");
}
if (vidas==4){
System.out.println(" _______");
System.out.println(" | o");
System.out.println(" | |");
System.out.println(" |");
System.out.println(" |");
System.out.println(" |");
}
if (vidas==3) {
System.out.println(" _______");
System.out.println(" | o");
System.out.println(" | |");
System.out.println(" | |");
System.out.println(" |");
System.out.println(" |");
}
if (vidas==2) {
System.out.println(" _______");
System.out.println(" | o");
System.out.println(" | |");
System.out.println(" | | |");
System.out.println(" |");
System.out.println(" |");
}
if (vidas==1){
System.out.println(" _______");
System.out.println(" | (o");
System.out.println(" | |");
System.out.println(" | | |");
System.out.println(" |");
System.out.println(" |");
}
if (vidas==0) {
System.out.println(" _______");
System.out.println(" | (o)");
System.out.println(" | |");
System.out.println(" | | |");
System.out.println(" |");
System.out.println(" |");
}
System.out.printf("Digite letra:\n");
letra = put.nextLine().charAt(0);
//Simplesmente não consigo deduzir a lógica da substituição dos _ pelas letras digitadas!
//
vidas--;
}
System.out.println("Você quer jogar novamente?");
System.out.println("1 - Sim.");
System.out.println("2 - Não.");
novojogo = input.nextInt();
if (novojogo == 1)
{
Jogonovo = true;
vitoria++;
}
if (novojogo == 2)
{
System.out.printf("Nome:%s\n",a);
System.out.printf("Matrícula:%d\n",b);
System.out.printf("CPF:%d\n",c);
System.out.printf("Partidas%d\n",partidas);
System.out.printf("Você perdeu %d vez(es)\n",derrota);
System.out.printf("Você vendeu %d vez(es)\n",vitoria);
System.out.printf("Digite seu nome:");
a = inputs.nextLine();
System.out.printf("Digite sua matrícula:");
b = input.nextInt();
System.out.printf("Digite seu CPF:");
c = input.nextInt();
Jogonovo = true;
}
}
}
}