Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Simulador_de_batalha/.classpath Simulador_de_batalha/.project Simulador_de_batalha org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature Simulador_de_batalha/.settings/org.eclipse.jdt.core.prefs eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.8 Simulador_de_batalha/bin/Armas/Arco.class Simulador_de_batalha/bin/Armas/Arma.class Simulador_de_batalha/bin/Armas/Armavel.class Simulador_de_batalha/bin/Armas/Lanca_de_cavaleiro.class Simulador_de_batalha/bin/Armas/Lanca_de_piqueiro.class Simulador_de_batalha/bin/Personagens/Arqueiro.class Simulador_de_batalha/bin/Personagens/Batalha.class Simulador_de_batalha/bin/Personagens/Cavaleiro.class Simulador_de_batalha/bin/Personagens/Especialidade_do_arqueiro.class Simulador_de_batalha/bin/Personagens/Especialidade_do_cavaleiro.class Simulador_de_batalha/bin/Personagens/Especialidade_do_piqueiro.class Simulador_de_batalha/bin/Personagens/Piqueiro.class Simulador_de_batalha/bin/Personagens/Simulador.class Simulador_de_batalha/bin/Personagens/Soldados.class Simulador_de_batalha/bin/Personagens/Unidade.class Simulador_de_batalha/bin/Pontuacao/Danos.class Simulador_de_batalha/bin/Pontuacao/Modificar.class Simulador_de_batalha/bin/Pontuacao/Valor.class Simulador_de_batalha/bin/Principal/Main.class Simulador_de_batalha/bin/Randomico/Aleatorio.class Simulador_de_batalha/src/Armas/Arco.java package Armas; import Pontuacao.Danos; import Randomico.Aleatorio; public class Arco extends Arma { protected int _ataque = 15; protected int _dados = Danos.D06.valor(); Aleatorio v06 = new Aleatorio(Pontuacao.Danos.D06.valor()); public Arco() { super(); } } Simulador_de_batalha/src/Armas/Arma.java package Armas; import Randomico.Aleatorio; public abstract class Arma implements Armavel { protected int _ataque; protected int _dados; public Arma() { } public int infringir() { return _ataque + new Aleatorio(_dados).sortear(); } } Simulador_de_batalha/src/Armas/Armavel.java package Armas; public abstract interface Armavel { int infringir(); } Simulador_de_batalha/src/Armas/Lanca_de_cavaleiro.java package Armas; import Pontuacao.Danos; public class Lanca_de_cavaleiro extends Arma { protected int _ataque = 12; protected int _dados = Danos.D08.valor(); public Lanca_de_cavaleiro() { super(); } } Simulador_de_batalha/src/Armas/Lanca_de_piqueiro.java package Armas; import Pontuacao.Danos; public class Lanca_de_piqueiro extends Arma { protected int _ataque = 15; protected int _dados = Danos.D12.valor(); public Lanca_de_piqueiro() { super(); } } Simulador_de_batalha/src/Personagens/Arqueiro.java package Personagens; import Pontuacao.Modificar; import Pontuacao.Danos; import Randomico.Aleatorio; public class Arqueiro extends Unidade implements Especialidade_do_arqueiro { protected int precisao = Modificar.ESPECIALISTA.valor(); protected Aleatorio d12 = new Aleatorio(Danos.D12.valor()); public Arqueiro(String nome, int nivel) { super(nivel, nome); _nome = nome; } public int Mirar() { return (d12.sortear() * precisao); } public int Atacar() { return habilidade + forca + Mirar(); } } Simulador_de_batalha/src/Personagens/Batalha.java package Personagens; import Armas.Armavel; import Personagens.Simulador; import Randomico.Aleatorio; public class Batalha { int _dados; Armavel _aArma; Armavel _bArma; Simulador _a; Simulador _b; Aleatorio v20 = new Aleatorio(Pontuacao.Danos.D20.valor()); public Batalha(Simulador exercicitoA, Armavel _aArma, Simulador exercicitoB, Armavel _bArma) { _a = exercicitoA; this._aArma = _aArma; _b = exercicitoB; this._bArma = _bArma; } public void iniciar(Simulador a, Simulador b) { a.vitalizar(); b.vitalizar(); } public void acao(Simulador a, Armavel aArma, Simulador b) { b.prejudicar(a, a.atacar(_aArma) + v20.sortear(), aArma); } public void informar(Simulador a, Simulador b) { if (a.vivo()) { System.out.println(a + "(" + a.informar() + ")" + " ataca " + b + "(" + b.informar() + ")"); } } public boolean vencer(Simulador a, Simulador b) { if (b.vivo() == false) { System.out.println(a + "vence!"); return true; } return false; } public void jogo() { iniciar(_a, _b); while (_a.vivo() == true && _b.vivo() == true) { acao(_a, _aArma, _b); informar(_a, _b); vencer(_a, _b); acao(_b, _bArma, _a); informar(_b, _a); vencer(_b, _a); } } } Simulador_de_batalha/src/Personagens/Cavaleiro.java package Personagens; import Armas.Armavel; import Armas.Lanca_de_cavaleiro; import Pontuacao.Modificar; import Pontuacao.Valor; @SuppressWarnings("unused") public class Cavaleiro extends Unidade implements Especialidade_do_cavaleiro { protected int _forca = Modificar.ESPECIALISTA.valor(); protected Armavel arma = new Lanca_de_cavaleiro(); public Cavaleiro(String nome, int nivel) { super(nivel, nome); } public int Fortalecer() { return habilidade + _forca * _nivel; } public int Defender() { return habilidade + this.Fortalecer(); } } Simulador_de_batalha/src/Personagens/Especialidade_do_arqueiro.java package Personagens; public interface Especialidade_do_arqueiro { int Mirar(); } Simulador_de_batalha/src/Personagens/Especialidade_do_cavaleiro.java package Personagens; public interface Especialidade_do_cavaleiro { int Fortalecer(); } Simulador_de_batalha/src/Personagens/Especialidade_do_piqueiro.java package Personagens; public interface Especialidade_do_piqueiro { int Fugir(); } Simulador_de_batalha/src/Personagens/Piqueiro.java package Personagens; import Armas.Armavel; import Randomico.Aleatorio; import Pontuacao.Modificar; import Pontuacao.Danos; public class Piqueiro extends Unidade implements Especialidade_do_piqueiro { protected int fugir = Modificar.ESPECIALISTA.valor(); protected Aleatorio d06 = new Aleatorio(Danos.D06.valor()); public Piqueiro(String nome, int nivel) { super(nivel, nome); } @Override public int Fugir() { return (d06.sortear() * fugir); } public void prejudicar(Simulador a, int dano, Armavel arma) { if (a.atacar(arma) > (this.defender() + this.Fugir())) { this.vitalidade += -(dano - this.defender()); } this.vitalidade += 0; } } Simulador_de_batalha/src/Personagens/Simulador.java package Personagens; import Armas.Armavel; public interface Simulador { int atacar(Armavel arma); int defender(); int informar(); void vitalizar(); boolean vivo(); void prejudicar(Simulador a, int dano, Armavel arma); } Simulador_de_batalha/src/Personagens/Soldados.java package Personagens; import java.util.ArrayList; import Personagens.Simulador; public class Soldados { ArrayList<Simulador> time = new ArrayList<Simulador>(); public void reunir(Simulador a, Simulador b) { time.add(a); time.add(b); } public void retirar(Simulador k) { if (k.vivo() != true) time.remove(k); } public int membros() { return time.size(); } } Simulador_de_batalha/src/Personagens/Unidade.java package Personagens; import Pontuacao.Modificar; import Pontuacao.Valor; import Armas.Armavel; public abstract class Unidade implements Simulador { protected String _nome; protected final int _nivel; protected int vitalidade; protected int habilidade = Valor.BASICO.valor(); protected int precisao = Modificar.GENERALISTA.valor(); protected int evasao = Modificar.GENERALISTA.valor(); protected int forca = Modificar.GENERALISTA.valor(); public Unidade(int nivel, String nome) { _nivel = nivel; _nome = nome; } public boolean vivo() { return this.vitalidade > 0; } public int informar() { return this.vitalidade; } public void vitalizar() { this.vitalidade = Valor.AVANCADO.valor() + forca*_nivel; } public void prejudicar(Simulador a, int dano, Armavel arma) { if(a.atacar(arma) > this.defender()) { this.vitalidade += -(dano = this.defender()); } this.vitalidade += 0; } public int atacar(Armavel arma) { if(this.vivo() == true) { return habilidade + forca*_nivel + arma.infringir(); } return 0; } public int defender() { return habilidade + forca*_nivel; } public String toString() { return String.format(this.getClass().getSimpleName()) + " " + String.format(this._nome); } } Simulador_de_batalha/src/Pontuacao/Danos.java package Pontuacao; public enum Danos { D06(6), D08(8), D12(12), D20(20); private int valor; private Danos(int numeroValor) { this.valor = numeroValor; } public int valor() { return valor; } } Simulador_de_batalha/src/Pontuacao/Modificar.java package Pontuacao; public enum Modificar { GENERALISTA(1), ESPECIALISTA(2); private int valor; private Modificar(int numeros) { this.valor = numeros; } public int valor() { return valor; } } Simulador_de_batalha/src/Pontuacao/Valor.java package Pontuacao; public enum Valor { BASICO(5), INTERMEDIARIO(10), AVANCADO(60); int valor; private Valor(int valor) { this.valor = valor; } public int valor() { return valor; } } Simulador_de_batalha/src/Principal/Main.java package Principal; import Armas.Arco; import Armas.Arma; import Armas.Armavel; import Armas.Lanca_de_cavaleiro; import Personagens.Batalha; import Personagens.Arqueiro; import Personagens.Cavaleiro; @SuppressWarnings("unused") public class Main { public static void main(String[] args) { Cavaleiro cavaleiro = new Cavaleiro("EQUIPE A ", 4); Arma arma = new Lanca_de_cavaleiro(); Arqueiro arqueiro = new Arqueiro("EQUIPE B ", 12); Arma arco = new Arco(); Batalha batalha = new Batalha(cavaleiro, arma, arqueiro, arco); batalha.jogo(); } } Simulador_de_batalha/src/Randomico/Aleatorio.java package Randomico; import java.util.Random; import Randomico.Aleatorio; public class Aleatorio { int _sorte; private static int um = 1; public Aleatorio(int sorte) { _sorte = sorte; } public Aleatorio(Aleatorio sortear) { _sorte = sortear.sortear(); } public int sortear() { return (um + new Random().nextInt()); } }
Compartilhar