21点纸牌游戏C++课程设计报告Word格式文档下载.docx
- 文档编号:15992679
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:23
- 大小:373.43KB
21点纸牌游戏C++课程设计报告Word格式文档下载.docx
《21点纸牌游戏C++课程设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《21点纸牌游戏C++课程设计报告Word格式文档下载.docx(23页珍藏版)》请在冰豆网上搜索。
时间:
2011年12月26日至2011年12月30日
学生课程设计任务书
一、题目(任选一题)
21点纸牌游戏
公司员工管理系统
二、学生信息
专业计算机科学与技术学号541007010144姓名谢先斌
三、基本要求及约束条件
(一)“21点纸牌游戏”设计
1、需求及内容
21点是一个古老的扑克牌游戏,游戏规则是:
各个参与者设法使自己的牌达到总分21而不超过这个数值。
扑克牌的分值取它们的面值,A充当1分或者11分(由玩家自己选择一种分值),J、Q和K人头牌都是10分。
庄家对付1~7个玩家。
在一局开始时,包括庄家在内的所有参与者都有两张牌。
玩家可以看到它们的所有牌以及总分,而专家有一张牌暂时是隐藏的。
接下来,只要愿意,各个玩家都有机会依次再拿一张牌。
如果某个玩家的总分超过了21(称为“引爆”),那么这个玩家就输了。
在所有玩家都拿了额外的牌后,庄家将显示隐藏的牌。
只有庄家的总分等于或小于16,那么他就必须再拿牌。
如果庄家引爆了,那么还没有引爆的所有玩家都将获胜,引爆的玩家打成平局。
否则,将余下的各玩家的总分与庄家的总分做比较,如果玩家的总分大于庄家的总分,则玩家获胜。
如果二者的总分相同,则玩家与庄家打成平局。
编写程序实现游戏,计算机作为庄家,1~7个人作为普通玩家参与游戏。
游戏程序运行输出如下所示:
2、要点及分析
首先定义表示扑克牌花色与面值的枚举类型,这样程序可读性更强,具体定义如下:
typedefenum
{//扑克牌面值:
ACE(A),TWO
(2)~TEN(10),JACK(J),QUEEN(Q),KING(K)
ACE=1,TWO,THREE,FOUR,FIVE,SIX,SEVEN,EIGHT,NINE,TEN,JACK,QUEEN,KING
}RankType;
{//扑克牌花色:
CLUBS(梅花),DIAMONDS(方块),HEARTS(红桃)和SPADES(黑桃)
CLUBS,DIAMONDS,HEARTS,SPADES
}SuitType;
structCard
{//扑克牌结构体
RankTyperank;
//扑克牌面值
SuitTypesuit;
//扑克牌花色
};
(二)“公司员工管理系统”设计
为了方便对公司员工基本信息进行电子化管理,利用面向对象的程序设计技术实现对员工信息的自动化管理。
系统应能满足如下的需求:
Ø
增加员工数据信息
更新员工数据信息
查询员工数据信息
删除员工数据信息
良好的人际交互界面、方便操作
2、要求及要点分析
设计一个虚基类Staff(员工),包括编号、姓名和年龄保护数据成员以及相关的成员函数;
由Staff派生出工程师类Engineer包含专业和职称保护数据成员以及相关的成员函数,再由Staff派生出领导类Leader,包括职务和部门保护数据成员以及相关的成员函数;
然后由Engineer和Leader类派生出主任工程师类Chairman。
设计一个利用文件处理方式实现对公司人员(包括工程师、领导和主任工程师)进行管理,具有增加数据、更新数据、查询数据、删除数据的功能。
编写程序实现游戏,按照要求实现程序。
四、难度分析及目标
该课题涉及到面向对象程序设计技术,难度适中,工作量适中。
该次课程设计的总体目标是培养学生对系统开发总体流程的了解,经过本次课程设计,学生应能对系统开发的步骤和面向对象程序设计的思路有较好的理解和掌握。
五、设计要求、技术参数及设计规格
1、设计的系统能够运行,提交压缩程序;
2、提交课程设计报告,按“课程设计报告要求”撰写
3、程序设计环境为VisualC++6.0和WindosXP或Windows2000。
4、所有的设计工作需要同学自己真实地、独立地完成。
六、工作量
日期
任务描述
2011.12.26
查找相应资料、阅读程序;
写出“21点纸牌”游戏或“公司员工管理系统”等的需求分析、算法整体设计
根据算法思想,完成算法整体设计描述整个游戏流程,设计相关程序的类(基类或派生类),编写程序
2011.12.28
程序代码的设计与实现
程序代码的设计与实现、测试
2011.12.30
完成课程设计文档书写、作品成绩评定
七、考核形式、考核时间、考核指标及成绩评定
课程设计成绩由下面构成:
课程设计纪律、课程设计态度和平时表现占20%;
课程设计结果占50%;
课程设计报告占30%。
考核形式:
1)老师每日对学生的考察、评估和考核;
2)最后对课程设计项目完成的质量进行考核和验收。
完成期限:
2011年12月30日
指导教师签章:
王秉政、郭锋
专业负责人签章:
教学院长签章:
年月日
一、需求说明
21点纸牌游戏是一个很具有使用价值的扑克牌小游戏。
首先,要从21点游戏的古老的起源说起,21点小游戏的起源与民间,其主要是用于打发人们休闲使用,茶钱饭后经常看到人们在玩。
再次,21点游戏也是能满足人们赌性心理的一款首选游戏,且所需条件简单只需一副扑克牌而已,易于被人们接受。
综上,编写21点游戏的前途是十分光明的,其应用空间又是十分宽广的。
当今计算机已经在全国大部分地区得到了广泛的普及,为满足人们对21点纸牌游戏的软件使用需求,21点游戏的软件开发又是一件十分急迫又有前景的开发。
随着社会的发展科技的进步,计算机的应用在社会各领域中都得到了普及。
越来越多的人都感受到利用计算机来玩各种游戏的快捷,且更能满足人们消耗业余时间的心理。
21点游戏是一款典型的纸牌游戏,其使用面积极广,应用人说极多,界面要求低,是一款不错的上机编写程序实例。
它要方便的实现玩家通过界面来控制游戏的是否要牌,是否开始新游戏等一系列操作。
总体任务是实现了21点游戏的的系统化﹑规范化和自动化。
二、功能描述
21点纸牌游戏最多允许7位玩家,在开始时每一位玩家都先发两张牌,只有庄家的第一张牌隐藏,其余的牌都是明着的,接下来,只要愿意,各个玩家都有机会依次再拿一张牌。
三、系统设计及实现
软件规格要求合理,基于C++程序设计,通过类与对象的编写,最终在有限空间达到效果最优化。
2.1设计要求
用C++实现“21点游戏系统”。
2.2系统功能:
(1)系统启动后,出现欢迎界面,满足人机交互的命令行设计。
(2)能实现基本信息的输入与游戏开始分开。
开始时输入参加游戏的人数(1~7人),单击回车后进入按要求依次输入玩家的姓名。
(3)能实现开始后显示每一个玩家的牌点大小,当然庄家的首张牌是隐藏的。
(4)能实现决定是否要继续发牌。
。
通过(y,n)?
问题选项的提问与回答,来完成是否继续发牌的游戏要求
(5)能实现自主完成庄家的发牌与显示最终大小工作。
通过所有玩家都已决定是否要发牌后,最终可以完成对庄家的是否发牌和显示最终牌点大小。
(6)能实现系统自动比较大小,并通过界面最终显示到屏幕上。
(7)能实现在一次游戏结束后询问是否要进行下一次的游戏。
(8)能实现在游戏结束后提示游戏结束界面。
2.3系统性能:
(1)时间特性需求
在网络连接正常的情况下,查询响应时间为秒级。
(2)灵活性
可以自主控制玩家的个数,及让玩家有足够的自主选择全来决定是否要牌和进行下一盘游戏。
(3)可用性
软件应该尽可能的一目了然,使一般用户能够使用。
(4)安全性
本游戏不会出现安全问题,所有程序代码不会被360,金山,qq关键等判为危险程序。
(5)可维护性
(6)应用程序的维护
当用户使用本套职工信息系统软件时,遇到了软件本身的逻辑错误时,应当有软件的维护人员对软件进行修改。
(7)可转移、可转换性
VisualStudio及C编程语言的兼容性很高,在windows95/98.WindowsNT.windows2000.windowsXP等操作系统都可以直接运行。
输入项:
用户通过软件输入必要的信息,然后保存到数据到内存,所输入的信息是经过需求分析限定的内容。
输出项:
本游戏信息系统软件会将所有需要浏览的数据显示在屏幕上,以便使玩家能够清晰的看到自己的操作。
算法:
1)将用户输入的数据,将数据存放到数组中。
2)将数组中的数据,提取到用户界面中。
3)按条件依次填入数组中的数据。
4)按条件选择执行。
注释设计:
尽可能的将软件中插入注释语句,使语句功能明了。
制作的时候应该制作两分,一份是标有注释语句的代码,用来给维护人员、测试人员和开发人员了解开发过程所用,另一份是不带有注释语句的代码,用来最后实际应用当中,这样可以充分的利用有限的时间,降低客户的计算机打开系统功能的时间,提高客户的使用速度。
限制条件:
限制必要的条件,以排除由于用户的误操作造成不必要的错误。
测试计划:
在软件编辑的工作进行当中,测试人员便要开始制定测试计划,主要通过大量的重复测试来达到测试软件的目的。
3.1设计思路和管理框架
(1)思路:
通过类,数组的应用搭建子函数,通过main函数调用各个分模块实现系统的主要功能。
(2)管理框架流程图:
功能实现模块图
(1)录入信息,玩家人数及姓名。
(2)录入后,系统自动发牌,并显示庄家(第一张牌隐藏)及各个玩家的牌点大小及总点数。
(3)依次询问玩家是否要牌,并y决定要牌,你n决定不要牌。
如果哪一位玩家总点数超过21点,玩家引爆。
(4)所有玩家输入完后,则会显示输赢信息,表示一盘游戏结束。
(5)输入y表示继续下一盘游戏,n则停止游戏。
3.2各功能模块
1.交互式菜单
开始系统自动进入用户操作界面。
2.输入玩家人数
输入有多少人参加游戏,然后依次输入玩家姓名,之后熊、通会自动开始游戏并显示每一位玩家的信息。
3.玩家决定是否要牌
按照提示信息,填写y/n,决定是否要牌,完成后系统自动显示输赢,并询问是否下一盘游戏。
4.继续下一盘游戏
输入y后,系统进入下一盘游戏,询问参加游戏人数,其他信息同2-3步骤。
5.继续游戏
根据提示继续下一盘游戏游戏。
6.退出游戏
输入n,将退出游戏。
四、课程设计心得
通过这次课程设计,我真正的明白了什么是计算机的软件的开发及软件开发的整个过程,并更加深刻的体会到作为当代大学生的我们就应该体会到学以致用的重要价值。
课程设计期间,虽说时间极短
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 21 纸牌 游戏 C+ 课程设计 报告