Buscar

Simulador de combate

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

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando