郑州轻工业学院课程设计报告课程设计名称: 21 点纸牌游戏 课 程 名 称: 面对对象程序设计 ( C++) 姓 名: 谢先斌 院 ( 系) : 计算机与通信工程学院 专业班级: 计算机 10-1 学 号: 指导老师: 王秉政、 郭锋 成 绩: 时间: 12 月 26 日 至 12 月 30 日郑州轻工业学院学生课程设计任务书一、 题目( 任选一题) 21 点纸牌游戏 公司员工管理系统 二、 学生信息专业 计算机科学与技术 学号 姓名 谢先斌 三、 基本要求及约束条件( 一) ”21 点纸牌游戏”设计1、 需求及内容21 点是一个古老的扑克牌游戏, 游戏规则是: 各个参加者设法使自己的牌达到总分 21 而不超过这个数值
扑克牌的分值取它们的面值, A 充当 1 分或者 11 分( 由玩家自己选择一种分值) , J、 Q 和 K 人头牌都是 10 分
庄家应付 1~7 个玩家
在一局开始时, 包括庄家在内的所有参加者都有两张牌
玩家能够看到它们的所有牌以及总分, 而专家有一张牌临时是隐藏的
接下来, 只要同意, 各个玩家都有机会依次再拿一张牌
假如某个玩家的总分超过了 21( 称为”引爆”) , 那么这个玩家就输了
在所有玩家都拿了额外的牌后, 庄家将显示隐藏的牌
只有庄家的总分等于或小于 16, 那么她就必须再拿牌
假如庄家引爆了, 那么还没有引爆的所有玩家都将获胜, 引爆的玩家打成平局
否则, 将余下的各玩家的总分与庄家的总分做比较, 假如玩家的总分大于庄家的总分, 则玩家获胜
假如二者的总分相同, 则玩家与庄家打成平局
编写程序实现游戏, 计算机作为庄家, 1~7 个人作为普通玩家参加游戏
游戏程序运行输出如下所示: 2、 要点及分析首先定义表示扑克牌花色与面值的枚举类型, 这样程序可读性更强, 具体定义如下: typedef enum {// 扑克牌面值:ACE(A)