Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Menino

LinkedList

Recommended Posts

Menino

Saudações pessoal,

Estou com um problema que é o seguinte tenho uma LinkedList com Criaturas lá dentro, mas estas criaturas têm tipos diferentes, ou seja, umas são verdes, outras amarelas, etc etc e o que eu quero fazer é percorrer a linkedList até um determinado tipo e poder manipular este tipo.

A ideia é agarrar no tipo verde e dizer para eles sairem com um espaçamento de x tempo entre eles, para na interface gráfica não aparecerem todos uns em cima dos outros.

Obrigado

Share this post


Link to post
Share on other sites
rezanov

tenta desta forma:

for (Criatura c : LinkedList)
{
 if(c instanceof Verde)
 {
		 .....
 }
}

Edited by rezanov

Share this post


Link to post
Share on other sites
Menino

Imagina que tenho uma classe Criatura abstracta e tenho 2 classes que estendem da classe criatura de nome Verde e Azul, criei um enumerado para dar um tipo ás criaturas para poder manipular na linkedList.

Na classe que desenha o jogo tenho então a likedList com a lista de criaturas e essa lista vai ter por exemplo 20 criaturas verdes e 10 azuis.

O que quero fazer é fazer com que as criaturas verdes apareçam no ecrã com espaço entre elas ou seja sai a primeira criatura verde e passado 1 segundo sai a outra criatura verde e assim sucessivamente e quando chegar á ultima criatura verde esperar 5 segundos e depois começar a sair a 1º criatura azul.

Assim já me expliquei melhor?

Obrigado

Share this post


Link to post
Share on other sites
HappyHippyHippo

criei um enumerado para dar um tipo ás criaturas para poder manipular na linkedList.

isso não faz sentido, não existe necessidade de criar um enum para distinguir o tipo, a classe já faz essa destinção

uma solução para o teu problema:

List todos = new LinkedList<Criatura>();
List verdes = new LinkedList<Criatura>();
List azuis = new LinkedList<Criatura>();

for (int i = 0; i < 20; i++)
{
 Verde v = new Verde();
 todos.add(v);
 verdes.add(v);
}

for (int i = 0; i < 10; i++)
{
 Azul a = new Azul();
 todos.add(a);
 azuis.add(a);
}

agora tens tudo separado (e junto) dependendo da necessidade


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Menino

O numero de criaturas é gerado num random. Eu criei um tipo porque como as criaturas estendem todas do TesteCriaturas e são inicializadas na classe Main pensei que fosse preciso para poder manipular na linklist

Share this post


Link to post
Share on other sites
HappyHippyHippo

O numero de criaturas é gerado num random. Eu criei um tipo porque como as criaturas estendem todas do TesteCriaturas e são inicializadas na classe Main pensei que fosse preciso para poder manipular na linklist

isso é irrelevante para o exemplo que apresentei


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Menino

Sim sim tens razão, bem fiz asneira e apaguei o projecto que estou a fazer e agora estou a correr um programa para ver se o recupero, se recuperar vou experimentar as vossas dicas se não vou ter que começar de novo :s

Obrigado pelas dicas :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.