77范文网 - 专业文章范例文档资料分享平台

21点纸牌游戏设计(1)

来源:网络收集 时间:2020-03-27 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

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)在线全文阅读。

21点纸牌游戏设计(1).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/894119.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: