alexbristol
Messages postés1Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention 5 décembre 2003
-
5 déc. 2003 à 02:55
cs_GodConan
Messages postés2113Date d'inscriptionsamedi 8 novembre 2003StatutContributeurDernière intervention 6 octobre 2012
-
5 déc. 2003 à 18:59
bonjour,
je veux créer une grille dans laquelle il y aura un point de départ et un point d'arrivée. Ensuite un petit robot va parcourir la grille pour relier les 2 points. Pour cela j'ai 2 classes une classe cellule et une autre robot. La classe cellule contient la fonction paint pour dessiner une cellule. Donc voici son contenu:
public void paint(Graphics g)
{
// on dessine un cadre noir autour de la case
g.setColor(Color.black);
g.drawRect(0, 0, 29, 29);
}
Dans la classe robot, au moment de l'initialisation de la grille, le code est le suivant:
for(int i = 1; i <= (NbTotCell); i++)
{
tableau.add(new cell(i, this));
//initialisation de la case
played[i]=0;
}
Le tableau est de type panel.
A ce moment le programme me dessine toutes mes cases dans ma grille.
Mais c'est au moment ou je veut créer le point de départ que ca pose pb.
Supposons que le point de départ est 1 alors dans la classe robot je met: played[1]=99.
Donc ensuite dans la fonction paint() j'ai rajouté à la suite:
if (played[1]==99)
{
g.setColor(Color.green);
g.fillOval(3, 3, 25, 25);
}
Mais en fait le pb c'est que ca me met un cercle sur toutes les cases!! :-(
Y a t'il des personnes qui peuvent me dire pourquoi et comment faire pour obtenir ce que je veux??
Merci d'avance
cs_GodConan
Messages postés2113Date d'inscriptionsamedi 8 novembre 2003StatutContributeurDernière intervention 6 octobre 201211 5 déc. 2003 à 18:59
GodConan :clown)
On voi pas le reste de ton prog et c la que reside le prob ;o)
Je suis pret a parier ma chemise que tu ne fait que une seul instance de cellule ;o) dc en fait c est la meme qui est representer x*y fois ;o)... ;o)
pour resoudre ton prob il te fo dc belle et bien une Cell par case et non pas une reference de la meme cell ... ;o) jespere que g etai claire héhéh je c que c pas toujour evident ;o)
:big) :big) :big) :big) :big) :big) :big) :big) :big)