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
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
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)
-------------------------
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
Code : Tout sélectionner
$x = 0
While 1
$r = InputBox ("..." , "REntre le nom du joueur" & @crlf & "Entrez exit pour sortire")
If $r <> "exit" then
IniWrite ( "list.ini" , "Joueurs" , "joueur" & $x , $r )
Else
ExitLoop
EndIf
$x+=1
WEnd
► Afficher le texteScript pour choisir les persone
Code : Tout sélectionner
$x = 1
$n = 0
while 1
$r = IniRead ( "list.ini" , "Joueurs" , "joueur" & $x , "error" )
If $r <> "error" Then
$n+=1
Else
ExitLoop
EndIf
$x+=1
WEnd
MsgBox (0, "" , "Il y a "&$x&" Joueurs dans la liste" )
$r = Random ( 0 , $x , 1 )
MsgBox (0, "" , $r )
$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
MsgBox (0, "hazard" , "Et les nominé sont...."&@crlf&"" & $nom2 & " et " & $nom1 )
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
