à travers plus de travail livre examples- celui-ci est un poker partiel PROGRAM- Ce segment traite la main droite ....modification de nettoyage de code Poker du livre ... pas tout à fait
d'abord ce qui a été given- seulement parties pertinentes .... fournira le code entier si nécessaire ...
int suits[5]; //index 1..4- value start at 1
int values[14]; //index 1..13- value same as rank, A = 1, K = 13
cin.get(rankCh);
switch (toUpper(rankCh)) {
case 'A': values = 1; break;
case '2': values = 2; break;
case '3': values = 3; break;
case '4': values = 4; break;
case '5': values = 5; break;
case '6': values = 6; break;
case '7': values = 7; break;
case '8': values = 8; break;
case '9': values = 9; break;
case 'T': values = 10; break;
case 'J': values = 11; break;
case 'Q': values = 12; break;
case 'K': values = 13; break;
default:
badCard = true;
}
Autres fonctions:
bool isFlush(int suits[]) {
for(i = 1; i <= 4; i++)
if (suits[i] == 5) //5 here is Number of Cards
return true;
return false;
}
Ouais, je sais au sujet des déclarations de tableau, mais qui est ho w il est défini- belle justification pour cela dans le texte ... commencer à numéroter à 1 Je veux que ma main droite gère à la fois Ace haut et bas - comme défini ci-dessus aces sont faibles ...
Deux versions: 1er ne semble pas que correcte avec aces bas ...
CODE
bool isStraight(int values[]) //Version one only straight- low aces only
{
int count = 0;
for (i = 1; i <= 13; i++) {
if (values[i] != 1) {
count++;
} else
count = 0;
if (count == 5) //5 is NUMCARDS
return true;
}
return false;
}
maintenant, c'est là où je besoin d'une recommandation: d'avoir une fonction pour gérer à la fois ace haute et basse:
bool isStraight(int values[]) //Version handles both high and low
{
int count = 0;
for (i = 1; i <= 13; i++) {
if (values[i] != 1) {
count++;
// if(i == 1 && values[1] != 0) //Check for high and low
// count++;
} else
count = 0;
if (count == 5) //5 is NUMCARDS
return true;
}
return false;
}
Est-ce que ce que j'ai dans les commentaires fonctionne pour gérer ace haut et bas ...
Puisque i = 1 est représenté comme as et ne sais pas quelles valeurs [1] est correct devrait-il être des valeurs [13] ou quoi ... peut-être quelque chose comme
if (i == 1)
values[13] //not sure...
Recommendations-
- ne veulent pas de gros Modifications- juste pour avoir des changements mineurs avec ce que j'ai ... Je ne veux pas trier ou résoudre par la force brute c'est-à-dire des valeurs similaires [1] == 1 & & valeurs [2] == 1 vous obtenez le Point- le texte fait déjà, mais je suis en train de réécrire cette façon ...
Merci ... L'espoir que je reçois sur ma modification je voudrais ...
la valeur de comptage doit être vérifié que lorsqu'il est incrémenté, ce qui est tout temps à travers la boucle –
Pendant que vous êtes, c'est une optimisation mineure. La vérification est là où elle est, parce que c'est dans le code original. –
Je prends cette réponse et vois où ça va ... – iwanttoprogram