Oui m'sieur
C'est un code lua qui appelle la fonction :
Code :
- function strike()
- local e;
- for i=0,get_map_width()/16 do
- local r = irandom(0,5);
- if (r==0) then
- e = create_event(i*16+random(-20,20),irandom(-600,-10),"Events/MON/Lavarock" );
- perform_event_function(e,"always_explode" );
- end
- end
- end
|
Donc le principe c'est tout bête, lorsque cette fonction est appelée, elle est supposée créé plein de bouboules qui tombe au hasard sur la carte (la fonction qui créé un objet s'appelle create_event(x,y,fichier_lua)
Donc en gros, ce code me permettait normalement d'avoir une chance sur 5 d'avoir une pierre qui tombe, mais le 'irandom(0,5)' me renvoyait certaine fois plein de '0', du coups j'avais une belle tombée de pierres bien alignée..
J'ai réussi à palier ça en recréant une seed à chaque pas de i, via randomize(i), qui appelle cette fonction c++ :
Code :
- void randomize(unsigned int s)
- {
- srand(time(NULL)+s);
- }
|
Et à la fin de la boucle, un randomize(0) pour remettre à time(NULL), mais j'ai entendu dire que régénérer une seed, c'était pas cool.. Mais ça semble mieux fonctionner
---------------
Perhaps you don't deserve to breathe