chandler8692
Messages postés49Date d'inscriptionvendredi 6 mai 2005StatutMembreDernière intervention 9 février 2007
-
11 mai 2005 à 21:29
chandler8692
Messages postés49Date d'inscriptionvendredi 6 mai 2005StatutMembreDernière intervention 9 février 2007
-
12 mai 2005 à 18:14
Alors, je ne trouve pas la solution à ce problème :
J'ai créé une classe que j'ai appellé cell() qui a comme objet 2 coordonnées coord[0] et coord[1]
public class cell
{
public int[] coord = new int[2];
}
Ensuite, dans Mainform() j'ai créé un tableau de cellule
cell[] cellule = new cell[100000];
Je veux que les coordonnées cellule[i].coord[0] et cellule[i].coord[1] soient différentes pour chaque cellule.
J'ai donc créé une fonction coordonnées() :
public void int[][]coordonnees()
{
int [,] coord = new int[100000,2];
Random rand = new Random();
for(int ligne=0;ligne<100000;ligne++)
{
coord[ligne,0]=4 + rand.Next() % (282);
coord[ligne,1]=4 + rand.Next() % (619);
for(int k=0;k<ligne;k++)
{
if (coord[ligne,0]==coord[k,0]
&& coord[ligne,1]==coord[k,1])
{ligne--;}
}
}
}
Cette fonction crée un tableau de 100000*2 et met dedans des
coordonnées en s'assurant que chaque nouveau couple est différent de
tous les précédents.
Mon problème réside dans le fait que je ne sais pas comment me servir
de ce programme (même en le modifiant) pour donner à chacune de mes
cellules cellule[i] une paire de coordonnées différentes.
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 12 mai 2005 à 06:32
Si c'est pour un affichage, pour des raison de performance tu pouvais ecrire ta cellule comme ca:
public struct Cell
{
public int coord1;
public int coord2;
}
Si tu declares une variable dans une fonction, la variable est locale et donc elle n'existe plus a la fin de la fonction ! Declares ta variable dans la classe et initialise la dans le constructeur.
chandler8692
Messages postés49Date d'inscriptionvendredi 6 mai 2005StatutMembreDernière intervention 9 février 2007 12 mai 2005 à 01:29
Non, mon problème n'était pas çelui-ci. J'avait créé un tableau de cellules
cell[] cellule = new cell[100000];
Chaque célule cellule[i] du
tableau a des coordonnées et je ne voulais pas qu'une cellule ait les
mêmes coordonnées qu'une autre cellule cellule[j]. En gros, je ne veux
pas 2 cellules au même point.
Mais j'ai résolu mon problème en ne créant plus un tableau de cellule
mais un objet cellule simple ayant un objet coord[100000,2]. Et
j'arrive à traiter cette classe là.
Mon programme marche donc à présent mais j'ai quand même une questions parceque quelque chose me pose un problème :
j'ai créé ma cellule dans MainForm() comme ça en gros :
Mainform() {cell cellule = new cell();}
Le problème est que je ne peux accéder aux objet de cellule que dans
MainForm() et dans aucune autre fonction. Comment dois-je faire pour
par exemple utiliser cellule.coord[1,1] dans une fonction graph() ?