私はC++を手に入れようとしています。私の「練習」プログラムがヒットするまで、すべてが順調に進んでいました。その障害は、設計上の問題に起因すると私は信じています。
ブラックジャック(21)を考えてみてください。いくつかのクラスを作りました。
- カード
- デッキ
- 手
- プレーヤー
デッキは、単純化のために、カードの配列を持っています。
-すべてのカードを表示できます
-シャッフル
できます-カードを削除できます
手札はデッキです -利点があり
ます -
手札の価値を計算できます
-手札にカードを追加できます
さて、私の問題に取り掛かります-プレーヤーのデザイン
-プレーヤーにはハンドがあります (プライベート アクセス)
プレーヤーに関する私の問題は、ハンドに addCardToHand というメソッド関数があることです。addCardToHand(Card c) という Player メソッドを作成して、同じメソッドを呼び出して手元に渡すと、冗長性/設計の悪さを感じます。
また
Hand h をパブリック アクセス可能なメンバーとして宣言し、「main()」でPlayer p
のようなことを行い
ます。
カード aCard;
phaddCard(カード);
どんなアドバイスも啓発的であり、高く評価されます。私が学んでいることを覚えておいてください。