栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++扑克牌的洗牌发牌游戏设计

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++扑克牌的洗牌发牌游戏设计

笔者在大学二年级期间,做过的一次C++程序设计:扑克牌的洗牌发牌游戏。具体内容是:除去大王和小王,将52张扑克牌洗牌,并发出5张牌。然后判断这5张牌中有几张相同大小的牌,是否是一条链,有几个同花等。

笔者在学习他人设计的基础上,完成了自己的程序设计。这里将源程序分享给大家。 

[1] 文件“card.h”

#ifndef CARD_H
#define CARD_H
#include
using namespace std;

class Card
{
public:
 static const int totalFaces=13;
 static const int totalSuits=4;

 Card(int,int);
 int getFace();
 int getSuit();
 string toString();

private:
 int face,suit;
 static const string faceNames[totalFaces];
 static const string suitNames[totalSuits];

};
#endif // CARD_H 

[2] 文件“card.cpp”

#include"card.h"

Card::Card(int faceNumber,int suitNumber)
{
 face=faceNumber;
 suit=suitNumber;
}

string Card::toString()
{
 return faceNames[face]+" of "+suitNames[suit];
}

int Card::getFace() {return face;}
int Card::getSuit() {return suit;}

const string Card::faceNames[totalFaces]=
{"A","2","3","4","5","6","7","8","9","10","J","Q","K"};

const string Card::suitNames[totalSuits]=
{"heart","diamond","club","spade"};

[3] 文件“deckofcards.h”

#ifndef DECKOFCARDS_H
#define DECKOFCARDS_H
#include
#include"card.h"
using namespace std;

class DeckOfCards
{
public:
 static const int fiveCards=5;
 static const int allCards=52;
 DeckOfCards();
 void shuffle();
 Card dealCard(int);

 void sortCards();
 int duiziCards(int* sortFaces);
 //bool moreCards();

private:
 vector deck;
 int currentCard;

};
#endif // DECKOFCARDS_H

[4] 文件“deckofcards.cpp”

#include"deckofcards.h"
#include
#include

DeckOfCards::DeckOfCards()
{
 //currentCard=0;

 for(int i=0;i=0;i--)
 for(int j=0;j<=i-1;j++)
 if(sortFaces[j]>sortFaces[j+1])
 {
 int t;
 t=sortFaces[j];
 sortFaces[j]=sortFaces[j+1];
 sortFaces[j+1]=t;
 }

 if((sortFaces[0]==sortFaces[1]&&sortFaces[0]==sortFaces[2]&&sortFaces[0]==sortFaces[3])||
 (sortFaces[1]==sortFaces[2]&&sortFaces[1]==sortFaces[3]&&sortFaces[1]==sortFaces[4]))
 cout <<"There are 4 same cards." <

[5] main函数文件“main_FiveCards.cpp”

#include
#include"card.cpp"
#include"deckofcards.cpp"
using namespace std;

int main()
{
 DeckOfCards aDeck;

 cout <<"Deal all cards before shuffle." <

将5个文件放在同一目录下,对文件“main_FiveCards.cpp”编译运行即可。以下是在CodeBlocks中的运行结果:

注:如有疑问或者高见,欢迎各位读者与笔者交流,以期共同学习进步。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/62742.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号