扑克牌游戏(c++版)

06-08 1166阅读

扑克牌游戏(c++版)
(图片来源网络,侵删)

面向对象C++程序设计课程设计报告

实验一 扑克牌游戏

一、问题描述

创建一副扑克,并完成洗牌等操作。

二、基本要求

1.增加大小王。

2.删去一张指定的扑克后,余牌显示。

3.创建一副扑克,显示一副扑克,洗牌,依次分发给4个人并显示。

  • 需求分析

    1.输入形式与范围是按照提示语句输入相应的数字或是(Y)否(N)的英文字母。

    2.输出形式即为提示语句所说明的内容。

    3.该程序基本任务是完成扑克洗牌,显示玩家手牌,按花色或牌面整理手牌(排序)。

    4.测试数据为 54 张扑克牌面值以及花色,无需手动设置。

    5.正确的输入将使得程序按说明运行,错误输入默认直接退出程序。

    四、概要设计

      cpp 文件,共 6 个,说明如下:

    main 函数 主调函数

    deck 包含 deck类的函数

    perdeck 包含 perdeck类的函数

    playdeck 包含 playdeck类的函数

    PlayingCard 包含playingCard 类的函数

    main 函数调用的函数

    五、详细设计

    #include 
    #include 
    #include 
    #include 
    #include 
    #include 	
    using namespace std;
    void Program_Init();
    int main();
    void Center_Text(char[]);
    int get_number();
    char Get_Key();
    void DeckMakeDriver();
    int getRandInt(int min, int max);
    void prog_close();
    class PerDeck;
    class Playing_Card    //扑克类
    {
    private:
    	int m_Value;
    	char m_Face[3];  //扑克的数字大小
    	char m_Suit;    //扑克的花色(黑、红、梅、方)
    public:
    	Playing_Card();								// CONSTRUCTOR
    	void showcard();							// Displays an object of class Playing_Card
    	void Card_Make(int);
    	friend class PerDeck;
    };
    class Deck	//一副扑克(54张)										
    {
    private:
    	Playing_Card m_cardarray[54];				// Object array of class Playing_Card
    	int m_lastdelt;
    public:
    	Deck();							// CONSTRUCTOR initializes empty Deck object
    	void MakeDeck();					// makes a complete object of class Deck
    	void Deal_One();						// Deals a card from top of the deck
    	void ShowDeck();						// Displays a Deck object to the  screen
    	void DeckShuff(int);					// "Shuffles" a Deck object for int times
    	void Remove_Card();
    	friend class PerDeck;// Removes used card from Deck Prevents 
    };
    //		mistakenly using a nonexistant card
    class PerDeck
    {
    	Playing_Card mCard[20];
    	int nNum;
    public:
    	PerDeck() { nNum = 0; }
    	void MakePerDeck(Deck&, int);
    	void Show();
    	void SortFace();
    	void SortSuit();
    	int Delete(int n);
    };
    class PlayDeck
    {
    	PerDeck mDeck[4];
    public:
    	PlayDeck() {}
    	void PlayCard(Deck&);
    	void Show();
    	int DeleteOne(int row, int column);
    	int DeleteAll(int, int, int, int);
    	void SortDeckFace(int);
    	void SortDeckSuit(int);
    	void s(int);
    };
    void PerDeck::MakePerDeck(Deck & d, int a)
    {
    	nNum = a;
    	int i = 0;
    	while (i > c >> d;
    	if (a + b + c + d > 54)
    	{
    		Center_Text("张数超过牌总张数,退出游戏");
    		exit(0);
    	}
    	mDeck[0].MakePerDeck(k, a);
    	mDeck[1].MakePerDeck(k, b);
    	mDeck[2].MakePerDeck(k, c);
    	mDeck[3].MakePerDeck(k, d);
    }
    void PlayDeck::Show()
    {
    	Center_Text("玩家1");
    	cout 
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]