Partage
  • Partager sur Facebook
  • Partager sur Twitter

Tableua / Grille Java

Créer une grille en java grace à une map

    14 octobre 2018 à 21:50:43

    Bonjour

    Je suis actuellement sur un projet de génération de labyrinthe aléatoire j'ai donc créé pour commencer un système de grille de cases avec cases remplies cases vides et coordonnées j'ai donc une classe Locaation :

    public class Location {
    	private int x = 0;
    	private int y = 0;
    	
    	public Location(int x,int y) {
    		this.setY(y);
    		this.setX(x);
    	}
    
    	public int getX() {
    		return x;
    	}
    
    	public void setX(int x) {
    		this.x = x;
    	}
    
    	public int getY() {
    		return y;
    	}
    
    	public void setY(int y) {
    		this.y = y;
    	}
    }
    

    Pour représenter des coordonnées, Une classe Prop pour définir le type d'une case (Mur pas mur, Visitée pas visitée(C'est pour plus tard ^^)) :

    public class Prop {
    	private boolean wall = false;
    	private boolean visit = false;
    	
    	public Prop() {}
    	public Prop(boolean wall) {
    		setWall(wall);
    	}
    	
    	public boolean isWall() {
    		return wall;
    	}
    	public void setWall(boolean wall) {
    		this.wall = wall;
    	}
    	public boolean isVisit() {
    		return visit;
    	}
    	public void setVisit(boolean visit) {
    		this.visit = visit;
    	}
    }

    Et j'associe a une Location une Prop su style :

    Map.put(new Location(x,y), new Prop());

    A la fin cela doit faire une grille représentant le labyrinthe mais voila ça marche pas :waw:.

    Voici ma main class (Les while vont être remplacés par des for) :

    public class App {
    	public final static int LABY_SIZE = 10;
    	
        public static void main( String[] args ){
        	Hashtable<Location, Prop> Laby = new Hashtable<Location, Prop>();
        	
        	int i = 0;
        	while (i < LABY_SIZE) {
        		int i2 = 0;
        		while (i2 < LABY_SIZE) {
        			Laby.put(new Location(i2,i), new Prop(true));
        			
        			i2 ++;
        		}
        		
        		i++;
        	}
        	
        	i = 0;
        	while(i < LABY_SIZE) {
        		String fin = "";
        		
        		int i2 = 0;
        		while (i2 < LABY_SIZE) {
        			
        			System.out.println(Laby.keys().nextElement().getX() + " " + Laby.keys().nextElement().getY());
        			
        			/*if(Laby.get(new Location(i2,i)).isWall()) {
        				fin = fin + "-";
        			}else {
        				fin = fin + " ";
        			}*/
        			
        			i2++;
        		}
        		System.out.println(fin);
        		
        		i++;
        	}
        }
    }

    L'erreur :

    Aucune mais ça renvoie ça :

    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7

    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7

    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7

    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7

    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7

    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7

    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7

    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7

    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7

    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7
    1 7

    et c'est pas normal .



    -
    Edité par _IGOLTA_ 14 octobre 2018 à 22:02:10

    • Partager sur Facebook
    • Partager sur Twitter

    Tableua / Grille Java

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown