All pastes #1953454 Raw Edit

Something

public java v1 · immutable
#1953454 ·published 2010-10-03 15:45 UTC
rendered paste body
// Define qualquer item que o herói possa pegar e adicionar ao seu inventórioabstract class Collectable {	String _Name;	String _Desc;	byte _Type;		public:		// chamado quando é colecionado		byte OnCatch() {			return (byte)true;		}		abstract String Desc();	// retorna descrição		abstract String Name();	// retorna o nome		abstract byte Type();	// retorna o tipo}// Um item consumível quer dizer que depois de usado, irá sumir de seu invenórioclass Consumable extends Collectable {	// Implementamos os métodos de nossa classe abstrata/interface		public void OnCatch() {			}		public String Desc() {		return this->_Desc;	}		public String Name() {		return this->_Name;	}		public byte Type() {		return this->Type;	}		// Novo método! Chamado quando o item é utilizado	// por exemplo, se fosse, sei lá, uma poção de cura, iria curar o heroi e tals	abstract public void Use(Actor target);}// A tal poção de curaclass HealingPotion extends Consumable {	protected int _Amount = 0;		public HealingPotion(String name, String desc, byte type, byte val) {		this->_Name = name;		this->_Type = type;		this->_Amount = val;	}		public void Use(Actor target) {		target->Inflict(val, DMG_HEALING);	}}// Esse tipo de item, ao invés de ser utilizado, pode ser equipado no personagemclass Equippable extends Collectable {	public int OnCatch();		public String Desc() {		return this->_Desc;	}		public String Name() {		return this->_Name;	}		public byte Type() {		return this->Type;	}		abstract public void OnEquip();	abstract public void OnUse();}// um Actor é qualquer coisa que pode interagir// Só está aqui pra mostrar de onde vem o Inflict()abstract class Actor {	// Inflige um tipo de dano no alvo. Pode ser dano de ataque físico, mágico, cura, etc	public int Inflict(int val, byte type);}