logo资料库

C++课程设计报告(21点扑克牌游戏).doc

第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
资料共16页,剩余部分请下载后查看
福建农林大学计算机与信息学院 计算机类 课程设计报告 课程名称: 面向对象程序设计课程设计 课程设计题目: 21 点扑克牌游戏 姓 名: 谢飞乐 系: 计算机科学与信息 专 年 学 业: 级: 号: 指导教师: 职 称: 计算机科学与技术 2007 级 071152032 李丽珊 讲师 2009 年 1 月 10 日
福建农林大学计算机与信息学院计算机类 课程设计结果评定 评语: 评分项目 分值 得分 ① 课程设计报告符合规范 ② 类层次结构图和用例图合理 ③ 主要技术路线正确 ④ 设计报告条理清晰,重点突出 ⑤ 有一定的创新性,难易程度 10 30 30 20 10 成绩: 指导教师签字: 任务下达日期:2008 年 12 月 日 评定日期:
目 录 1 课 程 设 计 目 的 … … … … … … … … … … … … … … … … … … … … … … … 4 2 课 程 设 计 要 求 … … … … … … … … … … … … … … … … … … … … … … … 4 3 运 行 环 境 … … … … … … … … … … … … … … … … … … … … … … … 4 4 设 计 内 容 … … … … … … … … … … … … … … … … … … … … … … … 4 4.1 程序说明………………………………………………………………………4 4 . 2 设 计 内 容 及 功 能 … … … … … … … … … … … … … … … … … … … … 4 4.3 题目分析及算法描述…………………………………………………………5 4.4 系统程序流程图及层次模块图………………………………………………6 4.5 系统测试………………………………………………………………………6 5 总 结 … … … … … … … … … … … … … … … … … … … … … … … … … … … 9 6 参 考 文 献 … … … … … … … … … … … … … … … … … … … … … … … … … 9 7 源 代 码…… …… …… …… ……… …… …… …… ……… …… …… …… … 9 3
21 点扑克牌游戏 1.课程设计目的 《面向对象程序设计课程设计》是计算机科学与技术专业和软件工程专业集 中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综 合练习。其目的在于加深对面向对象程序设计中基础理论和基本知识的理解,培 养学生的实践能力,促进理论与实践的结合。通过课程设计,让学生能够熟练运 用 C++进行面向对象编程,建立对象模型,降低软件的复杂性,改善软件的重用 性和维护性,提高软件的生产效率,全面掌握面向对象编程技术。 2.课程设计要求 1、掌握使用一种面向对象程序设计语言如 Borland C++或 Visual C++等。 2、培养调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。 3、通过课程设计,要求学生在指导教师的指导下,独立完成实习课题的全 部内容,包括: ⑴ 通过调查研究和上机实习,收集和调查有关技术资料。 ⑵ 掌握设计课题的基本步骤和方法。 ⑶ 根据课题的要求进行上机实验调试。 4、课程设计完成后,提交课程设计报告 3.运行环境 联想计算机,WindowsXP 操作系统,Microsoft Visual C++ 6.0 4.设计内容 4.1 程序说明 该程序是模拟 21 点扑克牌游戏,玩家最多可以要 5 张牌,但如果牌的点数 之和超过 21 点,则自动出局;在不超过 21 点的情况下,玩家与庄家比牌的点数 的大小,大者为赢家。 4.2 设计内容及功能 (1)将大于 10 点的点数改为半点(修改点数的类型)。 (2)高级玩家(经理级)可以查看下一张牌,即按H键,然后按要求输入密码, 密码正确可以看牌,并决定是否要牌。 (3)超级玩家(总经理级)可以查看庄家(计算机)的所有牌面,并任意输入自 4
己想要的牌,有赢无输,为保密起见,输入自己想要的牌后应立刻屏。 (4)每次要完牌后可以重新设定赔率,只能回流。也就是说如果牌好,可以 加大赌注。 4.3 题目分析及算法描述 类 class CCard 该程序只需要一个 CCard 类,其中有表格如下: class CCard private: int m_Pip[5];//一共五张牌 int m_Number;//发了多少张牌 int m_Dollar;//赌本 int m_Gamble;//赌注 int m_Win;//赢局数 int m_Lose;//输局数 int m_Draw;//平局数 public: CCard();//构造函数。 void FirstPlayTwo();//最初的两张牌 int GetNumber();//返回牌张 int GetPip();//返回点数 void DisplayPip();//依次全部显示牌面的点数 void DisplayPip(int);//除了第一张牌,依次显示全部牌面点数(针对计 算机牌的显示) void TurnPlay();//出一张牌。 void Win();//赢了计算赌注 void Lose();//输了 void Draw();//平局 int SetGamble(int);//设置赌本,赌本不够返回-1 int GetMoney();//返回钱数 5
void DisplayInfo();//打印必要的信息 int GetCurrentCard();//返回当前的牌点 4.4 系统程序流程图及层次模块图 (1)程序的 N-S 流程图如下图所示: 初始化随机种子 显示游戏规则 While(chChoice) 判断 chChoice,(必须是 Y/N) Y/y Do{……} N/y 您的选择是明智的,赌博有碍家庭和睦! While(blLogic) 欢迎再次使用此程序! (2)do 的模块 N-S 流程图 输出“您现在有的赌本:$100” 输出下注的赌本 执行 Player.SetGamble(nMoney) 判断 If(blLogic) Y/y N/y 您的赌本不够,请重新下注! PlayTurn(cpu,player) 4.5 系统测试 (1)运行 Microsoft Visual C++ 6.0,新建一个工程文件,立即保存在自己建 的一个文件夹中,再建一个为 21point.cpp。 (2)单击“save”按钮,出现 21point.cpp 的文件编辑窗口,输入附录的程序 代码;再单击“save all”按钮保存文件。 (3)执行 Microsoft Visual C++快捷菜单中的编译、连接。 6
(4)21point.cpp 文件编译成功,如下图所示: 输入 y,回车开始游戏。如下图所示: 输入赌本 10 回车。如下图所示: 7
输入 y,回车。如下图所示: 输入 y,回车后继续游戏。如下图所示: 当你输入错误的信息的时候如:1000。出现如下图: 8
分享到:
收藏