C++课 程 设 计 实 验 报 告
班级:2007级通信A班
题目:“21点”纸牌游戏设计
指导教员:李虎军 朱思瑾
设计成员:赵建 赖俊龙 吕思宏 陈伟 于铭振
设计日期:2010年5月14日
一. 实验原理
“21点”是一个古老的扑克牌游戏,游戏规则是:各个参与者设法使自己的牌达到总分21而不超过这个数值。扑克牌的分值取它们的面值,A充当1分或者11分(由玩家自己选择一种分值),J.Q和K人头牌都是10分。 二. 实验目的
庄家对付1到7个玩家。在一局开始时,包括庄家在内的所有参与者都有两张牌。玩家可以看到他们的所有牌以及总分,而庄家有一张牌暂时是隐蔽的。接下来,只有愿意,各个玩家都有机会依次再拿一张牌。如果某个玩家的总分超过了21(称为“引爆”),那么这个玩家就输了。在所有玩家都拿了额外的牌后,庄家将显示隐藏的牌。只要庄家的总分等于或小于16,那么他就必须再拿牌,如果庄家引爆了,那么还没有引爆的所有玩家都将获胜。引爆的玩家打成平局。否则,将余下的各玩家的总分与庄家的总分做比较,如果玩家的总分大于庄家的总分,则玩家获胜。如果二者的总分相同,则玩家与庄家打成平局。
三. 实验方法
1.首先定义表示扑克牌花色与面值的枚举类型,这样程序可读性更强
2.其次,方法Game()用来运行游戏,下面为用伪代码描述的整个游戏的流程: 洗牌
给庄家和玩家发最初的二张牌 隐藏庄家的第一张牌 显示庄家和玩家手中的牌 依次向玩家发额外的牌 显示庄家的第一张牌 给庄家发额外的牌 if(庄家引爆)
没有引爆的玩家人赢 引爆的玩家平局 else
for(每个玩家)
if(玩家没有引爆且玩家的总分比庄家大) 宣布玩家赢 else if(玩家的总分与庄家相等) 宣布平局 else 宣布玩家赢 四. 实验步骤
(1) 建立工程game_of_21_point
(2) 将软件包中的utlity.h复制到game_of_21_point文件夹中,
并将utility.h加入到工程中。
(3) 建立头文件card.h,声明相关用户自定义类型,结构体Card
的运算符 << 进行重载,具体内容如下: //文件路径名:game_of_21_point\\card.h #ifndef__CARD_H__
#define__CARD_H__
Typedef enum {
//
扑
克
牌
面
值
:
ACE(A),TWO(2)
到
TEN(10),JACK(J),QUEEN(Q),KING(K)
ACK=1,TWO,THREE,FOUR,FIVE,SIX,SEVEN,EIGHT,NINE,TEN,JACK,QUEEN,KING } RankType;
Typedef enum
{ //扑克牌花色:(梅花),DIAMONDS(方块),HEARTS(红桃)和SPADES(黑桃)
CLUBS,DIAMONDS,HEARTS,SPADES } suitType; Struct card { //扑克牌结构体 RankType rank; suitType suit; };
Ostream &operator<<(ostream,const card &card) //操作结果:重载<<运算符
{ //输出花色
if(card.suit==CLUBS) outStream<< “梅花”;
else if(card.suit==DIAMONDS) outStream<<“方块”; else if(card.suit==HEARTS) outStream<<“红桃”; else if(card.suit==SPADES) outStream<<“黑桃”; //输出面值
if(card.rank==ACE) outStream<<“A”; else if(card.rank==JACK) outStream<<“J”; else if(card.rank==QUEEN) outStream<<“Q”; else if(card.rank==KING) outStream<<“K”; else cout<<(int)card.rank; return outStream; } #endif
(4)建立头文件game_of_21_point.h,声明及实现21点游戏类GameOf21Point.具体内容如下:
//文件路径名:game_of_21_point\\game_of_21_point.h #ifndef__GAME_OF_21_POINT_H__ #define__GAME_OF_21_POINT_H__ #include“card.h” #define LEN_OF_MAX_NAME 21 //21点游戏类 Gameof21point声明
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库21点纸牌游戏设计(1)在线全文阅读。
相关推荐: