项目实战1猜拳游戏C语言_第1页
项目实战1猜拳游戏C语言_第2页
项目实战1猜拳游戏C语言_第3页
项目实战1猜拳游戏C语言_第4页
项目实战1猜拳游戏C语言_第5页
已阅读5页,还剩11页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序逻辑及C语言编程项目实战一猜拳游戏2023/1/111中国职业教育联盟课程体系中国职业教育联盟课程体系成就百万精英1.1需求描述实现一个猜拳游戏。游戏分为5局,每局用户可以猜拳一次,分胜、负、平三种结果。游戏中用户可以出石头、剪刀、布三种拳。五局结束后,统计用户胜、负、平的次数,并显示最终游戏结果(输了、赢了,还是平了?)和每局游戏结果。用户可以选择再来一次或退出游戏游戏运行效果

1.2问题分析在游戏中只有三种拳式,即石头、剪刀、布。我们可以先将这三种拳式进行编号(如1、2、3),定义一个变量用于存储用户当前局次的出拳,并提示用户怎么出拳

游戏运行效果

1、思考:用户如何出拳?定义变量表示用户出拳:接收用户输入,即用户出拳:提示信息如下:printf("\t2.游戏中您可以输入1、2、3分别代表出石头、剪刀、布。\n");intuser=0; //表示用户的出拳,默认为0表示未出拳scanf(“%d”,&user);还要验证用户输入是否在规定范围内代码提示:while(user<1||user>3){…//省略

scanf("%d",&user); //判断出拳是否正确,若不正确给出提示

if(user<1||user>3) {

printf("\t〖提示〗:出错了,只能选择1(石头)、2(剪刀)、3(布)!\n"); }…//省略}1.2问题分析电脑也只能出石头、剪刀、布三种拳式中的一种。为了比较用户和电脑出拳,电脑和用户拳式的编号要一致2、思考:电脑如何出拳?我们在这里用C语言中的一个库函数rand来产生随机数computer=rand()%3+1;//随机产生1、2、3之中任意一个数在C语言中通过srand()函数为rand()函数提供种子(即上述中的特定数)。所以在使用rand()产生随机数之前,应该调用srand函数为rand()函数提供种子//产生随机数表示电脑出拳srand(time(NULL));computer=rand()%3+1;//产生1、2、3之中任意一个数1.2问题分析游戏运行效果

首先定义全局变量来存储用户胜、负的次数,比如使用win代表赢的次数、failed代表输的次数,平局的次数可以通过5-win-failed计算出来。在每一局中,如果用户赢了,则win++;如果用户输了,则failed++3、思考:如何统计游戏结果?代码提示://输出猜拳结果printf("\n\n【猜拳结果】");if(…)//省略{

printf("您赢了!");}elseif(…)//省略{

printf("平手!");}else{

printf("您输了!");}printf("\n-------------------------------------------------------\n");printf("\t您的成绩:%d胜%d败%d平!\n\n",win,failed,5-win-failed);printf("\t电脑的成绩:%d胜%d败%d平!",…);//省略printf("\n-------------------------------------------------------\n");1.2问题分析代码提示:可以将整个游戏实现部分用do-while或者while循环包含起来。当游戏结束后提示用户是否再玩一次?如果用户选择继续,则再执行游戏实现部分代码一次,反复这样就可以实现了4、思考:如何循环游戏?do{ …//游戏实现部分省略

if(win-failed<=0) {

printf("不服气吗?请输入y或者Y再来,输入其它则离开!\n"); } else {

printf("您这次运气不错!需要再来一次吗(y/n)?\n"); }

printf("请输入:");

fflush(stdin); //清空缓存}while(scanf("%c",&in),in=='y'||in=='Y');1.2问题分析游戏运行效果

根据石头比剪刀大,剪刀比布大,布比石头大的游戏规则,我们可以用条件语句来判断用户出拳与电脑出拳的关系5、思考:如何比较用户和电脑出拳的胜、负、平?代码提示://如果用户和电脑出拳相同,则为平局if(user==computer){ //平局

printf("\t这一局,您和电脑打成平手!\n"); continue;}//判断用户出拳,计算用户出拳是赢了还是输了switch(user){case1:

printf("\t这一局,您出的是〖石头〗,");

if(computer==2) { …//省略

} else { …//省略 } break;case2: …//省略case3: …//省略}1.3技术与工具猜拳游戏用到了C语言80%所学的知识点,如数据类型、运算符、表达式、条件语句、循环语句,其中以运用循环语句和条件语句为主。技术

工具

猜拳游戏使用的编程工具是MicrosoftVisualStudio2010。1.4阶段划分猜拳游戏实现阶段划分阶段名称用时描述第一阶段30分钟设计游戏界面、理清游戏思路,打印游戏标题、规则。第二阶段65分钟实现电脑和用户出拳及比较。第三阶段25分钟实现统计并显示游戏结果。第四阶段25分钟实现游戏能循环运行。第五阶段25分钟反复运行、调试程序,解决bug。1.4.1第一阶段共性问题集中讲解完成时间:30分钟1.4.2第二阶段共性问题集中讲解完成时间:65分钟1.4.3第三阶段共性问题集中讲解

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论