Ir ao conteúdo
  • Cadastre-se

Java Como faço para esse código salvar ou carregar em arquivos e fazer o boneco?


Posts recomendados

package forcap2;

public class Aplicacao {

private Aplicacao() { } public static void main(String[] args) { Dicionario dicionario = new DicionarioArray(); Forca forca = new ForcaConsole(dicionario); forca.play(); }}

package forcap2;
public interface Dicionario {

public String sorteio();

}

package forcap2;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Random;
import java.util.Scanner;

public class DicionarioArray implements Dicionario
{
String[] Palavras;
public void DicionarioArray(String[] args){
String[] Leitor;
File arq = new File(“Pala.txt”);
try {
Scanner entrada = new Scanner(arq);
Leitor=entrada.nextLine().split(" ");
Palavras = Leitor;
for(int i = 0; i < Leitor.length;i++){
System.out.println(Leitor[i]);
}

} catch (FileNotFoundException ex) {
System.out.println(“A Palavra não exixte!”);
}
}

@Override
public String sorteio()
{
String[] Leitor;
File arq = new File(“src\forcap2\Pala.txt”);
try {
Scanner entrada = new Scanner(arq);
Leitor=entrada.nextLine().split(" ");
Palavras = Leitor;

Random random = new Random();

int index = random.nextInt(Palavras.length); return Palavras[index];

}
// System.out.println(entrada.nextLine());
catch (FileNotFoundException ex) {
System.out.println(“A Palavra não exixte!”);
}
return null;
}
}
package forcap2;

import java.util.ArrayList;
import java.util.List;

public abstract class Forca
{

private final int TempoMax = 10;

private int Tentativas;

private final Dicionario dicionario;

private List correctLetters;

private List incorrectLetters;

private String PalavraSecreta;

public Forca(Dicionario dicionario)
{
this.dicionario = dicionario;
}

public abstract void play();

protected void initialize()
{
PalavraSecreta = dicionario.sorteio();

correctLetters = new ArrayList<>(); for(int i = 0; i < this.PalavraSecreta.length(); i++) { correctLetters.add('_'); } incorrectLetters = new ArrayList<>(); Tentativas = 1;

}

protected void check(char letter)
{
boolean Checarsecreta = false;

Tentativas = Tentativas + 1; for(int i = 0; i < PalavraSecreta.length(); i++) { if(PalavraSecreta.charAt(i) == letter) { Checarsecreta = true; correctLetters.set(i, letter); } } if(!Checarsecreta) { incorrectLetters.add(letter); }

}

protected boolean LetraRepetida(char letter)
{
return correctLetters.contains(letter) ||
incorrectLetters.contains(letter);
}

protected boolean PerdeuJogo()
{
return Vitoria() || Derrota();
}

protected boolean Derrota()
{
return incorrectLetters.size() == TempoMax;
}

protected boolean Vitoria()
{
return !correctLetters.contains(’_’);
}

protected int getTentativas()
{
return Tentativas;
}

protected String getCorrectLetters()
{
StringBuilder out = new StringBuilder();

for(int i = 0; i < correctLetters.size(); i++) { out.append(correctLetters.get(i)); out.append(" "); } return out.toString();

}

protected String getIncorrectLetters()
{
int i = 0;

StringBuilder out = new StringBuilder(); for(; i < incorrectLetters.size(); i++) { out.append(incorrectLetters.get(i)); out.append(" "); } for(; i < TempoMax; i++) { out.append("_"); out.append(" "); } return out.toString();

}

protected String getPalavraSecreta()
{
StringBuilder out = new StringBuilder();

for(int i = 0; i < PalavraSecreta.length(); i++) { out.append(PalavraSecreta.charAt(i)); out.append(" "); } return out.toString();

}}

package forcap2;
import java.util.Scanner;

public class ForcaConsole extends Forca
{

public ForcaConsole(Dicionario dicionario)
{
super(dicionario);
}

@Override
public void play()
{
try (Scanner scanner = new Scanner(System.in)) {
boolean readInput = true;

String input = null; initialize(); while(!PerdeuJogo()) { System.out.println("Tentativa : " + getTentativas()); System.out.println("Palavra : " + getCorrectLetters()); System.out.println("Forca : " + getIncorrectLetters()); readInput = true; input = null; while(readInput) { System.out.print("Letra : "); input = scanner.nextLine().toUpperCase(); if((input == null) || (input.length() == 0) || (!Character.isAlphabetic(input.codePointAt(0)))) { System.out.println("Erro : forneça um letra válida!"); } else if(LetraRepetida(input.charAt(0))) { System.out.println("Erro : letra já fornecida!"); } else { readInput = false; } } check(input.charAt(0)); System.out.println(); } } System.out.println("Tentativa : " + getTentativas()); System.out.println("Palavra : " + getPalavraSecreta()); System.out.println("Forca : " + getIncorrectLetters()); if(Vitoria()) { System.out.println("Parabéns! Você descobriu!"); } else { System.out.println("Desculpa, não foi dessa vez!"); }

}
}
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Amigo, por favor tente seguir essas recomendações:

  • Quando postar um código, por favor use o botão code ' < > ' presente no editor do fórum, ele ajuda na legibilidade do código e evita possíveis perdas de caracteres.
  • Se seu problema é relacionado a um exercício, poste o enunciado para termos uma ideia do objetivo e dos requisitos.
  • Procure informar o que seu código deveria fazer e o que ele está fazendo. E se possível os passos que devemos seguir para reproduzir o erro.

Parecem coisas bobas, mas isso ajuda demais quem quer ajudar você.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...