Si mes calculs sont exacts, une saucisse à 6 chances sur 9 d'être normale ( 6/9 = 2/3), 1/9 pourrie, 1/9 méchante et 1/9 bonus.
J'ai donc réécrit à ma façon la fonction NouvelleSaucisse, le résultat devrait être identique.
Code:
void NouvelleSaucisse ()
{
int rnd = Random.Range (0, 9);
Color color;
if (rnd < 6)
{
TypeDeSaucisse = SaucisseTypes.Normale;
color = Color.white;
Vitesse = 0;
}
else
{
switch (rnd - 6)
{
case 0:
TypeDeSaucisse = SaucisseTypes.Pourrie;
color = Color.red;
Vitesse = 0;
break;
case 1:
TypeDeSaucisse = SaucisseTypes.Mechante;
color = Color.red;
Vitesse = 0.05f;
break;
default:
TypeDeSaucisse = SaucisseTypes.Bonus;
color = Color.white;
Vitesse = 0.05f;
break;
}
}
gameObject.GetComponent<Renderer> ().material.color = color;
gameObject.transform.position = new Vector3 (10 + Random.Range (1, 4), Random.Range (-4, 4.5f), -9);
if( gameObject.transform.position.y > 0)
Vitesse = -Vitesse;
//Debug.Log(string.Format( "NouvelleSaucisse rnd:{0} -> {1} {2} V={3} Y={4}", rnd, TypeDeSaucisse, color, Vitesse, gameObject.transform.position.y));
}