(八)Card

#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <algorithm>
#include <random>
#include <string>

using namespace std;

const string Rank[13] = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"}; //扑克牌点数
const string Suits[4] = {"SPADES","HEARTS","DIAMONDS","CLUBS"}; //扑克牌花色

class Card
{
    private:
        int rank;
        int suit;
    
    public:
        Card(){}
        ~Card(){}
        Card(int rank,int suit)
        {
            this->rank = rank;   //(1)
            this->suit = suit;   //(2)
        }

        int getRank()
        {
            return rank;
        }

        int getSuit()
        {
            return suit;
        }

        void printCard()
        {
            cout << "(" << Rank[rank] << " , " << Suits[suit] << ")";
        }
};

class DeckOfCards
{
    private:
        Card deck[52];

    public:
        DeckOfCards()    //初始化牌桌并进行洗牌
        {
            for(int i = 0; i < 52; i++)
            {
                deck[i] = Card(i%13, i%4);  //(3)
            }

            // srand((unsigned)time(0));                  //设置随机种子
            std::random_device rd;
            shuffle(&deck[0], &deck[51],std::default_random_engine(rd()));  //洗牌
        }

        ~DeckOfCards()
        {

        }

        void printCards()
        {
            for(int i = 0; i < 52 ; i++)
            {
                deck[i].printCard();   //(4)
                if((i + 1) % 4 == 0)  cout << endl;
                else cout << "\t";

            }
        }
};

int main()
{
    DeckOfCards* d = new DeckOfCards();  //(5)
    d->printCards();  //(6)

    delete d;
    return 0;
}

答案:
(1) this->

(2) this->

(3) deck[i]

(4) deck[i].

(5) new DeckOfCards()

(6) d->printCards()

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容