Bom dia!
Usando Classes e Objetos em Java, o projeto não tem Encapsulamento e nem Herança, pois estou aprendendo. Assim que eu aprender sobre Encapsulamento e Herança, eu atualizo o projeto.
Como posso melhoras esse projeto? Como posso otimizar esse projeto?
Tive que mudar um pouco o código, por tem limite de linha kkkkk
import java.util.Random;
public class Personagem {
String classe;
String nome;
int vida;
int danomin;
int danomax;
// PRINT INFORMAÇÂO DOS PERSONAGEM
void Informacao(){
System.out.println("\nClasse: " +classe+ "\n");
System.out.println("\nVida: " +vida+ " HP\n");
System.out.println("\nDano: " +danomin + " a " +danomax+ "\n");
}
//CALCULAR DANO
int calcularDano(){
Random random = new Random();
return random.nextInt(danomax - danomin + 1) + danomin;
}
}
import java.util.Scanner;
public class App{
public static void main(String[] args) {
Scanner leitura = new Scanner(System.in);
// Nome do Personagem / Jogador que escolhe
System.out.println("Nome do seu Personagem ?");
String nomePersonagem = leitura.nextLine();
System.out.println("Olá, "+nomePersonagem + " Seja BEM VINDO\n");
// Criação do Primeiro Personagem
//Personagem Guerreiro
Personagem p1 = new Personagem();
p1.classe = "Guerreiro";
p1.nome = nomePersonagem;
p1.vida = 30;
p1.danomax = 12;
p1.danomin = 5;
//Personagem Mago
Personagem p2 = new Personagem();
p2.classe = "Mago";
p2.nome = nomePersonagem;
p2.vida = 25;
p2.danomax = 14;
p2.danomin = 7;
//Criação dos Inimigo
Personagem i1 = new Personagem();
i1.nome = "Teemo";
i1.vida = 20;
i1.danomax = 10;
i1.danomin = 5;
// Fim Criação dos Inimigo
// INICIO MENU INFORMAÇÂO DOS PERSONAGEM
p1.Informacao();
System.out.println("********");
p2.Informacao();
System.out.println("********");
// ESCOLHA DO PERSONAGEM
boolean escolhaInvalida = false;
Personagem jogador = null;
while (!escolhaInvalida) {
//TEXTO DO MENU ESCOLHA
String menuEscolha = """
1- GUERREIRO
2- MAGO
Qual Classe deseja Jogar ?""";
System.out.println(menuEscolha);
int escolha = leitura.nextInt();
switch (escolha){
case 1:
jogador = p1;
escolhaInvalida = true;
p1.Informacao();
System.out.println("\nCLASSE ESCOLHIDA COM SUCESSO\n");
break;
case 2:
jogador = p2;
escolhaInvalida = true;
p2.Informacao();
System.out.println("\nCLASSE ESCOLHIDA COM SUCESSO\n");
break;
default:
System.out.println("Opação Invalida!!!");
break;
}
}
// COMEÇO DO JOGOS
System.out.println("\n************************\n");
System.out.println("BORA JOGAR AS LUTAS!!!!!!!");
System.out.println("\n************************\n");
// NIVEL 1
System.out.println("NIVEL 1");
while (jogador.vida > 0 && i1.vida > 0){
//JOGANDO ATACANDO
if (jogador.vida > 0) {
System.out.println(jogador.nome + " Atacando");
int danoPersonagem = jogador.calcularDano();
i1.vida -= danoPersonagem;
System.out.println("Dano Causado: " + danoPersonagem + "\nVida do Inimigo: " + i1.vida);
}
//VERIFICANDO VIDA DO INIMIGO
if (i1.vida <= 0) {
System.out.println("Inimigo Derrotado!");
break;
}
// INIMIGO ATACANDO
if (i1.vida > 0) {
System.out.println(i1.nome + " Está Atacando");
int danoInimigo = i1.calcularDano();
jogador.vida -= danoInimigo;
System.out.println("Dano Causado: " + danoInimigo + "\nSua Vida: " + jogador.vida);
}
// VERIFICANDO VIDA DO JOGADOR
if (jogador.vida <= 0) {
System.out.println("Você foi derrotado!!");
break;
}}}}