C# probleme deboggage

pierre56 -  
 pierre56 -
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.

dans le frmMain :

private void btnouvellePartie_Click(object sender, EventArgs e)
{
clsJeu cettePartie = new clsJeu();

clsCarte C1J1 = cettePartie.deck.getOneCard();
clsCarte C2J1 = cettePartie.deck.getOneCard();
clsCarte C1J2 = cettePartie.deck.getOneCard();
clsCarte C2J2 = cettePartie.deck.getOneCard();
clsCarte flop1 = cettePartie.deck.getOneCard();
clsCarte flop2 = cettePartie.deck.getOneCard();
clsCarte flop3 = cettePartie.deck.getOneCard();
clsCarte turn = cettePartie.deck.getOneCard();
clsCarte river = cettePartie.deck.getOneCard();

lblCarte1Joueur1.Text = C1J1.Name;
lblCarte2Joueur1.Text = C2J1.Name;
lblCarte1Joueur2.Text = C1J2.Name;
lblCarte2Joueur2.Text = C2J2.Name;
txtFlop1.Text = flop1.Name;
txtFlop2.Text = flop2.Name;
txtFlop3.Text = flop3.Name;
txtTurn.Text = turn.Name;
txtRiver.Text = river.Name;

}

maintenant clsDeck :
using System;

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;

case 12:
cards[i].Name = "Q" + "S";
break;

case 13:
cards[i].Name = "K" + "S";
break;

case 1:
cards[i].Name = "A" + "S";
break;

default:
cards[i].Name = cards[i].Valeur.ToString() + "S";
break;

}

break;

case 1:
cards[i].Couleur = "C";
cards[i].Valeur = k + 1;
switch (k + 1)
{
case 11:
cards[i].Name = "J" + "C";
break;

case 12:
cards[i].Name = "Q" + "C";
break;

case 13:
cards[i].Name = "K" + "C";
break;

case 1:
cards[i].Name = "A" + "C";
break;

default:
cards[i].Name = cards[i].Valeur.ToString() + "C";
break;

}
break;

case 2:
cards[i].Couleur = "D";
cards[i].Valeur = k + 1;
switch (k + 1)
{
case 11:
cards[i].Name = "J" + "D";
break;

case 12:
cards[i].Name = "Q" + "D";
break;

case 13:
cards[i].Name = "K" + "D";
break;

case 1:
cards[i].Name = "A" + "D";
break;

default:
cards[i].Name = cards[i].Valeur.ToString() + "D";
break;

}
break;

case 3:
cards[i].Couleur = "H";
cards[i].Valeur = k + 1;
switch (k + 1)
{
case 11:
cards[i].Name = "J" + "H";
break;

case 12:
cards[i].Name = "Q" + "H";
break;

case 13:
cards[i].Name = "K" + "H";
break;

case 1:
cards[i].Name = "A" + "H";
break;

default:
cards[i].Name = cards[i].Valeur.ToString() + "H";
break;

}
break;

}
}
}







// =============== property methods =====================
public int DeckSize
{
get
{
return DECKSIZE; // How many cards in the deck
}
}




// =============== helper methods =======================

// =============== 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


cards[val].Couleur = null;

return carte;

}


}

1 réponse

lolman
 
http://h2fr.free.fr/index.php?topic=294&sty=debug_c_sharp_34
0
pierre56
 
ce lien est juste une pub ou alors je peux trouver une réponse en fouillant?
0