Random en RUBY
Résolu/Fermé
doogyfresh971
Messages postés
4
Date d'inscription
lundi 5 mai 2008
Statut
Membre
Dernière intervention
6 mai 2008
-
5 mai 2008 à 23:33
Macayoni - 3 juin 2008 à 21:34
Macayoni - 3 juin 2008 à 21:34
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
A voir également:
- Ruby sre 302 code erreur ed
- Erreur 0x80070643 - Accueil - Windows
- Le code ascii - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Code activation windows 10 - Guide
2 réponses
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]}"
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]}"
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 292
5 mai 2008 à 23:35
5 mai 2008 à 23:35
Rappeler la fonction ? reegénérér une nouvelle valeur avec random?
doogyfresh971
Messages postés
4
Date d'inscription
lundi 5 mai 2008
Statut
Membre
Dernière intervention
6 mai 2008
1
5 mai 2008 à 23:42
5 mai 2008 à 23:42
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?
$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?