C++课程设计报告参考 石头-剪刀-布 游戏
课程设计项目石头剪刀布

课程设计项目石头剪刀布一、课程目标知识目标:1. 让学生掌握“石头剪刀布”游戏的基本规则和策略。
2. 帮助学生理解概率和统计在游戏中的应用。
3. 引导学生认识随机事件和概率的基本概念。
技能目标:1. 培养学生运用概率知识进行问题分析和决策的能力。
2. 提高学生在游戏中观察、分析、推理的能力。
3. 培养学生的团队协作能力和沟通技巧。
情感态度价值观目标:1. 培养学生对数学学习的兴趣,激发学生的求知欲。
2. 培养学生积极参与、勇于挑战的精神,增强自信心。
3. 培养学生遵守规则、尊重对手的良好品质。
课程性质:本课程为数学学科的一节实践活动课,结合游戏教学,注重培养学生的实际操作能力和解决问题的能力。
学生特点:三年级学生具有一定的数学基础,对游戏有浓厚兴趣,好奇心强,喜欢动手操作。
教学要求:教师应充分调动学生的积极性,引导学生主动参与游戏,通过实践掌握概率知识,培养解决问题的能力。
在教学过程中,关注学生的个体差异,鼓励学生互相交流、合作,共同提高。
教学设计和评估将围绕课程目标,关注学生在知识、技能和情感态度价值观方面的具体学习成果。
二、教学内容1. 游戏规则与策略:介绍“石头剪刀布”游戏的基本规则,引导学生探索游戏中的策略,如如何根据对手的行为模式进行预测和决策。
关联课本章节:数学三年级上册“游戏与概率”单元。
2. 概率基础:讲解随机事件的概念,引导学生理解概率的定义,通过游戏实践让学生体会概率的数值表示。
关联课本章节:数学三年级下册“可能性”章节。
3. 数据收集与分析:组织学生进行多次游戏,收集数据,利用统计方法分析结果,探讨不同策略对游戏结果的影响。
关联课本章节:数学三年级下册“数据的收集与整理”章节。
4. 数学应用:讨论如何将概率知识应用到实际生活中,如决策、预测等,增强学生的数学应用意识。
关联课本章节:数学三年级下册“数学与生活”章节。
教学内容安排与进度:第一课时:介绍游戏规则与策略,进行初步实践。
《石头,剪子,布》小班游戏教案

一、教学目标:1. 了解石头、剪子、布的游戏规则,能积极参与游戏。
2. 培养幼儿的手眼协调能力和反应能力。
3. 增进幼儿之间的友谊,培养团队协作精神。
二、教学内容:1. 石头、剪子、布的游戏规则介绍。
2. 游戏过程中的策略和技巧。
3. 游戏中的道德教育和团队协作精神。
三、教学准备:1. 教学PPT或者黑板,用于展示游戏规则和结果。
2. 足够数量的石头、剪子、布的手势卡片。
3. 教学视频或者图片,用于演示游戏过程。
四、教学过程:1. 引入话题:邀请幼儿谈论他们知道的猜拳游戏,引导幼儿说出石头、剪子、布。
2. 讲解游戏规则:通过PPT或者黑板,向幼儿展示石头、剪子、布的游戏规则,让幼儿理解游戏的基本玩法。
3. 演示游戏过程:通过教学视频或者图片,向幼儿展示石头、剪子、布的游戏过程,让幼儿更好地理解游戏规则。
4. 组织游戏:将幼儿分成若干小组,每组三人,进行石头、剪子、布游戏。
教师巡回指导,纠正幼儿的游戏动作,引导幼儿遵守游戏规则。
5. 总结评价:游戏结束后,教师与幼儿一起总结游戏过程中的得失,培养幼儿的团队协作精神。
五、教学评价:1. 观察幼儿在游戏中的表现,评价幼儿对游戏规则的理解和掌握程度。
2. 关注幼儿在游戏过程中的团队协作精神,评价幼儿的沟通能力和社会交往能力。
3. 收集幼儿在游戏中的作品,评价幼儿的手眼协调能力和创造力。
六、教学延伸:1. 邀请家长参与游戏:家长可以与幼儿一起进行石头、剪子、布游戏,增进亲子关系。
2. 组织比赛:可以举行石头、剪子、布比赛,鼓励幼儿积极参与,培养竞争意识。
3. 创作石头、剪子、布相关作品:鼓励幼儿用手绘画、制作石头、剪子、布的手偶等,展示自己的创造力。
七、教学注意事项:1. 确保游戏环境安全,避免幼儿在游戏中受伤。
2. 关注每个幼儿的游戏体验,鼓励幼儿积极参与,不要轻易放弃。
3. 尊重幼儿的选择和决策,培养幼儿的独立思考能力。
八、教学资源推荐:1. 《石头、剪子、布》教学视频:通过视频展示游戏过程,帮助幼儿更好地理解游戏规则。
c课程设计石头剪刀布源码

c 课程设计石头剪刀布源码一、教学目标本节课的教学目标是让学生掌握石头剪刀布游戏的源码编写,培养学生的编程能力和逻辑思维能力。
具体来说,知识目标包括了解石头剪刀布游戏的规则和逻辑,掌握使用C语言编写简单游戏程序的方法;技能目标包括能够独立编写并调试C语言程序,培养良好的编程习惯;情感态度价值观目标包括培养学生对计算机科学的兴趣,增强学生的自信心和自主学习能力。
二、教学内容本节课的教学内容主要包括石头剪刀布游戏的规则介绍、C语言编程基础和游戏程序的编写。
首先,介绍石头剪刀布游戏的规则,让学生了解游戏的基本玩法;其次,讲解C语言编程的基础知识,包括变量、函数、循环和条件语句等;最后,引导学生动手编写石头剪刀布游戏的源码,让学生在实践中掌握编程技巧。
三、教学方法为了达到本节课的教学目标,将采用讲授法、案例分析法和实验法等多种教学方法。
首先,通过讲授法向学生讲解石头剪刀布游戏的规则和C语言编程基础知识;其次,通过案例分析法分析已有的石头剪刀布游戏程序,让学生理解程序的逻辑结构;最后,通过实验法让学生动手编写并调试游戏程序,提高学生的编程能力。
四、教学资源为了支持本节课的教学内容和教学方法的实施,将准备以下教学资源:教材《C语言程序设计》、参考书《C语言编程实例教程》、多媒体资料《石头剪刀布游戏教程》和实验设备(计算机、编程软件等)。
这些教学资源将帮助学生更好地理解和掌握编程知识,提高学生的学习效果。
五、教学评估本节课的教学评估将采用多元化的评估方式,以全面、客观地评价学生的学习成果。
评估方式包括平时表现、作业和考试等。
平时表现主要评估学生在课堂上的参与程度、提问和回答问题的积极性等;作业主要评估学生的编程能力和逻辑思维能力,通过布置相关的编程练习让学生完成;考试则是对学生综合运用所学知识解决问题能力的评估,将包括选择题、填空题和编程题等类型。
评估结果将及时反馈给学生,以帮助学生了解自己的学习情况,提高学习效果。
C++程序课程设计_剪刀石头布).doc

合肥工业大学课程设计报告课程名称C++语言课程设计课题名称剪刀石头布专业信息与计算科学班级09-1班学号********姓名王豹指导教师陈晓红2011 年6月6 日目录一、目的与要求………………………………………………………………公布、描述课程设计的目的,约束条件,要求达到的目标等内容一致。
二、工具/准备工作………………………………………………………在开放做课程设计项目前,应回顾或复习的相关内容:需要的硬件设施与需要的安装哪些c++集成开发软件。
三、分析………………………………………………………………………分析课程设计项目的实现方法,并写出类申明的核心算法和实现代码。
四、实现步骤…………………………………………………………………详细介绍项目的操作步骤五、测试与结果………………………………………………………………课程设计程序的屏幕显示,并加以简单的文字说明,注意程序运行要覆盖算法的各种情况,最后说明课程设计是否满足课程设计的要求六、课程设计总结…………………………………………………………主要说明程序设计的特点,进行了哪些功能的拓展,特别是独创或创新的部分,相关课程设计项目最有价值的内容,在哪些方面需要进一步的了解或得到帮助,以及编程实现课程设计的感悟等内容。
一、目的与要求设计一个石头剪刀布的游戏程序,其游戏基本内容为,游戏者用手表示石头,剪刀或布中的一个,出拳表石头,伸手两指表剪刀,伸手表布,游戏者选1,2,3中的一个,如果一样则平局,否则按下面的规则处理:(1)石头砸坏剪刀(2)剪刀剪碎布(3)布覆盖石头编程实现计算机与人进行游戏二、工具/准备工作实验开始前,先回顾和复习相关内容在自己的电脑上安装Visual C++,Dev-C++等集成开发软件三、分析#include "stdafx.h"#include <iostream>#include <stdlib.h>#include <time.h>#include <conio.h>#include <iomanip>using namespace std;int mun_eqv=0;//用于记录平局数int mun_cpt=0;//记录电脑胜利局数int mun_men=0;//记录用户胜利局数int cpt;//电脑出的随机数。
课程设计-石头剪刀布程序

目录1 程序设计与程序运行裁图……………………………………………………1.1 程序内容………………………………………………………………1.2 程序运行与裁图………………………………………………………┇2 程序说明与总结……………………………………………………………2.1 程序说明………………………………………………………………2.2 程序总结………………………………………………………………┇参考文献…………………………………………………………………………….1 程序与程序测试裁图1.1程序内容编写者:祎成时间2011年12月7日星期三程序的具体内容如下:<运行平台Microsoft visual C++6.0>#include<iostream>using namespace std;int sum=0;class chengji{public:chengji(int a=0,int b=0,int c=0)//========默认构造函数{win=a;los=b;tie=c;}void gshow();friend void bijiao(int a,int b);//========要对私有成员进行处理,定义为友元函数private:int win;int los;int tie;}ni;void chengji::gshow(){cout<<"游戏的总次数为: "<<sum<<endl;cout<<"此时游戏结果为下:"<<endl;cout<<"========== | 你 | 电脑 | ==="<<endl;cout<<"获胜的次数| "<<this->win<<" |"<<sum-win-tie<<" |"<<endl;cout<<"战输的次数| "<<this->los<<" | "<<sum-los-tie<<" |"<<endl;cout<<"========================================"<<endl;cout<<"平局的次数为: "<<tie<<endl<<endl;}void tishi(){cout<<"石头剪刀布游戏"<<endl;cout<<"在这个游戏中"<<endl;cout<<"c 表示布"<<endl;cout<<"h 表示石头"<<endl;cout<<"s 表示剪刀"<<endl;cout<<"游戏者和机器都只选择 c,h,s中的一个.如果二者的选择相同"<<endl;cout<<"那么这一局就是平局.同时胜负规则为:"<<endl;cout<<" 布和石头 ,则布获胜"<<endl;cout<<" 石头和剪刀 ,则石头获胜"<<endl;cout<<" 剪刀和布 ,则剪刀获胜"<<endl;cout<<"===================================================="<<endl;cout<<"在游戏中,请根据提示,键入关键字词然后以回车键确认"<<endl;cout<<"关键字词如下:"<<endl;cout<<"- g 表示显示此时的游戏结果"<<endl;cout<<"- p 表示获取游戏帮助"<<endl;cout<<"- i 表示获取游戏知道信息"<<endl;cout<<"- q 表示退出游戏程序"<<endl;}void help()//帮助函数 p 字符的处理{cout<<"你可以输入以下字符"<<endl;cout<<"- c 表示布"<<endl;cout<<"- h 表示锤子"<<endl;cout<<"- s 表示剪刀"<<endl;cout<<"- g 查看游戏结果"<<endl;cout<<"- p 字符输入帮助"<<endl;cout<<"- i 重新打印出游戏指导信息"<<endl;cout<<"- q 退出游戏程序"<<endl;}int mach()// 计算电脑出值的函数{static int i;i=++i%3;return((i==0)?3:((i==1)?1:2));}int select()//选择输入函数{int sele;char x;cout<<"请输入'c'布-'h'石头-'s'剪刀-'g'结果-'p'帮助-'i'疑问-'q'退出"<<endl;while(1){cin>>x;if(x=='c'||x=='h'||x=='s'||x=='g'||x=='p'||x=='i'||x=='q'){break; }};switch(x){case'h':sele=1;break;//1表示石头case's':sele=2;break;//2表示剪刀case'c':sele=3;break;//3表示布case'g':sele=0;ni.gshow();break;case'p':sele=0;help();break;case'i':sele=0;tishi();break;case'q':sele=4;break;}return sele;}void bijiao(int a,int b)//形参a表示的是自己的选择,b表示的是电脑玩家的选择{if(a==1){if(b==1){ni.tie++;cout<<"你出石头"<<endl;cout<<"电脑石头"<<endl;cout<<"此局为平局"<<endl;}else if(b==2){ni.win++;cout<<"你出石头"<<endl;cout<<"电脑剪刀"<<endl;cout<<"你赢啦!!!!!!"<<endl;}else{ni.los++;cout<<"你出石头"<<endl;cout<<"电脑布"<<endl;cout<<"恒遗憾!!!!!!"<<endl;}}else if(a==2){if(b==1){ni.los++;cout<<"你出剪刀"<<endl;cout<<"电脑石头"<<endl;cout<<"你输了!!!!!!"<<endl;}else if(b==2){ni.tie++;cout<<"你出剪刀"<<endl;cout<<"电脑剪刀"<<endl;cout<<"此局为平局"<<endl;}else{ni.win++;cout<<"你出剪刀"<<endl;cout<<"电脑布"<<endl;cout<<"你赢啦!!!!!!"<<endl;}}else{if(b==1){ni.win++;cout<<"你出布"<<endl;cout<<"电脑石头"<<endl;cout<<"你赢啦!!!!!!"<<endl;}else if(b==2){ni.los++;cout<<"你出布"<<endl;cout<<"电脑剪刀"<<endl;cout<<"很遗憾!!!!!!"<<endl;}else{ni.tie++;cout<<"你出布"<<endl;cout<<"电脑布"<<endl;cout<<"此局为平局"<<endl;}}}int main(){tishi();int nval=0,dval=0;while(1){nval=select();if(nval==4)break;if(nval!=0){sum++;dval=mach();bijiao(nval,dval);}};return 0;}1.2 程序测试与裁图运行:输入h后;接着随便输入:cchsshchchsschs 之后:接着输入g查看结果:输入p:输入i:输入一个错误的非关键字符a:输入q表示退出:程序结束。
c石头剪刀布课课程设计

c 石头剪刀布课课程设计一、教学目标本课程旨在让学生掌握“石头剪刀布”游戏的基本规则和策略,培养学生的逻辑思维能力和团队合作精神。
具体目标如下:1.知识目标:学生能够说出“石头剪刀布”游戏的起源、规则和基本策略。
2.技能目标:学生能够运用所学策略进行游戏,提高获胜的概率。
3.情感态度价值观目标:学生通过参与游戏,培养尊重对手、团队合作和公平竞争的精神。
二、教学内容本课程的教学内容主要包括以下几个部分:1.“石头剪刀布”游戏的起源:介绍“石头剪刀布”游戏的历史和传播过程。
2.游戏规则:讲解游戏的规则,包括手势的含义、比赛的形式等。
3.基本策略:教授学生如何根据对手的行为选择最优的手势,提高获胜的概率。
4.团队合作:引导学生学会与他人合作,共同制定策略,提高团队获胜的可能性。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用以下教学方法:1.讲授法:教师讲解“石头剪刀布”游戏的起源、规则和基本策略。
2.讨论法:学生分组讨论,分享彼此的游戏经验和策略。
3.案例分析法:教师提供案例,学生分析案例中的策略并加以改进。
4.实验法:学生进行“石头剪刀布”游戏,实践所学策略,教师点评并指导。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:《石头剪刀布游戏指南》2.参考书:《游戏理论》3.多媒体资料:相关游戏的视频、图片等4.实验设备:足够数量的石头、剪刀、布等游戏道具五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:评估学生在课堂上的参与度、提问回答等情况,占总评的30%。
2.作业:评估学生完成作业的质量和速度,占总评的30%。
3.考试:期末进行一次考试,测试学生对课程内容的掌握程度,占总评的40%。
评估方式要求客观、公正,全面反映学生的学习成果。
教师应及时给予反馈,帮助学生提高。
六、教学安排本课程的教学安排如下:1.课时:共计10课时,每课时45分钟。
石头剪刀布_C语言
综合训练1.2实验报告111511145_黄建军1 题目某猜拳游戏C程序开发:甲乙两人出拳玩石头、剪刀和布,游戏规则是石头>剪刀>布>石头,即如果甲出拳石头,乙出拳布,则乙胜,如果甲出拳剪刀,乙出拳布,则甲胜,以此类推。
2 问题分析1) 分别以不同的数字代表石头剪刀布,1-石头,2-剪刀,3-布,0-结束,其它数字无效,要求重输;2)游戏程序分别要求甲输入一个数,乙输入一个数;3)根据甲乙两人输入的数代表的含义,判断输赢;4)程序使用循环结构,遇到0终止游戏。
3 流程图4 C代码#include<stdio.h> int main(){int flag=1,p=0;int a,b,t;printf("游戏规则:\n");printf("1-石头,2-剪刀,3-布,0-结束(其它数字无效,需重新输入!)\n\n");while(flag==1){printf("甲: ");scanf("%d",&a);if(a==0) break;do{if((a>0)&&(a<4))break;else{printf("输入有误,请重新输入: ");scanf("%d",&a);}}while(p==0);printf("乙: ");scanf("%d",&b);if(b==0) break;do{if((b>0)&&(b<4))break;else{printf("输入有误,请重新输入: ");scanf("%d",&b);}}while(p==0);printf("\n");t=a-b;if(t==0) printf("平局!\n\n");elseif(t==-1||t==2)printf("甲胜! 乙输!\n\n");else printf("乙胜! 甲输!\n\n");}printf("\n游戏结束!!\n");return 0;}5 测试结果6 总结在完成此次作业的过程中,主要问题是代码书写过于繁琐,经过多次的修正校对,最终达到自己比较满意的结果。
《c语言课程设计报告--小游戏“石头剪子布”》-推荐下载
系统功能模块图: 输入:计算机随机输入选择,用户输入选择,并将数据储存。 计算:根据计算机和用户的选择,计算大小,并判断输赢,计算用户的胜负率, 并储存。 输出:根据用户的输入,将用户的游戏结果显示在屏幕上。
-2-
三、 主要问题的解决方法及关键技术
游戏功能需求分析: 输入数据: 计算机随机输入数据; 用户输入合法的数据 存储数据: 存储计算机的输入数据; 存储用户的合法输入数据; 判断用户的输赢: 根据用户的选择,比较用户与计算机的胜负 计算用户的胜负率: 根据计算机的记录,计算用户的胜负次数的总和及概率
② 获取用户的合法输入
-4-
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术通关,1系电过,力管根保线据护敷生高设产中技工资术艺料0不高试仅中卷可资配以料置解试技决卷术吊要是顶求指层,机配对组置电在不气进规设行范备继高进电中行保资空护料载高试与中卷带资问负料题荷试2下卷2,高总而中体且资配可料置保试时障卷,各调需类控要管试在路验最习;大题对限到设度位备内。进来在行确管调保路整机敷使组设其高过在中程正资1常料中工试,况卷要下安加与全强过,看度并22工且22作尽22下可22都能22可地护以缩1关正小于常故管工障路作高高;中中对资资于料料继试试电卷卷保破连护坏接进范管行围口整,处核或理对者高定对中值某资,些料审异试核常卷与高弯校中扁对资度图料固纸试定,卷盒编工位写况置复进.杂行保设自护备动层与处防装理腐置,跨高尤接中其地资要线料避弯试免曲卷错半调误径试高标方中高案资等,料,编试要5写、卷求重电保技要气护术设设装交备备置底4高调、动。中试电作管资高气,线料中课并敷3试资件且、设卷料中拒管技试试调绝路术验卷试动敷中方技作设包案术,技含以来术线及避槽系免、统不管启必架动要等方高多案中项;资方对料式整试,套卷为启突解动然决过停高程机中中。语高因文中此电资,气料电课试力件卷高中电中管气资壁设料薄备试、进卷接行保口调护不试装严工置等作调问并试题且技,进术合行,理过要利关求用运电管行力线高保敷中护设资装技料置术试做。卷到线技准缆术确敷指灵设导活原。。则对对:于于在调差分试动线过保盒程护处中装,高置当中高不资中同料资电试料压卷试回技卷路术调交问试叉题技时,术,作是应为指采调发用试电金人机属员一隔,变板需压进要器行在组隔事在开前发处掌生理握内;图部同纸故一资障线料时槽、,内设需,备要强制进电造行回厂外路家部须出电同具源时高高切中中断资资习料料题试试电卷卷源试切,验除线报从缆告而敷与采设相用完关高毕技中,术资要资料进料试行,卷检并主查且要和了保检解护测现装处场置理设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
C++课程设计报告参考 石头-剪刀-布 游戏
C++课程设计(论文)任务书电气学院电气专业 2 班一、课程设计(论文)题目:石头-剪刀-布游戏二、课程设计(论文)工作自2012 年 6 月18日起至 2012 年6 月 22 日止三、课程设计(论文) 地点: 计算中心机房606四、课程设计(论文)内容要求:1. 本课程设计的目的(1)进一步巩固和加深对“C++程序设计”课程基本知识的理解和掌握,了解C++语言在项目开发中的应用。
(2)学习程序设计开发的一般方法,了解和掌握项目开发过程及方式,培养正确的设计思想和分析问题、解决问题的能力,特别是项目设计能力。
(3)通过对标准化、规范化文档的掌握并查阅有关技术资料等,培养项目设计开发能力,同时提倡团队合作精神。
2. 课程设计的任务及要求(1) 基本要求:(1)对系统功能进行需求分析;(2)使用Visual C++编译器进行程序编译;(3)提出系统的设计方案;(4)编写源程序代码并进行调试。
(2) 创新要求在基本要求达到后,可进行创新设计。
(3) 课程设计论文编写要求课程设计报告的撰写要求表述简明,图表准确。
报告按如下内容和顺序用A4纸进行打印并装订成册。
(1)封面:采用统一的课程设计封面,并按要求填写好封面要求的个人信息和选题。
(2)设计任务书(3)评阅书(4)目录(5)正文(6)主要参考文献(4) 课程设计评分标准(1)达到课程设计的目的与要求,程序的可读性较好,并调试正确,60分;(2)能正确回答老师所提问题,可增加10分;(3)课程设计报告书写规范整齐,可增加10分;(4)心得体会认真总结,可增加10分;(5)程序有创新性,可增加10分;成绩评定实行优秀、良好、中等、及格和不及格五个等级。
不及格者需重做。
(5) 课程设计进度安排(1)准备阶段(6学时):选择设计题目、了解设计目的要求、查阅相关资料。
(2)程序模块设计分析阶段(8学时):程序总体设计、详细设计。
(3) 代码编写调试阶段(10学时):程序模块代码编写、调试、测试。
C语言石头剪刀布游戏课设(附源码)
C语言石头剪刀布游戏课设项目说明本系统基于C语言开发,适用于刚入门的C语言新手项目课设,开发软件采用VC++6.0开发,VS,DEV C++等均可运行。
(书生)项目运行截图代码界面截图完整源码#include <stdio.h>#include <conio.h>#include <stdlib.h>#include <time.h>void main(){char Human,Computer;int i,j,win=0,lose=0,deuce=0,result;void menu1(); //菜单函数1.2.3的声明void menu2();void menu3();srand(time(NULL));do{win=0,lose=0,deuce=0;menu1();printf("请做出你的选择:");scanf("%d",&i);if(i==1) //练习模式的开始{menu2();for(j=0;;j++) //无限循环体的引入{printf("第%d场比赛开始",j+1);printf("你的选择(1、2、3): ");while(1) //设计人与电脑的对战的while循环{Human = getch();if(Human=='1'||Human=='2'||Human=='3'||Human=='4'){printf("%C\t",Human);break;}} //无限循环的结束if(Human=='4') break;switch(Human) //判断开始游戏的真正对弈,人的主动选择{case '1': printf("石头VS ");break;case '2': printf("剪刀VS ");break;case '3': printf("布VS ");break;}Computer = rand()%3+1+48;switch(Computer) //电脑的随机选择{case '1': printf("石头\n");break;case '2': printf("剪刀\n");break;case '3': printf("布\n");break;}result=Human-Computer; //游戏结果的运算switch(result){case 0:deuce++;break;case -1:case 2:win++;break;case 1:case -2:lose++;break;}}printf("游戏结束\n");printf("----------------------------------\n");printf("***你和电脑一共决战了%d回合***\n",j);printf("***你赢了%d场,输了%d场****\n",win,lose);printf("----------------------------------\n");if(win==lose) //分出胜负{printf("***比赛结果:我们打成平手哦***\n");}else if(win>lose){printf("***比赛结果:电脑,我赢了哦***\n");}else if(win<lose){printf("***比赛结果:电脑,你赢了,但我不服,要再战一回合***\n");}} //对战模式的结束else if(i==2) //游戏模式的开始{menu3();for(j=0;j<2;j++) //for循环的开始,有限循环,满足两局一胜制{printf("第%d场比赛开始",j+1);printf("你的选择(1、2、3): ");while(1) //设计人与电脑的对战的while循环{Human = getch();if(Human=='1'||Human=='2'||Human=='3'||Human=='4'){printf("%C\t",Human);break;}} //for循环的结束if(Human=='4') break;switch(Human) //判断开始游戏的真正对弈,人的主动选择{case '1': printf("石头VS ");break;case '2': printf("剪刀VS ");break;case '3': printf("布VS ");break;}Computer = rand()%3+1+48;switch(Computer) //电脑的随机选择{case '1': printf("石头\n");break;case '2': printf("剪刀\n");break;case '3': printf("布\n");break;}result=Human-Computer; //游戏结果的运算switch(result){case 0:deuce++;break;case -1:case 2:win++;break;case 1:case -2:lose++;break;}}printf("比赛结束\n");if(win==lose) //分出胜负{printf("我们打成平手哦\n");}else if(win>lose){printf("电脑,我赢了哦\n");}else if(win<lose){printf("电脑,你赢了,但我不服,要再战一回合\n");}} //游戏模式的结束else if(i==3)printf("你退出游戏了哦\n");}while(i==1||i==2);}void menu1() //定义菜单函数1.2.3{printf("\t\t--------------------------------------------- \n");printf("\t\t| 欢迎来到石头剪刀布游戏|\n");printf("\t\t| ---------------------------------- |\n");printf("\t\t| |\n");printf("\t\t| 说明:练习模式,请按1 |\n");printf("\t\t| 游戏模式,请按2 |\n");printf("\t\t| 退出游戏,请按3 |\n");printf("\t\t--------------------------------------------- \n");return;}void menu2(){printf("\t\t---------------------------------------------\n");printf("\t\t| 欢迎来到练习模式|\n");printf("\t\t| ---------------------------------- |\n");printf("\t\t| |\n");printf("\t\t| 此游戏是用C语言实现的结构化程序|\n");printf("\t\t| 设计,能够实现用户和电脑互对玩的|\n");printf("\t\t| 过程,其中用户的出拳在下面有说明|\n");printf("\t\t| |\n");printf("\t\t| 用户操作: |\n");printf("\t\t| |\n");printf("\t\t| 1-石头2-剪刀3-布4-退出|\n");printf("\t\t|--------------------------------------------|\n");return;}void menu3(){printf("\t\t---------------------------------------------\n");printf("\t\t| 欢迎来到对战模式|\n");printf("\t\t| ---------------------------------- |\n");printf("\t\t| |\n");printf("\t\t| 说明: 三局两胜制|\n");printf("\t\t| 此游戏是用C语言实现的结构化程序|\n");printf("\t\t| 设计,能够实现用户和电脑互对玩的|\n");printf("\t\t| 过程,其中用户的出拳在下面有说明|\n");printf("\t\t| |\n");printf("\t\t| 用户操作: |\n");printf("\t\t| |\n");printf("\t\t| 1-石头2-剪刀3-布4-退出|\n");printf("\t\t|--------------------------------------------|\n");return;}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++课程设计(论文)任务书
电气学院电气专业 2 班
一、课程设计(论文)题目:石头-剪刀-布游戏
二、课程设计(论文)工作自2012 年 6 月18日起至 2012 年6 月 22 日止
三、课程设计(论文) 地点: 计算中心机房606
四、课程设计(论文)内容要求:
1. 本课程设计的目的
(1)进一步巩固和加深对“C++程序设计”课程基本知识的理解和掌握,了解C++语言在项目开发中的应用。
(2)学习程序设计开发的一般方法,了解和掌握项目开发过程及方式,培养正确的设计思想和分析问题、解决问题的能力,特别是项目设计能力。
(3)通过对标准化、规范化文档的掌握并查阅有关技术资料等,培养项目设计开发能力,同时提倡团队合作精神。
2. 课程设计的任务及要求
(1) 基本要求:
(1)对系统功能进行需求分析;
(2)使用Visual C++编译器进行程序编译;
(3)提出系统的设计方案;
(4)编写源程序代码并进行调试。
(2) 创新要求
在基本要求达到后,可进行创新设计。
(3) 课程设计论文编写要求
课程设计报告的撰写要求表述简明,图表准确。
报告按如下内容和顺序用A4纸进行打印并装订成册。
(1)封面:采用统一的课程设计封面,并按要求填写好封面要求的个人信息和选题。
(2)设计任务书
(3)评阅书
(4)目录
(5)正文
(6)主要参考文献
(4) 课程设计评分标准
(1)达到课程设计的目的与要求,程序的可读性较好,并调试正确,60分;
(2)能正确回答老师所提问题,可增加10分;
(3)课程设计报告书写规范整齐,可增加10分;
(4)心得体会认真总结,可增加10分;
(5)程序有创新性,可增加10分;
成绩评定实行优秀、良好、中等、及格和不及格五个等级。
不及格者需重做。
(5) 课程设计进度安排
(1)准备阶段(6学时):选择设计题目、了解设计目的要求、查阅相关资料。
(2)程序模块设计分析阶段(8学时):程序总体设计、详细设计。
(3) 代码编写调试阶段(10学时):程序模块代码编写、调试、测试。
(4) 撰写论文阶段(6学时):总结课程设计任务和设计内容,撰写课程设计论文。
学生签名:钟青峰
2012年6月11 日
课程设计(论文)评审意见
(1)态度评价(20分):优()、良()、中()、一般()、差();
(2)任务难度(20分):优()、良()、中()、一般()、差();
(3)设计分析(20分):优()、良()、中()、一般()、差();
(4)创新性评价(20分):优()、良()、中()、一般()、差();
(5)回答问题(20分):优()、良()、中()、一般()、差();
(6)论文格式规范性及考勤是否降等级:是()、否()
评阅人:杜玲玲职称:副教授
2012 年 6 月25 日
目录
第一章系统概要 (3)
第二章设计思路与算法 (5)
第三章源程序代码 (6)
第四章运行结果及分析 (8)
第五章心得体会 (10)
参考文献 (11)
第一章系统概要
简单游戏的设计能有效的培养编程能力,实现游戏者与电脑的游戏对决,通过系统的设计可以实现人机的互动对决。
1.进入系统,游戏者只需输入0或者1或者2,以不同出拳进入系统,如果输入0,1和2以外的其他字符,则显示输入错误,请重新输入。
2.游戏者根据需要输入0到2之间的数代表石头剪刀布,若出石头(输入0),电脑出剪刀(即电脑随机生成的数字为1),则游戏者赢,电脑输了,同理,根据石头赢剪刀,剪刀赢布,布赢石头的规则,游戏者每一次与电脑对决,分出输赢。
3.根据输赢的次数,编辑输出游戏者与电脑对决输赢的次数,即战况。
4.程序要用到随机函数,即随机生成不同的数字(0,1,2),这样保证每次游戏者与电脑对决电脑不会出同样的拳(数字),因为数字的变化和输入数字的不同,程序要用到选择判断语句,考虑用if语句,为每次对决后能继续游戏,程序应用到循环结果,可用while语句来实现循环。
第二章设计思路与算法
图2-1 总体设计
第三章源程序代码
#include<iostream.h>
#include<stdlib.h>
#include<time.h>
#include<conio.h>
void main()
{
int i,j,k,l,n,m;
cout<<"欢迎进入石头剪刀布小游戏\n"<<"请输入输入石头(0)剪刀(1)布(2):"<<endl;
cout<<"按任意键开始"<<endl;
getch();
cout<<"如果结束游戏选择除0~2的任意数\n"<<endl;
l=0,k=0,j=0,i=0;
while(1)
{
i++; //每进行完一局局数自动加1
cout<<"********第"<<i<<"局********"<<endl; //第i局
cout<<"请选择";
cin>>n;
if(n>=3)
{
cout<<"你选择了退出游戏,游戏结束\n你的最终成绩:";
cout<<"赢"<<k<<"次,输"<<l<<"次,平"<<j<<"次"<<endl;break;
}
srand((unsigned)time(NULL));
m=rand()%3; //系统生成0~2之间的随机数
if(m==0)
cout<<"对方出了石头"<<endl;
else if(m==1)
{
cout<<"对方出了剪刀"<<endl;
}
else
{
cout<<"对方出了布"<<endl;
}
if(n==0&&m==1) //系统随机数与输入的数字比较{
cout<<"恭喜你,你赢了!"<<endl;
k++;
}
else
if(n==1&&m==2) //系统随机数与输入的数字比较{
cout<<"恭喜你,你赢了!"<<endl;
k++;
}
else
if(n==2&&m==0) //系统随机数与输入的数字比较{
cout<<"恭喜你,你赢了!"<<endl;
k++;
}
else
if(n==m) //系统随机数与输入的数字比较{
cout<<"势均力敌!"<<endl;
j++;
}
else //非赢非平
{
cout<<"很遗憾,你输了!"<<endl;
l++;
}
cout<<"战况:赢"<<k<<"次,输"<<l<<"次,平"<<j<<"次"<<endl;
cout<<"*****************************\n"<<endl;
}
}
第四章运行结果及分析
图 4-1
1.进入程序,出现如图4-1的画面,游戏者可从0~2中选一个数输入来进行游戏,0代表石头,1代表剪刀,2代表布,如果输入其它数则结束游戏。
图4—2
2.第一局,游戏者输入1(剪刀),系统出布,游戏者赢了,输出战况。
第二局开始。
图4—2
3.第二局中,游戏者输入9,即选择退出游戏,游戏结束。
系统输出最终成绩。
第五章心得体会
1.通过学习对随机函数的产生和运用有了初步的了解和认识,能正确运用随机种子产生相应范围内的随机数,进一步增进了对c++语言的运用和了解。
2.对C++语言的程序控制结构有了更深的了解,熟练地掌握了多种程序结构的联合使用,对C++语言有了更进一步的了解,也培养了对C++的浓厚兴趣。
3.对C++程序设计的运行界面的布局有了进一步的了解
4.对C++的查错能力有了进一步的提高。
5.培养了自己独立完成任务的能力。
6.在课程设计中,我主要负责收集相关的资料和提供相关的意见。
参考文献
[1]柴欣,张红梅.Visual C++程序设计基础(第二版)[M].中国铁道出版社. 2007.8
[2]吕凤翥. C++语言基础教程[M]. 清华大学出版社. 2007.2
[3] 《C++程序设计》精品课程
[4] 徐慧民.C++大学基础教程 . 人民邮电出版社.2009.1
11。