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

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


2024年4月15日发(作者:)

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

实训要求:

基本要求:

一副没有花牌(J、Q、K、A、大小王)的扑克牌,两个人进行纸牌游戏,其中一

个人为用户,另一个人为计算机;

每轮每人各发 5 张牌,各自以这 5 张牌建立二叉排序树;

由用户先出,轮流出牌,每次只能出一张并且要比别人出的大,如:用户出3,计

算机则要出比 3 大的牌,没有则选择不出;

最先出完的人获胜。

#include

#include // 产生随机数

#include

#include

#include

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 张牌,各自以五张牌建立二叉树,由用户先出,轮流

出牌, "<

cout<<"

cout<<"

cout<<"

}

"<<"每次只能出一张并且要比别人出的大, "<

"<<"如: 用户出 3,计算机则要出比 3 大的牌, 没有则选择不出; "<

"<<"最先出完的人获胜。 "<

void PlayingCards::fp()

{int l,e;//暂时储存随机牌数

int f;

for(int i = 0;i < 5;i++)

{

l = rand()%9 + 2;//玩家得到牌的点数

cout<<"发到的牌"<

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;//标记哪些牌被发出


发布者:admin,转转请注明出处:http://www.yc00.com/web/1713111420a2185204.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信