Pb graphique...

alexbristol Messages postés 1 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 5 décembre 2003 - 5 déc. 2003 à 02:55
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Derniè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

1 réponse

cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 11
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)

GL

++
0
Rejoignez-nous