Frame et terminal pas d'accord....
Bonjour,
je suis en train de faire le labyrinthe d'un pacman, or je suis tombé sur un problème assez étrange:
lorsque j'affiche la matrice du labyrinthe dans le terminal, c'est dans le bon sens,or lorsque je fais dessiner cette mème matrice dans une frame, ce n'est pas ds le bon sens! Il faut que je fasse une rotation de 90° ds le sens inverse des aiguillles d'1 montre, puis que je la regarde à l'envers pour retrouver ce qui ya ds le terminal!
Or, les méthodes que j'ai utilisées pour l'affichage terminal et pr la frame n'inversent pas les coordonées(enfin je crois)!
Voici le code pr l'affichage frame:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
public void start(String s) {
if (f!=null) return;
f = new JFrame(s);
f.setResizable(false);
f.getContentPane().add(this);
f.pack();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
try {
Thread.sleep(3000);
} catch(Exception e) {}
for(int i=0;i<lab.length;i++){
for(int j=0;j<lab[0].length;j++){
if(lab[i][j]==1){ //voila c ici
traceBloc(i,j);
}
if (lab[i][j]==0){ //et ici
traceVide(i,j);
}
f.getContentPane().add(this);
}
f.getContentPane().add(this);
}
} |
Code:
1 2 3 4 5 6
|
public void traceBloc(int i,int j){
this.Images[i][j]= f.getToolkit().getImage("brick.gif");
this.Gr.drawImage(this.Images[i][j],25*i,25*j,this.f);
f.getContentPane().add(this);
} |
le code est semblable pour traceBloc et tracePacman
Et voici le code pr l'affichage terminal:
Code:
1 2 3 4 5 6 7 8
|
public static void getTab(int lab[][]) {
for (int i=0;i<lab.length;i++){
for (int j=0;j<lab[0].length;j++)
System.out.print(lab[i][j]+" ");
System.out.println();
}
} |
Quelqu'un voit it le probleme?