南京理工大学C课程设计扑克牌游戏多文件.doc

上传人:pu****.1 文档编号:543790748 上传时间:2024-01-02 格式:DOC 页数:38 大小:134KB
返回 下载 相关 举报
南京理工大学C课程设计扑克牌游戏多文件.doc_第1页
第1页 / 共38页
南京理工大学C课程设计扑克牌游戏多文件.doc_第2页
第2页 / 共38页
南京理工大学C课程设计扑克牌游戏多文件.doc_第3页
第3页 / 共38页
南京理工大学C课程设计扑克牌游戏多文件.doc_第4页
第4页 / 共38页
南京理工大学C课程设计扑克牌游戏多文件.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《南京理工大学C课程设计扑克牌游戏多文件.doc》由会员分享,可在线阅读,更多相关《南京理工大学C课程设计扑克牌游戏多文件.doc(38页珍藏版)》请在金锄头文库上搜索。

1、南京理工大学C课程设计扑克牌游戏多文件22020年4月19日文档仅供参考南京理工大学紫金学院C+课程设计报告课 程:C+课程设计学 院:计算机学院班 级:计算机大类四班学 号:姓 名:田越选题名称:扑克牌游戏起止时间: .5.22 .6.1指导教师:杜兰 5月1 问题描述在提供的源程序基础上,写一个程序,能够进行洗牌等操作.2 基本要求1) 增加大小王.2) 删去一张指定扑克牌后,进行余牌显示.3) 创立一副扑克牌,显示一副扑克牌,洗牌,依次分发给四人并显示.3 需求分析输入形式与范围是按照提示语句输入相应的数字或是(Y)否(N)的英文字母输出形式即为提示语句所说明的内容该程序基本任务是完成扑

2、克洗牌,显示玩家手牌,按花色或牌面整理手牌(排序)测试数据为54张扑克牌面值以及花色,无需手动设置正确的输入将使得程序按说明运行,错误输入默认直接退出程序4 概要设计分为8个部分,也是八个文件头文件两个:all.h 包含主程序所需的所有头文件.class.h 包含所有的类,并卷入all.h其余cpp文件,共6个,说明如下:main函数 主调函数deck 包含deck类的函数perdeck 包含perdeck类的函数playdeck 包含playdeck类的函数playingcard 包含playingcard类的函数main函数调用的函数 顾名思义 5 详细设计All.h#pragma onc

3、e#include#include/编译器是VS #include#include#include#includeClass.h#pragma once#includeall.husing namespace std;class PerDeck;class PlayingCardprivate:int nValue;/扑克牌实际面值char achFace3;/扑克牌字符串A,2,.10,J,Q,Kchar chSuit;/扑克牌花色public:friend class PerDeck;PlayingCard();/将对象清零void ShowCard();/显示面值花色void CardM

4、ake(int);/给一张扑克牌赋值(面值,花色);class Deckprivate:PlayingCard m_cardarray54;int nLastDelt;public:friend class PerDeck;Deck();void MakeDeck();/将52张牌清零(没有大,小王)void DealOne();/删除开头一张牌void ShowDeck();/依次逐张显示这副牌void DeckShuff(int);/用于洗牌,参数是洗牌次数void RemoveCard();/清零删除掉的那张牌;class PerDeckprivate:PlayingCard myCar

5、d20;int nNum;public:PerDeck() void MakePerDeck(Deck &, int);void Show();void SortFace();void SortSuit();int Delete(int n);class PlayDeckprivate:PerDeck myDeck4;public:PlayDeck() void PlayCard(Deck &);void Show();int DeleteOne(int row, int column);int DeleteAll(int, int, int ,int);void SortDeckFace(i

6、nt);void SortDeckSuit(int);void s(int);void ProgramInit();/初始化,并输出信息void CenterText(char ShellText80);/居中显示int GetNumber();/键入整数型char GetKey();/键入字符串型void DeckMakeDiver();/主要算法(生成扑克牌,洗牌,删除等)int GetRandInt(int min, int max);/在min到max间选随机值void ProgClose();/暂停,供用户查看中间运行结果main函数.cpp#includeclass.husing

7、namespace std;int main(void)srand(unsigned)time(NULL);int nCardNum = 0;ProgramInit();DeckMakeDiver();ProgClose();return 1;Playdeck.cpp#includeclass.h#includeusing namespace std;void PlayDeck:PlayCard(Deck &k)int a, b, c, d;char g29 = 依次输入四位玩家手里的牌数: ;CenterText(g);cout a b c d;if (a + b + c + d 54)ch

8、ar g = 超过牌的张数,退出游戏。 ;CenterText(g);exit(0);myDeck0.MakePerDeck(k, a);myDeck1.MakePerDeck(k, b);myDeck2.MakePerDeck(k, c);myDeck3.MakePerDeck(k, d);void PlayDeck:Show()char a6 = 玩家1 ;char b6 = 玩家2 ;char c6 = 玩家3 ;char d6 = 玩家4 ;CenterText(a);cout endl;myDeck0.Show();CenterText(b);cout endl;myDeck1.Sh

9、ow();CenterText(c);cout endl;myDeck2.Show();CenterText(d);cout endl;myDeck3.Show();int PlayDeck:DeleteOne(int row, int column)myDeckrow - 1.Delete(column);return 1;int PlayDeck:DeleteAll(int a, int b, int c, int d)myDeck0.Delete(a);myDeck1.Delete(b);myDeck2.Delete(c);myDeck3.Delete(d);return 1;void

10、PlayDeck:SortDeckFace(int b)myDeckb - 1.SortFace();void PlayDeck:SortDeckSuit(int b)myDeckb - 1.SortSuit();void PlayDeck:s(int a)myDecka - 1.Show();Deck.cpp#includeclass.h#includeusing std:ostream;using namespace std;void Deck:MakeDeck()/对生成的52张牌逐个赋值nLastDelt = 53;/51while (nLastDelt -1)m_cardarrayn

11、LastDelt.CardMake(nLastDelt);nLastDelt-;void Deck:ShowDeck()/显示一副扑克牌char a13 = 完整的一副牌 ;int nIndex = nLastDelt + 1;int nNewLine = 0;CenterText(a);cout endl;while (nIndex = 53)/51if (nNewLine % 11 = 0)cout endl;m_cardarraynIndex.ShowCard();nNewLine+;nIndex+;void Deck:DeckShuff(int times)/洗牌算法char a11 = 洗牌. ;int x, nSplit;CenterText(a);cout endl;for (x = 0; x = times; x+)nSplit = GetRandInt(20, 35);Deck TopDeck;Deck BottomDeck;int i;int nBottomNum = 1;int nTopNum = 1;for (i = 0; i m_cardarrayi;nTopNum+;i+;for (i = (nSplit); i m_cardarrayi;nBottomNum+;i+;int nOutNum = 0;int nNumToTop;i

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号