文库 高等教育 大学其它

纸牌游戏数据结构实训代码

格式DOCX   8页   下载0   2024-05-06   浏览338   收藏0   点赞0   评分-   6.00
温馨提示:当前文档最多只能预览 5 页,若文档总页数超出了 5 页,请下载原文档以浏览全部内容。
纸牌游戏数据结构实训代码 第1页
纸牌游戏数据结构实训代码 第2页
纸牌游戏数据结构实训代码 第3页
剩余3页未读, 下载浏览全部
纸牌游戏——数据结构实训代码 实训要求: 题目十三、纸牌游戏 基本要求: 一副没有花牌( J 、 Q 、 K 、 A 、大小王)的扑克牌,两个人进行纸牌游戏,其中 一 个人为用户,另一个人为计算机; 每轮每人各发 5 张牌,各自以这 5 张牌建立二叉排序树; 由用户先出,轮流出牌,每次只能出一张并且要比别人出的大,如:用户出 3 , 计 算机则要出比 3 大的牌,没有则选择不出; 最先出完的人获胜。 #include <iostream> #include<stdlib.h > // 产生随机数 #include<time.h> #include <Windows.h> #include <iomanip> using namespace std; class PlayingCards { private: int card1[10][4];// 标记发牌 int card2[5][2];// 标记出牌 public: int b[5]; char bhuase[5]; int c[5]; char chuase[5]; PlayingCards(){}; void yxsm(); // 游戏说明 void fp();// 随机发牌 void cp();// 按顺序出牌 , 并显示 void xswj();// 显示获得的牌 void xsdn();// 显示获得的牌 void qk();// 清空标记数组的记录 }; PlayingCards a; typedef struct node { int data; struct node * LChild; struct node * RChild; }node; class tree {private: int data; struct node * LChild; struct node * RChild; public: void chushihua(node *t); node * charu(node *t , int key); node * jianlib(node *t); node * jianlic(node *t); void paixu1(node * t); void paixu2(node * t,int *p); void paixu3(node * t,int *p); }; tree tr; void PlayingCards::yxsm() { cout<<""<<" 每轮每人各发 5 张牌 , 各自以五张牌建立二叉树, 由用户先出, 轮流出牌 , "<<endl; cout<<""<<" 每次只能出一张并且要比别人出的大, "<<endl; cout<<""<<" 如:用户出 3 , 计算机则要出比 3 大的牌,没有则选择不出; "<<endl; cout<<""<<" 最先出完的人获胜。 "<<endl; } void PlayingCards::fp() {int l,e;// 临时储存随机牌数 int f; for(int i = 0;i < 5;i++) { l = rand()%9 + 2;// 玩家得到牌的点数 cout<<" 发到的牌 "<<l<<""; f = rand()%4+3; while(card1[l-1][f-3] == 1) {l = rand()%9 + 2;f= rand()%4+3;} card1[l-1][f-3] = 1;// 标记哪些牌被发 出 b[i] = l ; bhuase[i] = f; e = rand()%9 + 2;// 电脑得到牌的点数 f = rand()%4+3; while(card1[e-1][f-3] == 1) {e = rand()%9 + 2;f = rand()%4+3;} card1[e-1][f
纸牌游戏数据结构实训代码
下载提示

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。

2、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。

3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

QQ
微信
扫一扫