cs_thebigboss
Messages postés216Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention12 avril 2017
-
1 déc. 2004 à 19:43
cs_thebigboss
Messages postés216Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention12 avril 2017
-
2 déc. 2004 à 19:43
Je suis en train de faire un jeu de billard avec un thread par boule.
Chaque boule doit s'endormir un temps bien différents en fonction de la force avec laquelle elle a été percutée, mais voilà toutes mes boules vont à la même vitesse (celle de la boule la plus lente).
Voici le soft:
private Boule [] tab_Boules;
private int nb_Max_Boules=16;
private int nb_Boules=0;
private Thread [] tab_Threads;
public Form1()
{
InitializeComponent();
ab_Boules=new Boule[nb_Max_Boules];
tab_Threads=new Thread[nb_Max_Boules];
}
//Fonction de debug qui crée les boules et les fait se deplacer
private void button1_Click(object sender, System.EventArgs e)
{
int taille =20+ rnd.Next(25);
int Force=rnd.Next(100);
if(nb_Boules<nb_Max_Boules)
{
tab_Boules[nb_Boules] = new Boule(taille,panel1,Force);
tab_Threads[nb_Boules] = new Thread(new ThreadStart(tab_Boules[nb_Boules].bouleMove));
//On démarre le thread.
tab_Threads[nb_Boules].Start();
nb_Boules++;
}
}
Voici ma Form principale.
Et voici ma classe Boule:
//Le constructeur
public Boule(int _Rayon, Panel panneau, int V)
{
this.Rayon = _Rayon;
this.panneau = panneau;
this.point = new Point(0,0);
int index = rnd.Next(_colors.Length);
color = _colors[index];
Vitesse=V;
}