郑州轻工业学院。
实训报告。实训名称21点纸牌游戏。
课程名称面向对象程序设计(c
姓名: 王晓辉。
院 (系): 计算机与通信工程学院
专业班级: 计算机科学与技术09—2
学号: 540907010237
指导教师: 王秉政、郭锋、闫红岩
成绩。时间:2024年1月3日至 2024年1月6日。
一、 “21点纸牌游戏”设计基本要求及约束条件。
1. 需求及内容。
21点是一个古老的扑克牌游戏,游戏规则是:各个参与者设法使自己的牌达到总分21而不超过这个数值。扑克牌的分值取它们的面值,a充当1分或者11分(由玩家自己选择一种分值),j、q和k人头牌都是10分。
庄家对付1~7个玩家。在一局开始时,包括庄家在内的所有参与者都有两张牌。玩家可以看到它们的所有牌以及总分,而专家有一张牌暂时是隐藏的。
接下来,只要愿意,各个玩家都有机会依次再拿一张牌。如果某个玩家的总分超过了21(称为“引爆”),那么这个玩家就输了。在所有玩家都拿了额外的牌后,庄家将显示隐藏的牌。
只有庄家的总分等于或小于16,那么他就必须再拿牌。如果庄家引爆了,那么还没有引爆的所有玩家都将获胜,引爆的玩家打成平局。否则,将余下的各玩家的总分与庄家的总分做比较,如果玩家的总分大于庄家的总分,则玩家获胜。
如果二者的总分相同,则玩家与庄家打成平局。
编写程序实现游戏,计算机作为庄家,1~7个人作为普通玩家参与游戏。游戏程序运行输出如下所示:
2. 要点及分析。
首先定义表示扑克牌花色与面值的枚举类型,这样程序可读性更强,具体定义如下:、
typedef enum
//扑克牌面值: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;
typedef enum
//扑克牌花色:clubs(梅花), diamonds(方块), hearts(红桃)和spades(黑桃)
clubs, diamonds, hearts, spades
suittype;
struct card
//扑克牌结构体。
ranktype rank扑克牌面值。
suittype suit扑克牌花色。
3. 设计要求、技术参数及设计规格。
1、设计的系统能够运行,提交压缩程序;
2、提交实训报告,按“实训报告要求”撰写。
3、程序设计环境为 visual c++ 6.0和windosxp或windows2000。
4、所有的设计工作需要同学自己真实地、独立地完成。
二、 心得体会。
在课程设计中,我体会颇多,学到很多东西。我加强了对c++的认识,复习了自己以前的知识,自己的逻辑思考能力也提高不少。从而microsoft visual c++ 6.
0又有了更深入的认识!在这次课程设计中,我还懂得了程序开发的一些比较重要的步骤,比如需求分析、总体设计、数据库设计(含概念设计、逻辑设计、物理设计)、程序模块设计(含功能需求、用户界面设计、程序**设计与分析、运行结果)、系统使用说明等。相信会为自己以后的学习和工作带来很大的好处。
最重要的还是激发了我编程的兴趣和热情,让我从一个只懂理论变成了能做一些小型程序,让我对编程更加热爱了。设计增强了我们用所学知识去解决具体问题的能力,进一步培养了我们独立思考问题和解决问题的能力。
当然,老师的悉心指导和同学的帮助也是不可忽视的,在此感谢本次课程设计中所有辅导老师对我的关心和帮助,诚心诚意感谢他们对我的鼓励与教导,是她们在我迷茫的时候给了我些许提示,激发了我编程的灵感;还有,我在此也十分感谢本次课程设计中同学们对我的帮助,尽管本次不是团队合作,但是他们也给了我不少的提示和帮助,是他们让我有信心坚持做下来,在此感谢他们!
三、 **附录。
#include
#include
#include
#include
using namespace std;
#pragma warning(disable:4786)
#define random4 (rand() 4)
#define randomn (rand() 13)
const string varity[4] =
const string num[13] =
class games
private:
int players;
vector poke;
vector > each_num;
int *sum;
string *name;
int i;
public:
games()
else if(players>=8)
cout < cout < cin >>players; sum = new int[players+1]; name = new string[players+1]; name[0] =庄家"; for(i = 0; i <=players; i++) for(i = 1; i <=players; i++) ~games() void initfirst() sum[i] +fir+sec; if(i !=0) cout < cout < void addpoint() printf(""); cout < 自动走迷宫小游戏。根据课堂讲授内容,做相应的自主练习,消化课堂所讲解的内容 通过调试典型例题或习题积累调试c 程序的经验 通过完成辅导教材中的编程题,逐渐培养学生的编程能力 用计算机解决实际问题的能力。同时在设计的过程中发现自己的不足之处,对以前所学过的知识理解的更加深刻,掌握得更加牢固。迷宫生成。... 哈尔滨 课程设计报告。课程 c 学号 姓名 班级 教师 1.管理系统的功能说明。课程信息管理 能够增加数据,删除数据,显示数据,修改数据,按姓名和首字母查询数据和一些基本的程序功能。2.存储数据的描述。coursenumber 课程号coursename 课程名subject 所属专业xingzhi... 面向对象程序设计课程设计。一 设计要求。1 课程设计以3 4人为一组,每人一个模块 2 课程设计时间为1周 在处理系统的时候,要从分析系统的需求入手,根据系统需求进行详细分析,明确系统功能,然后设计系统整体架构以及划分系统模块,按照模块分配小组中每个组员的具体任务,完成设计。二 系统设计规范。1 命...C 课程设计
c 课程设计
C课程设计