Duvida instanciamento

1 resposta
B

Boa noite!
Estou fazendo um trabalho para faculdade onde preciso criar um pequeno jogo RPG utilizando a matéria aprendida em aula, porém estou com problema no codigo abaixo, onde estou tentando criar um arraylist de itens que serão dropados quando derrotar um monstro.

problema 1: na classe ControleDeItens só consigo instanciar a classe Itens se estiver dentro de um método, caso contrario aparece erro de sintaxe.
problema 2: se coloco dentro de um método não consigo acessar este método da classe ControleDeJogo também aparece erro de sintaxe

import java.util.Scanner;

public class ControleDeJogo {

	ControleDeItens controleDeItens;
	Personagem personagem;
	Scanner leitor = new Scanner(System.in);
	
	public void criarJogo(){
		personagem=criarPersonagem();
	}//criarJogo
	
	public Personagem criarPersonagem(){
		System.out.println("Classe:\n1-Guerreiro:\n2-Mago:\n3-Arqueiro\n4-Ladino\n0-Voltar so menu:");
		int opcao = leitor.nextInt();
		
		if(opcao == 1){
			Guerreiro guerreiro = new Guerreiro();
			guerreiro.inserirDados();
			return guerreiro;
		}else if(opcao == 2){
			Mago mago = new Mago();
			mago.inserirDados();
			return mago;
		}else if(opcao == 3){
			Arqueiro arqueiro = new Arqueiro();
			arqueiro.inserirDados();
			return arqueiro;
		}else{			
			Ladino ladino = new Ladino();
			ladino.inserirDados();
			return ladino;
		}
	}
}
import java.util.ArrayList;

public class ControleDeItens {
	
	ArrayList<Item> itens = new ArrayList<>();
	
	public void criarItem(){
		Item novoItem = new Item();
		novoItem.setTipo("teste");
		novoItem.setNome("teste");
		novoItem.setForca(1);
		novoItem.setPrecisao(1);
		novoItem.setDestreza(1);
		novoItem.setInteligencia(1);
		novoItem.setDefFisica(1);
		novoItem.setDefMagica(1);
		itens.add(novoItem);
	}
}
public class Item {

	String nome,tipo;
	int forca, precisao, destreza, inteligencia, dFisica, dMagica;
	
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public int getForca() {
		return forca;
	}
	public void setForca(int forca) {
		this.forca = forca;
	}
	public int getPrecisao() {
		return precisao;
	}
	public void setPrecisao(int precisao) {
		this.precisao = precisao;
	}
	public int getDestreza() {
		return destreza;
	}
	public void setDestreza(int destreza) {
		this.destreza = destreza;
	}
	public int getInteligencia() {
		return inteligencia;
	}
	public void setInteligencia(int inteligencia) {
		this.inteligencia = inteligencia;
	}
	public int getDefFisica() {
		return dFisica;
	}
	public void setDefFisica(int dFisica) {
		this.dFisica = dFisica;
	}
	public int getDefMagica() {
		return dMagica;
	}
	public void setDefMagica(int dMagica) {
		this.dMagica = dMagica;
	}
	public String getTipo() {
		return tipo;
	}
	public void setTipo(String tipo) {
		this.tipo = tipo;
	}
}

1 Resposta

RodrigoKaos

Coloca em escopo global, e instancia no construtor.

Criado 4 de junho de 2014
Ultima resposta 5 de jun. de 2014
Respostas 1
Participantes 2