package prjPersonagem;
import java.util.Random;
import java.util.Scanner;
public class Personagem {
private String nome;
private String classe;
private int vida;
private int mana;
private boolean morto;
private int pontos;
private int qtPocao;
private boolean necroAmigo;
public void setNome(String nome) {
this.nome = nome;
}
public String getNome() {
return this.nome;
}
public void setClasse(String classe) {
this.classe = classe;
}
public String getClasse() {
return this.classe;
}
public void setVida(int vida) {
this.vida = vida;
}
public int getVida() {
return this.vida;
}
public void setMana(int mana) {
this.mana = mana;
}
public int getMana() {
return this.mana;
}
public void setMorto(boolean morto) {
this.morto = morto;
}
public boolean getMorto() {
return this.morto;
}
public void setPontos(int pontos) {
this.pontos = pontos;
}
public int getPontos() {
return this.pontos;
}
public void setQtPocao(int qtPocao) {
this.qtPocao = qtPocao;
}
public int getQtPocao() {
return this.qtPocao;
}
public void setNecroAmigo(boolean necroAmigo) {
this.necroAmigo = necroAmigo;
}
public boolean getNecroAmigo() {
return this.necroAmigo;
}
public void Menu() {
Scanner ler = new Scanner(System.in);
vida = 100;
mana = 100;
qtPocao = 5;
morto = false;
System.out.println(
"Instruções:\n+Siga os comandos para realizar as ações;\n+Você começa com 5 poções que lhe concedem 20 de vida e de mana/energia;\n"
+ "+Cuidado ao usar a poção, mesmo estando com tudo cheio, você bebe a poção!;\n"
+ "+Cada inimigo abatido lhe concede 1 ponto;\n"
+ "+Você também recupera 1 de vida e 1 de mana/energia a cada inimigo eliminado;\n"
+ "+Há chances de você encontrar uma poção em corpos de inimigos mortos;\n"
+ "+Faça o maior número de pontos possíveis;\n" + "+Divirta-se!\n");
System.out.println("Qual o nickname do seu personagem?");
nome = ler.nextLine();
VerificarClasse();
}
public void VerificarClasse() {
Scanner ler2 = new Scanner(System.in);
do {
System.out.println("Escolha uma classe: ([E]spadachim, [C]lérigo, [N]ecromante)");
classe = ler2.next().toUpperCase();
if (!"E".equals(classe) && !"C".equals(classe) && !"N".equals(classe)) {
System.out.println("Classe não existente! Digite 'E','C' ou 'N'!");
}
} while (!"E".equals(classe) && !"C".equals(classe) && !"N".equals(classe));
if ("E".equals(classe))
System.out.println("Você escolheu Espadachim!\n");
if ("C".equals(classe))
System.out.println("Você escolheu Clérigo!\n");
if ("N".equals(classe)) {
System.out.println("Você escolheu Necromante!\n");
necroAmigo = false;
}
}
public void MenuAcao() {
Scanner ler3 = new Scanner(System.in);
String op;
do {
System.out.println("Escolha uma ação: \n1-Tomar poção!\n2-Duelar!\n3-Especial!\n4-Ver status!\n5-Sair.");
op = ler3.nextLine();
switch (op) {
case "1":
TomarPocao();
break;
case "2":
Duelar();
break;
case "3":
Especial();
break;
case "4":
VerStatus();
break;
case "5":
System.out.println("Você fugiu, você fez: " + pontos + " pontos!");
System.exit(0);
break;
default:
System.out.println("Ação não existe!!\n");
break;
}
} while (op != "5" && morto == false);
ler3.close();
}
public void TomarPocao() {
System.out.println("===== ===== ===== ===== =====");
if (qtPocao == 0)
System.out.println("Você não possui mais poções!");
if (qtPocao > 0) {
qtPocao--;
if (vida > 100)
System.out.println("Sua aura permite que você exceda a vida máxima!");
else if (vida >= 80 && vida <= 100) {
vida = 100;
System.out.println("Você está com a Vida cheia!");
}
if (mana >= 80) {
if (!"E".equals(classe)) {
mana = 100;
System.out.println("Você está com a Mana cheia!");
} else {
mana = 100;
System.out.println("Você está com a Energia cheia!");
}
}
if (vida <= 79) {
vida += 20;
System.out.println("Você recuperou 20 de Vida!");
}
if (mana <= 79) {
if (!"E".equals(classe)) {
mana += 20;
System.out.println("Você recuperou 20 de Mana!");
} else {
mana += 20;
System.out.println("Você recuperou 20 de Energia!");
}
}
if (!"E".equals(classe))
System.out.println("Vida: " + vida + " Mana: " + mana);
else
System.out.println("Vida: " + vida + " Energia: " + mana);
}
System.out.println("Poções: " + qtPocao + "\n");
}
public void Duelar() {
Random r = new Random();
int dano = r.nextInt(40);
int nPocao = r.nextInt(10) + 1;
boolean critico = false;
if (dano % 2 != 0 && dano >= 32 && dano <= 36) {
dano *= 2;
critico = true;
}
if (necroAmigo) {
System.out.println("===== ===== ===== ===== =====");
System.out.println("Sua invocação foi morta após eliminar um inimigo!");
necroAmigo = false;
pontos++;
vida++;
mana++;
} else {
if (critico) {
vida = vida - dano;
System.out.println("===== ===== ===== ===== =====");
System.out.println("Você encontrou e matou um inimigo, mas recebeu " + dano + " de dano CRÍTICO!");
if (vida < 0) {
vida = 0;
System.out.println("Sua vida: " + vida);
System.out.println("Você morreu! X_X");
morto = true;
} else
System.out.println("Sua vida: " + vida);
pontos++;
vida++;
mana++;
} else {
vida = vida - dano;
System.out.println("===== ===== ===== ===== =====");
System.out.println("Você encontrou e matou um inimigo, mas recebeu " + dano + " de dano!");
if (vida < 0) {
vida = 0;
System.out.println("Sua vida: " + vida);
System.out.println("Você morreu! X_X");
morto = true;
} else
System.out.println("Sua vida: " + vida);
pontos++;
vida++;
mana++;
}
}
if (nPocao == 1 && morto == false) {
System.out.println("VOCÊ ENCONTROU UMA POÇÃO!");
qtPocao++;
}
if (morto == false)
System.out.println("Poções: " + qtPocao + "\n");
if (morto) {
System.out.println(nome + ", você fez " + pontos + " ponto(s)!");
}
}
public void Especial() {
System.out.println("===== ===== ===== ===== =====");
if ("E".equals(classe)) {
if (mana < 20)
System.out.println("Você não tem Energia o suficiente!\n");
else {
mana -= 20;
System.out.println("[-20 de Energia] Você corta todos os inimigos da área!");
System.out.println("Sua Energia: " + mana + "\n");
pontos += 2;
}
}
if ("C".equals(classe)) {
if (mana < 45)
System.out.println("Você não tem Mana o suficiente!\n");
else {
mana -= 45;
vida += 25;
System.out.println("[-45 de Mana] Você ativa uma aura que lhe concede mais 25 de vida!");
System.out.println("Sua Mana: " + mana + "\n");
}
}
if ("N".equals(classe)) {
if (mana < 60)
System.out.println("Você não tem Mana o suficiente!\n");
else {
mana -= 60;
System.out.println("[-60 de Mana] Você revive um inimigo para lutar ao seu lado!");
necroAmigo = true;
System.out.println("Sua Mana: " + mana + "\n");
pontos += 3;
}
}
}
public void VerStatus() {
String cl = "";
if ("E".equals(classe))
cl = "Espadachim";
if ("C".equals(classe))
cl = "Clérigo";
if ("N".equals(classe))
cl = "Necromante";
System.out.println("===== ===== ===== ===== =====");
System.out.println("Seu nickname: " + nome);
System.out.println("Sua classe: " + cl);
System.out.println("Quantidado de poções: " + qtPocao);
System.out.println("Vida: " + vida);
if ("E".equals(classe))
System.out.println("Energia: " + mana);
else
System.out.println("Mana: " + mana);
System.out.println("===== ===== ===== ===== =====\n");
}
}