C++程序设计-石头剪刀布
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象程序设计课程设计说明书
锤头剪刀布
专业:_____软件工程________
班级:_____软件1202________
姓名:_____陈栩_________
学号:_____1220740235______
时间:_____2014-6-1_________
目录
一、设计课题 (3)
1、选题背景 (3)
2、设计题目的要求 (3)
二、主要问题的解决方法及关键技术 (3)
1、游戏功能需求分析 (3)
2、游戏功能的关键技术 (4)
三、程序流程图 (4)
四、程序源代码 (5)
五、运行结果显示…………………………………………………
11
六、本次课程设计的总结 (14)
七、参考文献 (14)
一、设计课题
1、选题背景
通过一个学期的C++语言课程的学习,《C++面向对象程序设计教程》课程已结束,但根据学校课程学习的安排,我们的课程设计实验还没结束。根据老师布置的设计任务书,按照学委的安排,根据个人的能力及意愿,我选择了设计一个小游戏:石头剪子布。
实验准备:做游戏前,首先,自己详细看了《C++面向对象程序设计教程》(教科书),理解了相关函数的用法和作用;另外,上网查询了很多相关资料,还有找了很多相关的游戏设计的代码,都详细的看了一遍,加深了对C++语言以及相关内容进一步理解。根据实际情况设计出一款比较理想的小游戏。
2、设计题目的要求
1、开发平台: VC++ 6.0
2、对设计内容的要求
①在源程序中必须使用类,输入输出要符合C++语言的特性;源文件要采用多文件的工程结构;
②功能必须完善,程序代码要有相应的注释。
3、对设计说明书的要求
①设计过程要写清楚,流程图要清晰,原代码要准确。
②对本次设计的总结。
4、说明书为打印件
5、把源程序代码写在一个源程序当中,代码清晰;在源程序中必须使用类,输入输出要符合C++语言的新特性。
二、主要问题的解决方法及关键技术
1、游戏功能需求分析
输入数据:
计算机随机输入数据;
用户输入合法的数据
存储数据:
存储计算机的输入数据;
存储用户的合法输入数据;
判断用户的输赢:
根据用户的选择,比较用户与计算机的胜负
计算用户的胜负率:
根据计算机的记录,计算用户的胜负次数的总和及概率
2、游戏功能的关键技术
①熟练掌握并运用C语言源代码;
②熟练掌握并运用c++中的重要函数;
③掌握循环的函数的具体运用;
④能子C环境中运行游戏;
三、程序流程图
四、程序源代码:
#include
using namespace std;
enum c_r_s{cloth,rock,scissors,game,help,instructions,quit};
class Game
{
public:
Game();
enum c_r_s select();
enum c_r_s mach();
void instruct();
int won(enum c_r_s,enum c_r_s);
void gamee(int,int,int);
void helpp();
void solution();
private:
int win;
int lose;
int tie;
enum c_r_s player;
enum c_r_s machine;
};
Game::Game()
{
win=0;
lose=0;
tie=0;
}
void Game::instruct()
{
cout< cout<<" "<<"************** 剪刀锤子布************** "< cout<<"在这个游戏中"< cout<<"c 表示布"< cout<<"r 表示锤子"< cout<<"s 表示剪刀."< cout<<"游戏者和机器都只选择c,r,s中的一个.如果二者的选择相同"< cout<<"那么这一局就是平局.此外:"< cout<<"\"布包锤子\"(布获胜)."< cout<<"\"锤子打烂剪刀\"(锤子获胜)."< cout<<"\"剪刀剪布\"(剪刀获胜)."< cout< cout<<"还有其它的选择是:"< cout<<"g 表示游戏的结果(至今获胜的次数)"< cout<<"p 可获得帮助"< cout<<"i 可获得游戏方法的指导信息"< cout<<"q 表示退出游戏."< cout<<"这个游戏一直重复到游戏者选择q 为止."< cout<<"祝你好运!"< } enum c_r_s Game::select() { char c; enum c_r_s p; cout< cout<<" 请选择c,r,或s:"; while((c=getchar())==' '||c=='\n'||c=='\t'); switch(c) { case 'c':