Random en RUBY
Résolu
Bonjour,
Je suis entrain de programmer un jeu vidéo poker en RUBY. J'utilise la fonction rand() pour m'envoyer des nombres aléatoires et j'aimerais savoir comment on fait pour ne pas avoir 2 fois le même nombre .
Merci d'avance
Je suis entrain de programmer un jeu vidéo poker en RUBY. J'utilise la fonction rand() pour m'envoyer des nombres aléatoires et j'aimerais savoir comment on fait pour ne pas avoir 2 fois le même nombre .
Merci d'avance
Configuration: Windows XP Firefox 2.0.0.14
2 réponses
-
ContributeurRappeler la fonction ? reegénérér une nouvelle valeur avec random?
-
voici mon code
$stdout.sync=true
i=0
nbr_cartes=5
test_cartes=Array.new
cartes=["2 de Pique","3 de Pique","4 de Pique","5 de Pique","6 de Pique","7 de Pique","8 de Pique"]
while i < nbr_cartes
test_cartes[i]=rand(7)
puts test_cartes[i]
i = i+1
end
j=0
while j < nbr_cartes
puts cartes[test_cartes[j]]
j=j+1
end
Pourquoi reegénérér une nouvelle valeur avec random?
-
-
Si tu as fini ton programme peux tu m'en envoyer une copie?
pour ma part, je fait, pour avoir des cartes toutes différentes :
def carte(p,a)
valeur=["As ", "Roi ", "Dame ", "Valet ", 10 , 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2]
couleur = ["de Pique", "de Trefle", "de Coeur", "de Carreau"]
if p==1
a=[]
a[0]=valeur[rand(valeur.length)]
a[1]=couleur[rand(couleur.length)]
end
return a
end
begin
a=carte(1,a)
b=carte(1,b)
c=carte(1,c)
d=carte(1,d)
e=carte(1,e)
end until a !=b && a!=c && a!=d && a!=e && b!=c && b!=d && b!=e && c!=d && c!=e && d!=e
puts " Je vous distribue :
a=> #{a[0]} #{a[1]}
b=> #{b[0]} #{b[1]}
c=> #{c[0]} #{c[1]}
d=> #{d[0]} #{d[1]}
e=> #{e[0]} #{e[1]}"