Bonjour,
Je developpe un petit jeu. Je travaillais avec un double tableau d'objets Cases pour le damier du jeu.
J'ai décidé d'implanter une classe Matrice qui extends AbstractCollection.
Mais j'ai quelques petits problèmes dans le rete de mon jeu pour utiliser la boucle for étendue..
Je vous met quelques sources:
Classe Matrice:
Code :
- package Moteur;
- import java.util.*;
- public class Matrice<E> extends AbstractList implements Iterable {
- ArrayList<E> matrice=new ArrayList<E>();
- int coteX;
- int coteY;
- E get(int x, int y) throws IllegalArgumentException{
- if(x<0 || x>=coteX || y<0 || y>=coteY )
- throw new IllegalArgumentException();
- return get(coteX*y+x);
- }
- public E get(int index) throws IllegalArgumentException{
- if(index<0 || index>=size())
- throw new IllegalArgumentException();
- return matrice.get(index);
- }
- public int size(){
- return matrice.size();
- }
- public Iterator<E> iterator(){
- return matrice.iterator();
- }
- public Iterator<E> iterateurPionBloque(Position p){
- return new IterateurPionBloque<E>(this,p);
- }
- public void add(E o){
- matrice.add(o);
- }
- Matrice(int coteX,int coteY){
- this.coteX=coteX;
- this.coteY=coteY;
- }
- }
- ...
|
Et la manière dont je veux utiliser ma matrice:
Code :
- public Matrice<Case> cases = new Matrice<Case>(Cstes.cotePlateauX,Cstes.cotePlateauY);
|
Jusqu'ici pas de problèmes..
Mais la:
Code :
- for(Matrice<Case> m:cases)
- m.initialisation();
|
Ca me souligne cases en rouge et ca me dit: cannot convert Object to Case.
Ca c'est sur qu'on peut pas convertit un objet en Case, mais c'est pas ce que j'ai voulu faire..
J'ai juste parcourir mes Cases..
Si quelqu'un a une idée de comment parcourir mes cases avec la boucle for étendue..
Merci
Message édité par milootooloo le 07-01-2006 à 02:40:35