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 : Sélectionner tout - Visualiser dans une fenêtre à part
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); } }le code est semblable pour traceBloc et tracePacman
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); }
Et voici le code pr l'affichage terminal:
Quelqu'un voit it le probleme?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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(); } }
Partager