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"); } }