[Débutant] Distribution aléatoire

Distribution aléatoire [Débutant] - C - Programmation

Marsh Posté le 08-04-2007 à 13:18:34    

Bonjour tout le monde,
 
Voici mon problème, pour un exercice je dois coder un programme qui permet de jouer au jeu "bataille"  
 
Donc l'utilisateur choisi le nombre de jokers présents dans le jeu ainsi que quelques autres paramètres mais c'est dans la Distribution des cartes entre le joueur et l'ordinateur que je bloque un peu.
 
(pour info le jeu est transcrit dans un fichier txt en meme temps)
 
j'ai donc un premier tableau à double entrée pour la création du jeu de cartes (les couleurs et les valeurs)
puis je pensais faire un tableau pour chaque joueur mais quelle serait la meilleure solution pour distribuer aléatoirement les cartes?
 
Je précise que le tout doit être alloué dynamiquement à cause du nombre de joker choisis par l'utilisateur.
 
 
Merci d'avance


---------------
[topic des lieux abandonnés] | "Sur HFR chacun a raison et les autres sont des cons"
Reply

Marsh Posté le 08-04-2007 à 13:18:34   

Reply

Marsh Posté le 08-04-2007 à 14:15:16    

Lou013 a écrit :

Bonjour tout le monde,
 
Voici mon problème, pour un exercice je dois coder un programme qui permet de jouer au jeu "bataille"  
 
Donc l'utilisateur choisi le nombre de jokers présents dans le jeu ainsi que quelques autres paramètres mais c'est dans la Distribution des cartes entre le joueur et l'ordinateur que je bloque un peu.
 
(pour info le jeu est transcrit dans un fichier txt en meme temps)
 
j'ai donc un premier tableau à double entrée pour la création du jeu de cartes (les couleurs et les valeurs)
puis je pensais faire un tableau pour chaque joueur mais quelle serait la meilleure solution pour distribuer aléatoirement les cartes?
 
Je précise que le tout doit être alloué dynamiquement à cause du nombre de joker choisis par l'utilisateur.
 
 
Merci d'avance


 
Quel est ton problèeme. Utiliser une fonction aléatoire => srand() pour initialiser le générateur et rand() qui te renverra un nombre aléatoire entre 0 et RAND_MAX.
 
Méthode pour initialiser "au mieux" le générateur: lui passer comme argument "time(NULL) ^ getpid()" => cela prendra en compte à la fois l'heure d'exécution du programme et le n° de processus
 
Méthode pour obtenir un nombre aléatoire entre "a" et "b" inclus: rand() / (RAND_MAX + 1.0) * (b - a + 1) + a
 
Le reste n'est qu'un problème d'algo...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 08-04-2007 à 14:49:31    

ce n'est pas exactement la réponse que je cherchais mais j'ai finalement trouvé
 
J'ai fait un tableau de pointeurs sur le tableau initial et j'ai mélangé ce tableau en trouvant les nouvelles positions graces à la fonction srand()
 
Donc Merci ! :D


---------------
[topic des lieux abandonnés] | "Sur HFR chacun a raison et les autres sont des cons"
Reply

Marsh Posté le 09-04-2007 à 20:00:04    

Lou013 a écrit :

ce n'est pas exactement la réponse que je cherchais


Ben peut-être que la question n'était pas vraiment formulée bien clairement...
 

Lou013 a écrit :

J'ai fait un tableau de pointeurs sur le tableau initial et j'ai mélangé ce tableau en trouvant les nouvelles positions graces à la fonction srand()


Tu veux sans doute dire "rand()" et non "srand()" mais l'idée est là. Ensuite, que tu mélanges les adresses du tableau ou les indices n'est qu'un détail...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed