C 课程设计

发布 2022-09-30 15:03:28 阅读 5581

郑州轻工业学院。

实训报告。实训名称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 程序的经验 通过完成辅导教材中的编程题,逐渐培养学生的编程能力 用计算机解决实际问题的能力。同时在设计的过程中发现自己的不足之处,对以前所学过的知识理解的更加深刻,掌握得更加牢固。迷宫生成。...

c 课程设计

哈尔滨 课程设计报告。课程 c 学号 姓名 班级 教师 1.管理系统的功能说明。课程信息管理 能够增加数据,删除数据,显示数据,修改数据,按姓名和首字母查询数据和一些基本的程序功能。2.存储数据的描述。coursenumber 课程号coursename 课程名subject 所属专业xingzhi...

C课程设计

面向对象程序设计课程设计。一 设计要求。1 课程设计以3 4人为一组,每人一个模块 2 课程设计时间为1周 在处理系统的时候,要从分析系统的需求入手,根据系统需求进行详细分析,明确系统功能,然后设计系统整体架构以及划分系统模块,按照模块分配小组中每个组员的具体任务,完成设计。二 系统设计规范。1 命...