1、 实验报告实验需求: 需求分析 本次试验包括三类,有card类,player类,game.h。试验过程中先有对游戏的简介,然后进入玩牌界面,有洗牌和发牌过程。发牌后有牌面设计的形式,比较符合实际中的牌的排列形式。这样比较容易让人看懂,然后通过按任意键来开始游戏,总牌数为五十二张,分别发给每一个player,每个人先把对儿拿出去,再相互抽对方的牌,直到最后其中一方只剩下大王和一张八。游戏结束。试验中主要难点是设计牌面,抽牌过程。实验小组成员: 陶坤栋 邢翱 张健伦 赵培培 Card 类,每张扑克牌的属性集合,对象为扑克牌。里的。 Color花色 numberPlayer类,来类化玩家,实例化为玩
2、家。里的玩家的牌数number 牌面(phead下指针)游戏的主要执行编码里的函数: void cancel(Card *pc,Card * &ph); /删除结点void canceldouble(Player *player,int n) ;/删除成对的牌void Giveout(Player * player,int a); /给玩家发牌void showplayer(Player *player,int n);/显示玩家手里的牌void vircancel(Card *pc,Player & player) ;/假删除只除名不删除内存void comparecard(Player &
3、player,Card * pc);/比较有无相同的牌 有删没连接上Card *find(Card * ph,int n) ;/查找所要抽取的牌的地址void index(Card * &ph,Card *pc,int n);/将抽取的牌插入玩家已有牌中int playgame(Player * player,int n) ;/进行游戏void introduction();/开始的引入介绍void end();/结局语 游戏流程:引入语【introduction( )】 然后发牌【Giveout( )】 显示玩家的牌 【showplayer()】 删除玩家手中的相同的牌【cancedoubl
4、e()】 进入游戏【 playgame()】 抽取牌并假删除【vircancel()】 然后将抽取的牌与玩家手中的牌比较【comparecard】 相同的删除【delete】,不同的插入【index()】 玩家依次抽取牌,知道只有一个玩家剩两张牌是结束【end()】最两张牌为“王,八”即持牌者为。游戏结束。整个游戏两个类,一个Game 文件,采用链表形式来连接玩家手里的牌,包括显示,删除,进行游戏,比较,等等利用链表的创建,循环,删除,查找,插入来完成游戏。游戏中采用的函数特色:Card: Show(0,0) showline(,0,15) 合一块 一张牌 从牌数最多的玩家开始游戏,抽取下一个玩家的牌: 显示相同的牌,并删除相同的牌注意牌数变化 删除被抽的牌,转到其他玩家手里跳过没牌玩家,继续游戏 游戏的结局最后一个持牌玩家,即使本游戏的输家!