私は独学で C++ を学び始め、ブラックジャック プログラムを書こうとしています。クラスを使用して、カード、デッキ、および手を表現しようとしています。dealCardToHand()
これまでのところ、メソッドを除いてすべてがプログラムで機能していると思います。
void dealCardToHand(deck& d, hand& h){
h.setCard(h.getCardsInHand(), d.dealCard());
h.setCardsInHand(h.getCardsInHand() + 1);
}
手札の枚数を正しくインクリメントしているように見えますがsetCard()
、正しいデータでメソッドを呼び出していません。どんな助けでも大歓迎です。関連するクラスとメソッドを含めています。
class deck{
int topCard;
card * cards[52];
public:
deck();
void shuffle();
void printDeck();
card dealCard();
};
card deck::dealCard(){//returns top card of deck and increments top card one
return *cards[topCard++];
}
class hand{
card * handCards[12];
int cardsInHand;
public:
hand();
card getCard(int i){ return *handCards[i]; }
void setCard(int i, card c) { handCards[i] = &c; }
int getCardsInHand() { return cardsInHand; }
void setCardsInHand(int i) { cardsInHand = i; }
void printHand();
};