21点扑克游戏 软件报告.docx
- 文档编号:11687117
- 上传时间:2023-03-30
- 格式:DOCX
- 页数:11
- 大小:67.54KB
21点扑克游戏 软件报告.docx
《21点扑克游戏 软件报告.docx》由会员分享,可在线阅读,更多相关《21点扑克游戏 软件报告.docx(11页珍藏版)》请在冰豆网上搜索。
21点扑克游戏软件报告
福建农林大学计算机与信息学院
计算机类
课程设计报告
课程名称:
面向对象程序设计课程设计
课程设计题目:
21点扑克牌游戏
姓名:
谢飞乐
系:
计算机科学与信息
专业:
计算机科学与技术
年级:
2007级
学号:
0
指导教师:
李丽珊
职称:
讲师
2009年1月10日
福建农林大学计算机与信息学院计算机类
课程设计结果评定
评语:
评分项目
分值
得分
①课程设计报告符合规范
10
②类层次结构图和用例图合理
30
③主要技术路线正确
30
④设计报告条理清晰,重点突出
20
⑤有一定的创新性,难易程度
10
成绩:
指导教师签字:
任务下达日期:
2008年12月日
评定日期:
1课程设计目的……………………………………………………………4
2课程设计要求……………………………………………………………4
3运行环境……………………………………………………………4
4设计内容……………………………………………………………4
程序说明………………………………………………………………………4
设计内容及功能……………………………………………………4
题目分析及算法描述…………………………………………………………5
系统程序流程图及层次模块图………………………………………………6
系统测试………………………………………………………………………6
5总结………………………………………………………………………9
6参考文献…………………………………………………………………9
7源代码………………………………………………………………………9
21点扑克牌游戏
1.课程设计目的
《面向对象程序设计课程设计》是计算机科学与技术专业和软件工程专业集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。
其目的在于加深对面向对象程序设计中基础理论和基本知识的理解,培养学生的实践能力,促进理论与实践的结合。
通过课程设计,让学生能够熟练运用C++进行面向对象编程,建立对象模型,降低软件的复杂性,改善软件的重用性和维护性,提高软件的生产效率,全面掌握面向对象编程技术。
2.课程设计要求
1、掌握使用一种面向对象程序设计语言如BorlandC++或VisualC++等。
2、培养调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。
3、通过课程设计,要求学生在指导教师的指导下,独立完成实习课题的全部内容,包括:
⑴通过调查研究和上机实习,收集和调查有关技术资料。
⑵掌握设计课题的基本步骤和方法。
⑶根据课题的要求进行上机实验调试。
4、课程设计完成后,提交课程设计报告
3.运行环境
联想计算机,WindowsXP操作系统,MicrosoftVisualC++
4.设计内容
程序说明
该程序是模拟21点扑克牌游戏,玩家最多可以要5张牌,但如果牌的点数之和超过21点,则自动出局;在不超过21点的情况下,玩家与庄家比牌的点数的大小,大者为赢家。
设计内容及功能
(1)将大于10点的点数改为半点(修改点数的类型)。
(2)高级玩家(经理级)可以查看下一张牌,即按H键,然后按要求输入密码,密码正确可以看牌,并决定是否要牌。
(3)超级玩家(总经理级)可以查看庄家(计算机)的所有牌面,并任意输入自己想要的牌,有赢无输,为保密起见,输入自己想要的牌后应立刻屏。
(4)每次要完牌后可以重新设定赔率,只能回流。
也就是说如果牌好,可以加大赌注。
题目分析及算法描述
类classCCard
该程序只需要一个CCard类,其中有表格如下:
classCCard
private:
intm_Pip[5];
结
本次课程设计,使我对C++面向对象程序设计有了进一步的认识和掌握。
我设计的这个简单的师生管理系统主要用到了继承和派生、虚继承、switch语句……在设计过程中,我遵循一个指导思想:
先把总的框架设计出来,再在对其中加上再的内容。
千万不要企图在一开始时就解决所有的细节。
边编程,边调试,边扩充。
6.参考文献
[1]谭浩强.C++面向对象程序设计.北京:
清华大学出版社,2006.
[2]谭浩强.C程序设计(第三版).北京:
清华大学出版社,2005.
7.源代码:
#include
#include
#include
usingnamespacestd;
classCCard
{
private:
intm_Pip[5];家最多可以要5张牌;\n";
cout< cout<<"\t\t2.如果牌点数的总数超过21点则暴点,自动判数;\n"; cout< cout<<"\t\t3.赢家可得双倍的赌注;\n"; cout< cout<<"\t\t4.计算机方在大于等于16点时不再要牌。 \n"; cout< cout<<"\t※※※※※※※※※※※※※祝您好运! ※※※※※※※※※※\n"; cout< } voidJudge(CCard&cpu,CCard&player) { cout< if(()>21&&()>21)||()==()) { cout<<"\n\n\t\t\t\t\t\t\t\t平局! \n"; cout<<"计算机数据: \t"; (); cout<<"牌面点数: "<<()< cout<<"\n您的数据: \t"; (); cout< } elseif(()>21)||()>()&&()<=21)) { cout<<"\n\n\n\t\t\t\t\t\t\t\t恭喜您赢了! \n\n"; cout<<"计算机数据: \t"; (); cout<<"牌面点数: "<<()< cout<<"\n您的数据: \t"; (); cout< } else { cout<<"\n\n\t\t\t\t\t\t\t\t很遗憾您输了! \n"; cout<<"计算机数据: \t"; (); cout<<"牌面点数: "<<()< cout<<"\n您的数据: \t"; (); cout< } } voidCCard: : DisplayPip(intn) { inti; cout<<"[*]"<<'\t'; for(i=1;i cout< cout< } voidPlayTurn(CCard&cpu,CCard&player)//玩一局 { charchChoice; intblCpu=1;//判断是否要牌 intblPlayer=1; ();//计算机和玩家各要两张牌 (); do { cout<<"\n您的牌点为: \t"; (); cout<<"\n"; cout<<"您的牌面点数是: "<<()< cout<<"\n计算机的牌点为: \t"; (1); if(blPlayer) { cout<<"\n\n\t您是否继续要牌(Y/N)\t\t\t"; cin>>chChoice; if((chChoice=='Y'||chChoice=='y')) { if()<5) { (); cout<<"\n您要的这张牌是: "<<()< if()>21) blPlayer=0; } else { cout<<"对不起,您已经要了5张牌,不能再要牌了! "; blPlayer=0; } } if(chChoice=='n'||chChoice=='N') blPlayer=0; } if()<16&&()<5) { (); cout<<"\n计算机要牌,牌点是: "<<()< } else blCpu=0; if(blCpu&&()<5&&()<21) blPlayer=1; }while(blCpu||blPlayer); Judge(cpu,player); return; } intmain() { srand((unsigned)time(NULL));//初始化随机数种子 CCardcpu,player; intblLogic; intnMoney;// DisplayRule();// charchChoice; cout<<"是否现在开始游戏(Y/N)\t\t"; cin>>chChoice; while(chChoice=='Y'||chChoice=='y') { do { cout< cout<<"\t\t\t您现在有的赌本: $"<<(); cout<<"\n\n请下注(赌注不能超过赌本);"; cin>>nMoney; blLogic=(nMoney); if(blLogic) cout<<"您的赌本不够,请重新下注! \n"; }while(blLogic); PlayTurn(cpu,player);// cout<<"是否继续21点游戏(Y/N)\t\t\t"; cin>>chChoice; } (); cout<<"\t\t\t您的选择是明智的,赌博有碍家庭和睦! \n"; cout<<"\n\n\t\t\t\t欢迎再次使用此程序! "< return0; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 21点扑克游戏 软件报告 21 扑克 游戏 软件 报告