c剪刀石头布游戏课程设计大学论文.docx

上传人:b****2 文档编号:1624380 上传时间:2022-10-23 格式:DOCX 页数:12 大小:208.24KB
下载 相关 举报
c剪刀石头布游戏课程设计大学论文.docx_第1页
第1页 / 共12页
c剪刀石头布游戏课程设计大学论文.docx_第2页
第2页 / 共12页
c剪刀石头布游戏课程设计大学论文.docx_第3页
第3页 / 共12页
c剪刀石头布游戏课程设计大学论文.docx_第4页
第4页 / 共12页
c剪刀石头布游戏课程设计大学论文.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

c剪刀石头布游戏课程设计大学论文.docx

《c剪刀石头布游戏课程设计大学论文.docx》由会员分享,可在线阅读,更多相关《c剪刀石头布游戏课程设计大学论文.docx(12页珍藏版)》请在冰豆网上搜索。

c剪刀石头布游戏课程设计大学论文.docx

c剪刀石头布游戏课程设计大学论文

 

计算机科学与技术学院

《C++高级语言程序设计课程设计》报告

(2016/2017学年第一学期)

 

学生姓名:

常满琪

学生班级:

软件工程152601

学生学号:

201526170101

指导教师:

韩里虎

 

2016年12月20日

计算机科学与技术学院

课程设计任务书

课程设计名称

C++高级语言程序设计课程设计

课程设计题目

剪刀石头布

学生姓名

常满琪

专业班级

软件工程152601

学号

201526170101

课程设计任务内容

 

[问题描述]

[基本要求]

(1)实现人机对战的功能,

(2)可以记录比赛次数,输赢的次数

[测试要求]

(1)

(2)

 

指导教师:

 

时间:

年月日

 

目录

(1)设计问题描述与需求分析待定

(2)数据结构与算法设计4

(3)程序设计编码与测试5

(4)设计过程总结与体会13

 

 

 

程序源代码:

#include

usingnamespacestd;

enumc_h_s{cloth,hammer,scissors,game,help,instructions,quit};

classGame//构造类

{

public:

Game();

enumc_h_sselect();

enumc_h_smach();

voidinstruct();

intwon(enumc_h_s,enumc_h_s);

voidgamee(int,int,int);

voidhelpp();

voidsolution();

private:

intwin;

intlose;

inttie;

enumc_h_splayer;

enumc_h_smachine;

};

*****************成员函数定义模块define.cpp************************

#include

usingnamespacestd;

Game:

:

Game()//初始化数据成员

{

win=0;

lose=0;

tie=0;

}

voidGame:

:

instruct()

{

cout<

cout<<""<<"****剪刀锤子布****"<

cout<<"在这个游戏中"<

cout<<"c表示布"<

cout<<"h表示锤子"<

cout<<"s表示剪刀."<

cout<<"游戏者和机器都只选择c,h,s中的一个.如果二者的选择相同"<

cout<<"那么这一局就是平局.此外:

"<

cout<<"\"布包锤子\"(布获胜)."<

cout<<"\"锤子打烂剪刀\"(锤子获胜)."<

cout<<"\"剪刀剪布\"(剪刀获胜)."<

cout<

cout<<"还有其它的选择是:

"<

cout<<"g表示游戏的结果(至今获胜的次数)"<

cout<<"p可获得帮助"<

cout<<"i可获得游戏方法的指导信息"<

cout<<"q表示退出游戏."<

cout<<"这个游戏一直重复到游戏者选择q为止."<

cout<<"祝你好运!

"<

}

enumc_h_sGame:

:

select()

{

charc;

enumc_h_sp;

cout<

cout<<"请选择c,h,或s:

";//提示用户输入字符

while((c=getchar())==''||c=='\n'||c=='\t');

switch(c){

case'c':

p=cloth;

break;

case'h':

p=hammer;

break;

case's':

p=scissors;

break;

case'g':

p=game;

break;

case'i':

p=instructions;

break;

case'q':

p=quit;

break;

default:

p=help;

break;

}

return(p);

}

enumc_h_sGame:

:

mach()

{

staticinti;

i=++i%3;

return((i==0)?

cloth:

((i==1)?

hammer:

scissors));

}

voidGame:

:

gamee(intwin,intlose,inttie)

{

cout<

cout<<"游戏结果如下:

";

cout<

cout.width(7);

cout<<"你获胜的次数是:

"<

cout.width(7);

cout<<"我获胜的次数是:

"<

cout.width(7);

cout<<"平局的次数为:

"<

cout.width(7);

cout<<"游戏的总次数是:

"<

}

voidGame:

:

helpp()

{

cout<

cout<<"你可以输入下列的字符:

"<

cout<<"c表示布"<

cout<<"h表示锤子"<

cout<<"s表示剪刀"<

cout<<"g查看游戏结果"<

cout<<"p打印出这些信息"<

cout<<"i重新打印出游戏指导信息"<

cout<<"q退出游戏"<

}

intGame:

:

won(enumc_h_splayer,enumc_h_smachine)

{

intvictory;

if(player==cloth)

victory=machine==hammer;

elseif(player==hammer)

victory=machine==scissors;

elsevictory=machine==cloth;

return(victory);

}

voidGame:

:

solution()

{

instruct();

while((player=select())!

=quit)

switch(player)

{

casecloth:

casehammer:

casescissors:

machine=mach();

if(player==machine)

{

++tie;

cout<

cout<<"平局";

}

elseif(won(player,machine))

{

++win;

cout<

cout<<"你获胜";

}

else{

++lose;

cout<

cout<<"我获胜";

}

casegame:

gamee(win,lose,tie);

break;

caseinstructions:

instruct();

break;

casehelp:

helpp();

break;

}

gamee(win,lose,tie);

cout<

cout<

cout<<"BYE!

"<

}

 

********************主函数定义模块main.cpp**************************

#include

usingnamespacestd;

intmain()

{

Gameg;

g.solution();

return0;

}

运行结果:

1、未输入任何命令

2、输入命令c

3、输入命令s

4、输入命令q,结束游戏。

设计过程

本次设计主要参考了网上搜索的资料,但搜索的资料并不符合课程设计要求,所以就要求我们运用我们所学知识按照课程设计要求改进,生成C++面向对象的程序文件。

首先,我根据网上的资料,把程序的流程图画出来。

把程序分成若干的功能块。

每个功能块能实现不通的功能,各功能块之间能够相互的调用。

功能块之间的合理组合实现了整个游戏的功能。

然后再定义各个功能块的作用,再根据作用用C++语言实现其功能。

并编译与链接各功能块,各功能块编译与链接正确后再把它们链接成一个工程。

本次设计中构造了一个Game类,将实现游戏的一些过程函数封装成类的函数,将在游戏里面需要的变量变成C++程序里面的数据成员。

然后分块将各个功能实现。

本次设计的评价与收获

三周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。

在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。

学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。

课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础.

提高了计算能力,,熟悉了规范和标准,同时各科相关的课程都有了全面的复习,独立思考的能力也有了提高。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1