Bonjour,
je débute la programmation et je veux réaliser un jeu de poker texas hold'em en C# pour mon bureau( j'utilise visual c# 2008 express).
Mais quand je distribue les carte, mon programme disribue toujours la même carte. Je ne comprends pas pourquoi, d'autant plus que quand j'execute chaque instruction pas à pas (en plaçant des break points à chaque ligne ou en appuyant frénétiquement sur F11) ça marche parfaitement.
Merci pour votre aide.
class clsDeck
{
// =============== symbolic constants ==================
private const int DECKSIZE = 51; // nombre de cartes - 1
// =============== static members ======================
// =============== instance members =====================
public static clsCarte[] cards;
// =============== constructor(s) ======================
public clsDeck()
{
cards = new clsCarte[DECKSIZE + 1];
for (int i = 0; i <= DECKSIZE; i++)
{
int k = i % 13;
if(i <= 52)
cards[i] = new clsCarte();
int j = i % 4;
switch (j)
{
case 0:
cards[i].Couleur = "S";
cards[i].Valeur = k + 1;// pour avoir une valeur de 1 à 13
switch (k + 1)
{
case 11:
cards[i].Name = "J" + "S";
break;
// =============== general methods ======================
/**
* Purpose: tirer une carte
*/
public clsCarte getOneCard()
{
clsCarte carte = new clsCarte();
int val;
Random rnd = new Random();
val = rnd.Next(DECKSIZE); // pour avoir une valeur de 0 à 51
if (cards[val].Couleur == null) //pour verifier si la carte a déjà été tirée
{
return getOneCard();
}
carte = cards[val] ; //on assigne à i la valeur val pour pouvoir se debarasser de val ensuite
25 mai 2009 à 12:06