Menino Posted April 4, 2013 at 02:23 PM Report #501618 Posted April 4, 2013 at 02:23 PM 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
rezanov Posted April 4, 2013 at 03:00 PM Report #501631 Posted April 4, 2013 at 03:00 PM (edited) tenta desta forma: for (Criatura c : LinkedList) { if(c instanceof Verde) { ..... } } Edited April 4, 2013 at 03:00 PM by rezanov
Menino Posted April 4, 2013 at 04:08 PM Author Report #501652 Posted April 4, 2013 at 04:08 PM 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
HappyHippyHippo Posted April 4, 2013 at 04:44 PM Report #501660 Posted April 4, 2013 at 04:44 PM 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 Portugol Plus
Menino Posted April 4, 2013 at 04:48 PM Author Report #501661 Posted April 4, 2013 at 04:48 PM 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
HappyHippyHippo Posted April 4, 2013 at 04:57 PM Report #501662 Posted April 4, 2013 at 04:57 PM 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 Portugol Plus
Menino Posted April 4, 2013 at 05:51 PM Author Report #501686 Posted April 4, 2013 at 05:51 PM 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 🙂
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now