Bonjour,

J'essaie de créer un plateau de jeu dérivant d'un JPanel. Lorsque je lui demande de choisir aléatoirement une case, le programme s'emballe et tourne à l'infini... Je ne vois vraiment pas d'ou vient l'erreur mais mes compétences dans le côté graphique et les méthodes paint et compagnie et assez limitée... Ca ressemble beaucoup à une boucle infinie mais je ne comprends pas pourquoi...

Voici mon code, si une bonne âme pouvait m'aiguiller. Merci (beaucoup ^^) d'avance :

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package quizz; 
 
import java.awt.Color; 
import java.awt.Dimension; 
import java.awt.Graphics; 
 
import java.awt.Graphics2D; 
import java.awt.Image; 
import java.awt.Rectangle; 
import java.awt.TexturePaint; 
 
import java.awt.image.BufferedImage; 
 
import javax.imageio.ImageIO; 
 
import javax.swing.JFrame; 
import javax.swing.JPanel; 
import java.awt.Toolkit; 
 
import java.io.FileReader; 
 
import java.util.Random; 
 
public class Plate extends JPanel { 
public Plate () { 
} 
 
 
public void paint(Graphics g) { 
Image bleu = Toolkit.getDefaultToolkit().getImage("Images/casebleuerd.jpg"); 
Image violet = Toolkit.getDefaultToolkit().getImage("Images/casemoradord.jpg"); 
Image orange = Toolkit.getDefaultToolkit().getImage("Images/caseorangerd.jpg"); 
Image rouge = Toolkit.getDefaultToolkit().getImage("Images/caserougerd.jpg"); 
Image vert = Toolkit.getDefaultToolkit().getImage("Images/caseverterd.jpg"); 
Image depart = Toolkit.getDefaultToolkit().getImage("Images/casedepartrd.jpg"); 
Image arrivee = Toolkit.getDefaultToolkit().getImage("Images/casearriveerd.jpg"); 
 
for (int i=0;i<5;i++) { 
for(int j=0;j<7;j++) { 
java.util.Random rand = new java.util.Random(); 
int couleur = rand.nextInt(5); 
Image kase=null; 
 
if (couleur==0) 
{kase=bleu;} 
if (couleur==1) 
{kase=violet; } 
if (couleur==2) 
{kase=rouge; } 
if (couleur==3) 
{kase=orange; } 
if (couleur==4) 
{kase=vert; } 
g.drawImage(kase, 10+60*j, 10+60*i, null); } } 
Image [][] plateau = new Image[5][7]; 
plateau[0][0]=depart; 
g.drawImage(plateau[0][0], 10, 10, null); 
plateau[2][3]=arrivee; 
g.drawImage(plateau[2][3], 10+60*3, 10+60*2, null); 
repaint(); 
} 
 
}