21点高质量c语言程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

设计题目:21点游戏

二十一点游戏是一款操作简单,老少皆宜,并且带有很强娱乐性的游戏。二十一点游戏也是我们学习C语言过程中用来锻炼我们编程能力的一种简单有效的方式。编写二十一点游戏的目的就是在编写过程中学习和掌握各种编程的能力,二十一点游戏中有我们经常接触到的一些头文件,和小的函数体,以及一些相关知识,能让我们在实践中得到锻炼。

一、设计目的与要求

1、程序设计的源程序功能如下:

(1)将所有的函数与相应的数据封装到类中,并改写主程序,使程序简化。

(2)程序中一共有13张扑克牌可以随机抽取,大于10的点数为10,现要求大于10的点数全部为半点。

(3)要求庄家永远不会暴庄,即庄家可以查看下一张牌,若大于21点,则拒绝,当然,在游戏规则上不能泄露这点秘密。

(4)高级玩家可以查看下一张牌,即按h键,然后按要求输入密码,密码正确可以看牌,并决定是否要牌。

(5)每次要牌后可以设定赔率,即如果开始下的是10元钱的注,如果牌好,你可以要求再下注,当然不能超过你所有的总钱数。

(6)将界面的提示说明改成中文界面,界面的解释详细友好,可以吸引更多的玩家。

二、课程设计

(1)题目要求把源程序封装在类中,需要编写一个类来封装所有相关函数和变量,同时对main主函数进行改写,以完成题目的要求。

(2)题目要求把抽到的大于10点的牌的点数设为半点,只需要设计随机取下一张牌的成员函数时用if语句判定牌的点数是否大于10,大于10的牌对其重新赋值为即可。

(3)题目要求超级玩家在输入密码后可以查看下一张牌,只需设计一成员函数,判定玩家是否继续要牌之前加入对玩家是否输入h键的判定,如果有输入,则调用为处理玩家输入密码而单独编写的成员函数,在该函数中,首先判定玩家的密码输入是否正确,不正确则返回0,正确则返回1。

(4)题目要求玩家可以根据手上的牌决定是否下注,只需设计一成员函数,检查玩家的赌注累计不超过他所拥有的总资本。

三、设计描述

1、为满足上述第一条要求,在程序中增加了一个类play,封装到类中的函数有:

void replay();

四、调试分析

1、游戏开始

2、游戏过程

3、游戏结果

五、总结

主函数的设计显得有些繁冗杂乱,有很多的程序段有简化的空间。但由于能力有限,不能给出更好的设计方案。以至于函数中出现很多而且肢体庞大的条件、循环语句,程序的可读性也不强。对简化函数体的设计要求没有达到。

密码设计段的知识运用有问题,因为对设计原理不太明白,只是按照题给提示编写该部分程序,或许存在设计上的错误。

两三个星期的调试程序,让我感受到C的魅力,也让我知道只有不断努力的尝试,最终都会成功。

六、答辩记录

七、教师意见

参考文献:

【1】C程序设计(第四版)谭浩强清华大学出版社

【2】Visual C++.NET完全手册Chris , William 电子工业出版社

相关文档
最新文档