Page 1 sur 1

[..] Script pour choisir des mots aleatoirement

Posté : jeu. 08 oct. 2009 10:52
par tim91700
Bonjour,

Pour un concours, j'ai 100 inscrits
Comment faire pour tirer au sort les 10 gagnants
J'aimerais si possible une petite GUI avec des champs a gauche et à droite et au milieu un bouton calcul
De plus, j'aimerais qu'il soit possible de changer le nombre de participants et le nombre de gagnants

Merci

Re: [..] Script pour cjoisir des mots aleatoiremen

Posté : jeu. 08 oct. 2009 11:27
par jbnh
Une solution serait de repertorier dans une fichier ini tout les participants.

Ensuite, vous faite un random (1, nombre de participants) et ce dans une boucle avec le nombre de fois que vous souhaitez que ca tire une numéro.

Si vous faites la boucle dix fois, vous obtenez dix chiffres entre 1 et nombre de participants. Il vous suffit alors d'allez voir dans votre fichier ini a quel nom correspond le numéro.

Re: [..] Script pour cjoisir des mots aleatoirement

Posté : jeu. 08 oct. 2009 12:15
par Drave
ou mettre ini read a la fin du script !

Re: [..] Script pour choisir des mots aleatoirement

Posté : mer. 14 oct. 2009 15:33
par GELDROC
je peut taider a resoudre un proble mais pas tous desoler

Code : Tout sélectionner

IniRead("fichier.ini", "section","nom" & $VAR_du_random, "retour ci ereur ini")
 




le fichier ini

Code : Tout sélectionner

[section]
nom1=
nom2=
 

Re: [..] Script pour choisir des mots aleatoirement

Posté : mer. 14 oct. 2009 15:39
par pop45
Je verrais cette après-midis si je peut t'aider
Faut que je revise mon DS d'histoir et d'anglais la :P

J'ai fait la motier faut plus que j'ai le truck pour choisir au hazard

Re: [..] Script pour choisir des mots aleatoirement

Posté : mer. 14 oct. 2009 19:21
par GELDROC
ci sela peut taider (un nom pourai sortir deux fois)

Code : Tout sélectionner

Local $lst
for $i = 1 to 2                                                     
   ;remplacer 2 par 10
$lst&= iniread("liste.ini","jouers" , "nom"&random(1, 4, 1), "") & @CRLF 
                                                   ;remplacer 4 par 100
Next
MsgBox(0, "liste", $lst)
 
-------------------------

Code : Tout sélectionner

[jouers]
nom1=joueur1
nom2=joueur2
nom3=joueur3
nom4=joueur4
 

Re: [..] Script pour choisir des mots aleatoirement

Posté : mer. 14 oct. 2009 19:38
par GELDROC
re probleme resolu

Code : Tout sélectionner

Global $lst, $r
for $i = 1 to 2     
_random()
$lst&= iniread("liste.ini","jouers" , "nom"&$r, "") & @CRLF
Next
MsgBox(0, "liste", $lst)
Func _random()
$r = random(1, 4, 1)
Local $var = StringSplit($lst, iniread("liste.ini","jouers" , "nom"&$r, "")&@CRLF , 1)
If $var[0] > 1 then
Return _random()
EndIf
EndFunc
 

Re: [..] Script pour choisir des mots aleatoirement

Posté : mer. 14 oct. 2009 19:54
par pop45
ON est pas obliger de metre des fonciton partout surtout que parfois c'est plus lisible sans les fonction :/

Voila j'ai fait le script (enfain j'en ai fait 2 )
► Afficher le texteScript pour cre la liste
► Afficher le texteScript pour choisir les persone

Re: [..] Script pour choisir des mots aleatoirement

Posté : jeu. 15 oct. 2009 09:30
par GELDROC
bonjours je refait une petite modification dans mon script en laissant ma fonction

qui permet de ne pas avoir deux fois le meme nom dans la liste des gagnant

puis en rajoutant deux options dans le fichier ini

n1 nombre de joueurs (100)
n2 nombre de gagnant (10)

ils te faudra simplement les configurer dans celui ci (fichier liste.ini)

voila tu na qua cliquer sur le lien ici

Re: [..] Script pour choisir des mots aleatoirement

Posté : jeu. 15 oct. 2009 13:52
par pop45
Moi non plus sa prend pas 2 nom dans la liste

Code : Tout sélectionner

$nom2 = IniRead ( "list.ini", "Joueurs", "joueur"&$r , "erreur: c'est pas normal" )
While 1
    $t = Random (0 , $x , 1 )
    if $r <> $t Then
            $nom1 = IniRead ( "list.ini" , "Joueurs" , "joueur"&$t , "erreur: c'est pas normal" )
        ExitLoop
    EndIf
WEnd
 
La boucle dis que si le 1er chiffre est le même que le 2eme et bien qu'il en choisis un autre et des qu'ils sont diffèrent et bien il sort de la boucle alors va pas dire directement que le mien peut choisir 2 meme nom :evil: