C++课程设计石头剪刀布

合集下载

《石头剪刀布》教案(通用5篇)

《石头剪刀布》教案(通用5篇)

《石头剪刀布》教案(通用5篇)《石头剪刀布》教案篇1一、教材及学情分析:学情分析:本班是智障三班级的同学,中度智障,其中有2个孩子是脑瘫。

班上大部分同学具备肯定的识字、说唱的力量,口语表达力量较好,乐于参加嬉戏。

教材分析:“剪刀、石头、布”的嬉戏是伴随每个人成长的生活小嬉戏,某种意义上而言,它可以说是每个人必需把握的生活嬉戏。

本课选择的《剪刀石头布》儿歌,体现学习从孩子们生活中来,也应用于孩子的生活,即教学内容的生活化;该儿歌节奏简洁,旋律美丽,布满童趣,适合孩子传唱,将嬉戏的规章通过儿唱歌游的方式,将嬉戏的规章、方法表述得简洁、清楚、儿童化,能激发同学学习爱好,符合智力障碍儿童的认知特点;通过对剪刀、石头、布的手指动作的形象仿照,孩子的手指精细动作得到进一步康复熬炼;该嬉戏是必需两人以上才能进行的嬉戏,同学在学与日常应用中,能进一步增加与他人沟通、合作的力量,同时,该嬉戏也将成为孩子们与他人沟通沟通的方式之一。

二、教学目标:学问与技能:把握“剪刀、石头、布”嬉戏的方法,并能说唱歌曲《剪刀、石头、布》。

过程与方法:同学得到愉悦的情感体验,精细动作得到进一步熬炼。

情感与态度:进一步增加同学的相互沟通及团队合作意识,激发同学喜爱生活的热忱。

三、教学重点与难点:确定教学重点是在明确教学目标的基础上进行制定的,本节课的教学重点是通过唱游的方式让同学跟着音乐律动并完成嬉戏。

教学难点则在于同学对于嬉戏规章的把握,同学的仿照力量相对较好,但是抽象思维并作出推断的力量还是相对较弱,对于嬉戏中三项规章需要通过重复强化,并用卡片的方式出示出来,将抽象规章转化为形象的图表,这样有利于同学对于嬉戏规章的把握。

四、教学理念和设想:(一)“三化”教学模式我校“三化”教学模式要求:教学内容生活化、教学形式活动化、教学组织个别化。

本节课是在“三化”教学模式的指导下进行设计的:1、教学内容生活化:剪刀、石头、布三种物品在生活中随处可见,贴进同学的生活,同学对于这三样物品的外貌特征以及用处都比较熟识,而由剪刀、石头、布派生出来的音乐嬉戏猜拳,同学在日常生活中偶有接触,同学在已有的生活阅历中学习,有利于开展教学。

《石头、剪刀、布》小学编程教案

《石头、剪刀、布》小学编程教案

导学评一体化课时设计一、引入师:回顾上节课知识。

师:请同学们打开书,翻到书上对应页。

师:今天我们来学习“石头、剪刀、布”。

二、新课教学师:学一学,第109页1.“制作一个石头剪刀布游戏”的编程思路。

2.将Meowbit主板与Kittenblock软件进行连接(一)编写程序设置变量自学要求:1.独立看书,第111页。

2.编写程序,设置变量。

(1)自学生:自学(学生在自学的时候,教师巡视)。

生:完成了。

(2)展学小组代表回答。

(二)完成石头剪刀布程序互学要求:1.小组讨论,说一说“如何编写程序”。

能完独立说出“制作一个石头剪刀布游戏”的编程思路。

能完成任务;编写程序设置变量能完成任务;完成石头剪刀布程序能解决提出的问题【白板功能】拖拽【白板功能】笔勾画重难点【白板功能】课堂活2.编写程序实现石头剪刀布游戏。

(1)互学生:小组合作互学讨论生:上机操作。

生:完成了。

(2)展学要求:(1)根据分工进行展示。

(2)面向全班、声音洪亮、仪态大方。

(3)其他同学补充、质疑。

小组:举手。

小组:展示,请其他小组补充。

请其他小组评价。

小组:展示,请其他小组补充。

请其他小组评价。

三、总结生:思考本节课学习要点。

生:说本节课的收获。

(可以说自己在方法上的收获,也可以说自己从失败中得到的教训动:连线题、选择题、填空题【白板功能】多屏互动:手机投屏学生作品并演示。

《石头剪刀布(一)》教学设计

《石头剪刀布(一)》教学设计

《石头剪刀布(一)》教学设计梁雪梅一、教材分析(含课标要求)本学期使用一种可编程嵌入式设备micro:bit来学习编程。

micro:bit是英国BBC公司专门为青少年学习编程而开发的工具,通过编程,可以在micro:bit 上实现很多酷炫的小发明。

micro:bit将编程教学与实际应用相结合,并且切合了信息技术的最新应用,如人工智能、物联网等案例。

培养了学生的创新能力、激发学生的创新思维。

同时,代码编程与图形化编程相结合,照顾了各层次的学生需要,实现分层教学。

本课是教材的第七课,主要包含两部分内容:用加速度传感器实现石头剪刀布的游戏;用按钮实现石头剪刀布的游戏。

在教学内容和形式上,本课使用已学知识编写游戏,比较注重培养学生的创新思维和实践能力。

在学习的过程中,主要采用组合积木的方式教学,并分小组合作完成各项任务。

最后,各小组成员用micro:bit检测程序并展示作品。

二、学情分析石头剪刀布是生活中常玩的游戏。

所以对于本节课的教学,教师从日常小游戏出发,激发学生的学习兴趣。

因此,使用“大头儿子小头爸爸玩石头剪刀布的游戏”引入本节课内容。

新课学习内容主要为使用加速度传感器和按钮来实现石头剪刀布的游戏。

课题练习为通过按钮实现随机数的产生。

最后的拓展练习为利用加速度传感器制作水平仪。

本课内容紧扣已学编程知识(DIY图案、加速度传感器、按钮),引导学生实现小游戏开发。

让学生在学习过程中学会自主探究、设计和协作交流。

三、教学策略(完成教学任务所采用的方法、步骤、媒体和组织形式等教学措施构成的综合性方案)1、使用加速度传感器首先,通过微课视频引出石头剪刀布的游戏。

在微课内容后半部分介绍如何用micro:bit实现石头剪刀布的游戏。

在这个过程中引导学生用加速度传感器来模拟出拳。

最后,要求学生合作完成该程序,并用micro:bit玩石头剪刀布的游戏。

2、使用按钮在使用加速度传感器实现石头剪刀布游戏的基础上,将使用加速度传感器模拟出拳改为使用按钮模拟出拳,引导学生修改程序,并用micro:bit玩石头剪刀布游戏。

C语言编写剪刀石头布

C语言编写剪刀石头布

C语言编写剪刀石头布#include#include //getch接受一个字符#include#includevoid gamedisplay(){printf("---------------------------------------\n"); printf("| -------------- |\n");printf("| 石头剪刀布游戏 |\n");printf("| |\n");printf("| |\n");printf("| 用户操作: |\n");printf("| 0表示石头 |\n");printf("| 1表示剪刀 |\n");printf("| 2表示布 |\n");printf("| 3exit |\n");printf("| author:风语 |\n");printf("---------------------------------------\n"); }void gameoverdisplay(int win,int lose,int ping) {printf("---------------------------------------\n"); printf("| -------------- |\n");printf("| 石头剪刀布游戏 |\n");printf("| 欢迎使用~!! |\n");printf("| |\n");printf("| 胜利:%d |\n",win);printf("| 输:%d |\n",lose);printf("| 平手:%d |\n",ping);printf("| |\n");printf("| |\n");printf("| author:风语 |\n");printf("---------------------------------------\n"); }int randcomputer(){srand(time(NULL));return rand()%3+48;}void main(){char ch,computer;int win=0,lose=0,ping=0;gamedisplay();while(1){printf("请出牌:\n");ch=getch();if(ch=='3')break;switch(ch){case '0':printf("剪刀VS");break;case '1':printf("石头VS");break;case '2':printf("布VS");break;default :printf("输入错误,请重新输入。

剪刀石头布课程设计

剪刀石头布课程设计

剪刀石头布 课程设计一、课程目标知识目标:1. 学生能理解“剪刀石头布”游戏中所涉及的简单概率计算原理,掌握基本的概率概念。

2. 学生能够运用图表和计算方法,分析并预测“剪刀石头布”游戏的结果。

3. 学生能结合日常生活实例,理解数学在生活中的应用,认识到数学与生活密切相关。

技能目标:1. 培养学生运用数学知识解决实际问题的能力,通过“剪刀石头布”游戏,提高学生的观察、分析、计算和逻辑推理能力。

2. 培养学生进行小组合作、讨论交流的能力,提高学生的表达和沟通技巧。

情感态度价值观目标:1. 学生在轻松愉快的游戏氛围中,体验数学学习的乐趣,激发学习数学的兴趣。

2. 培养学生面对问题勇于尝试、积极思考的态度,增强学生的自信心和自主学习能力。

3. 学生通过合作交流,培养团队精神,学会尊重他人,提高人际交往能力。

课程性质:本课程以趣味游戏为载体,结合数学知识,注重培养学生的实践操作能力和团队合作精神。

学生特点:针对小学四年级学生,好奇心强,活泼好动,喜欢游戏,但注意力集中时间较短。

教学要求:教师需结合学生特点,采用生动有趣的教学方法,引导学生积极参与,注重培养学生的动手操作能力和实际应用能力。

在教学过程中,关注学生的学习反馈,及时调整教学策略,确保学生达到预设的课程目标。

通过本课程的学习,使学生能够将所学知识内化为具体的学习成果,为后续的数学学习奠定基础。

二、教学内容本课程以小学四年级数学教材中“可能性”单元为依据,结合“剪刀石头布”游戏,组织以下教学内容:1. 游戏导入:介绍“剪刀石头布”游戏,引导学生发现游戏中存在的可能性问题。

2. 概率基础:讲解概率的基本概念,如必然事件、不可能事件、随机事件等。

3. 游戏分析与计算:a. 分析“剪刀石头布”游戏中各事件的可能性,如胜利、平局、失败等。

b. 引导学生运用图表和计算方法,预测游戏结果。

4. 实践操作:组织学生进行小组合作,进行“剪刀石头布”游戏实践,记录结果并进行分析。

石头-剪刀-布游戏

石头-剪刀-布游戏

石头-剪刀-布游戏一设计要求在游戏中,孩子们用手表示石头、剪刀或布中的一个,由拳头表示石头,伸出两根手指表示剪刀,伸手表示布,孩子们面对面地从1数到3时做出他们的选择,如果所作选择是一样的,则表示平局,否则就按如下规则决定胜负。

(1)石头砸坏剪刀。

(2)剪刀剪碎布(3)布覆盖石头编程实现计算机与人进行游戏。

二参考界面三设计思路与算法1.让计算机随机产生0-2任意数,其中0代表计算机出剪子,1代表出石头,2代表出布参考代码提示:#include <ctime>#include <stdlib.h>int main1(int n1){srand((unsigned)time(0));//使用系统定时/计数器的值做为随机种子,指定seed为当前系统流逝了的时间,time(t)被定义为长整型,它返回从1970年1月1日零时零分零秒到目前为止所经过的时间n1=rand()%3;//随机产生0-3之间的数,不含有3,取得[a,b)之间的随机整数,使用(rand() % (b-a))+ a return n1;}相关知识点:库函数中系统提供了两个函数用于产生随机数:srand()和rand()。

函数:int rand(void);从srand (seed)中指定的seed开始,返回一个[seed, RAND_MAX(0x7fff))间的随机整数。

函数:void srand(unsigned seed);参数seed是rand()的种子,用来初始化rand()的起始值。

2.人机游戏在主函数中实现思路提示:可使用while语句和switch…case语句实现菜单功能的循环选择。

参考代码提示:#include<conio.h>void main(){getch();//函数用途:从控制台读取一个字符,但不显示在屏幕上do{int cho;cin>>cho; //用户输入1-3任意数good=main1(temp);switch (good){case 0:cout<<"对方出了剪子\n";if(cho==1){cout<<"势均力敌\n";ping++;}….case 1:cout<<"对方出了石头\n";….case 2:cout<<"对方出了布\n";….}}}。

石头 剪子 布 游戏代码(可以输入局数 flag的运用)

石头剪子布游戏代码(可以输入局数flag的运用)#include <stdio.h>#include <stdlib.h>int main(){int i = -1;int j = arc4random_uniform(3);int User =0,Computer = 0;int Round = 0;int flag =1;while(flag){printf("请输入你要玩的总回合数:\n");scanf("%d",&Round);if(Round%2==0){printf("请重新输入一个奇数的总局数\n"); flag = 1; //判断如果输入的是偶数局,提示重新输入}else{flag = 0; //判断如果输入的是奇数局,继续运行下面的程序}}while(Round!=0){printf("请输入一个拳: 0 石头 1 剪子 2 布\n");scanf("%d",&i);if(i<0||i>2) return 0; //判断你是否出错拳int k =i-j;if(k==-1||k==2){ //判断电脑赢的情况Computer++; Round--; //电脑赢了}else{if(k==-2||k==1){ //判断你赢的情况User++;Round--; //你赢了}else{Round--; //平局}}}if(Computer>User){ //判断电脑和你谁赢的次数多printf("电脑赢%d局,你赢%d局,很遗憾电脑胜出!!!\n",Computer,User); }else{if(Computer<User){printf("电脑赢%d局,你赢%d局,恭喜你胜出!!!\n",Computer,User); }}return 0;}。

c 石头剪子布

#include<iostream>#include<ctime>#include<cstdlib>using namespace std;void main(){srand(time(0));int a,i=0,b,ying=0,shu=0,ping=0,sum=0;do{system("color d");cout<<"石头剪子布!!!(1,2,3) --退出使用其他任意键"<<endl;a=rand()%3+1;cin>>b;switch(b){case 1:cout<<"你出石头"<<ends;break;case 2:cout<<"你出剪刀"<<ends;break;case 3:cout<<"你出布"<<ends;break;default: goto jieshu;}cout<<"VS 电脑出";switch(a){case 1:cout<<"石头";break;case 2:cout<<"剪刀";break;case 3:cout<<"布";break;}cout<<endl;if(a==b){cout<<"o(>﹏<)o 不是吧,我开挂了还平手啊,不行再来一次!!!"<<endl;ping++;}elseif(b==a-1||(b==3&&a==1)){cout<<"(*@ο@*)这局就勉强算你赢了吧,继续继续!!!"<<endl;ying++;}else{cout<<"O(∩_∩)O~ 没事没事,再接再厉!!!"<<endl;shu++;}sum++;system("pause");jieshu: system("cls");}while(b==1||b==2||b==3);if(sum==0)cout<<"小子,你是来砸场子的吧!囧rz"<<endl;else{cout<<"赢了"<<ying<<"局"<<ends;cout<<"输了"<<shu<<"局"<<ends;cout<<"平手"<<ping<<"局"<<endl;cout<<"共玩"<<sum<<"局"<<endl;if(sum>10)cout<<"o(≧v≦)o~~欢迎再次光临"<<endl;elsecout<<"( ˇ?ˇ )有点累了,不陪你玩了"<<endl;}system("pause");}。

石头剪刀布 《石头剪刀布》中班游戏教案(优秀3篇)

石头剪刀布《石头剪刀布》中班游戏教案(优秀3篇)作为一位优秀的人民教师,通常需要用到教案来辅助教学,教案有利于教学水平的提高,有助于教研活动的开展。

优秀的教案都具备一些什么特点呢?作者整理了3篇《石头剪刀布》中班游戏教案,希望您在阅读之后,能够更好的写作石头剪刀布。

幼儿园游戏活动案例《石头剪刀布》篇一游戏目标:1、熟悉猜拳游戏,提高身体反应能力和灵敏性。

2、与同伴互动,共同遵守游戏规则带来的乐趣。

3、促进幼儿手脚和全身动作的协调性和灵活性。

游戏准备:道具准备:爱心能量牌16张、名牌卡16张、游戏音乐。

经验准备:有玩剪刀石头布游戏的经验。

游戏玩法:用脚玩剪刀石头布的`游戏分出胜负。

(1、赢的小朋友向终点线迈一大步,较先走到终点线的获胜。

2、赢的小朋友跑去抓输的小朋友。

3、赢的小朋友跑去撕输的小朋友的名牌)游戏过程:1、谈话导入。

2、热身运动。

3、两个教师榜样游戏《剪刀石头布》的玩法。

4、幼儿两两结对玩游戏《剪刀石头布》,赢的幼儿向终点线迈一大步,较后分出胜负。

5、幼儿两两结对玩游戏《剪刀石头布》,赢的幼儿跑去抓输的幼儿,若抓到,请输的幼儿拔一个爱心能量送给赢的幼儿贴在爱心能量牌上。

6、放松。

7、《撕名牌》幼儿两两结对玩游戏《剪刀石头布》,赢的幼儿跑去撕输的幼儿的名牌。

8、游戏结束,赢的小朋友挠输的小朋友痒痒,之后放松。

游戏反思:剪刀石头布是我国传统的民间体育游戏,深受孩子们的喜爱。

把剪刀石头布的手上游戏创新为手脚并用游戏,具有挑战性,符合大班幼儿活泼好动的个性特点。

在此游戏的创新活动中,从幼儿自己单手游戏到双手游戏,再到脚上创新游戏,较后小组竞争分组比赛,……即体现了由易到难、由单人到双人到多人循序渐进的活动过程,既锻炼了幼儿的腿部力量,提高了幼儿身体动作的协调性与灵敏性,又使他们从中体验到了合作游戏的快乐!幼儿园游戏活动案例《石头剪刀布》篇二活动目标:1、能用石头剪刀布的方式合作将构图填满满,简单分割画面。

《石头,剪子,布》小班游戏教案

一、教案基本信息1. 主题:《石头,剪子,布》游戏2. 年龄段:3-4岁幼儿3. 教学目标:认知目标:让幼儿认识并理解“石头,剪子,布”游戏的规则和玩法。

技能目标:培养幼儿的手眼协调能力和反应能力。

情感目标:培养幼儿的团队合作精神,增强自信心。

二、教学内容1. 游戏规则介绍:石头、剪子、布三种手势的输赢关系,以及游戏的基本规则。

2. 游戏玩法讲解:如何进行游戏,包括石头、剪子、布的出拳方式,以及胜负的判断方法。

3. 游戏技巧分享:如何观察对手的出拳习惯,提高自己的胜率。

三、教学过程1. 热身活动(5分钟):带领幼儿做简单的手指游戏,活跃气氛,提高幼儿的注意力。

2. 教学讲解(10分钟):讲解游戏规则和玩法,可以通过示例或者动画形式进行讲解,确保幼儿能够理解和掌握。

3. 游戏实践(10分钟):分组进行游戏实践,教师巡回指导,纠正错误,帮助幼儿巩固所学内容。

4. 总结与反思(5分钟):让幼儿分享自己的游戏体验,总结游戏中遇到的问题和解决方法,教师进行点评和总结。

四、教学评价1. 观察幼儿在游戏中的表现,包括对游戏规则的理解、游戏的操作技能以及团队合作精神等方面。

2. 通过问答或者测试的方式,检查幼儿对游戏规则和玩法的掌握程度。

五、教学资源1. PPT或者动画演示:用于讲解游戏规则和玩法。

2. 教学卡片或者贴纸:用于标记石头、剪子、布的手势,方便幼儿学习和实践。

3. 计时器:用于控制游戏实践的时间。

六、教学拓展活动1. 创意石头、剪子、布:让幼儿用自己的方式创造出独特的石头、剪子、布形象,如绘画、手工制作等,提高幼儿的创造力。

2. 石头、剪子、布故事会:让幼儿发挥想象,创作关于石头、剪子、布的故事,并分享给大家,培养幼儿的叙事能力和语言表达能力。

七、安全注意事项1. 游戏过程中,教师要确保幼儿之间保持安全距离,避免碰撞或者误伤。

2. 提醒幼儿在使用手势时要注意力度,避免伤到自己和他人。

八、家庭延伸活动1. 家长可以与幼儿一起玩石头、剪子、布游戏,增进亲子关系。

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

计算机科学与技术学院 《C高级语言程序设计》课程设计报告 ( 2014 /2015 学年 第 1 学期)

学生姓名: 学生专业: 学生班级: 学生学号: 指导教师:

2015年 1 月 9 日 计算机科学与技术学院 课程设计任务书 课程设计名称 《C高级语言程序设计》课程设计 课程设计题目 石头剪刀布小游戏 学生姓名 专业班级 学号

课程设计任务内容

[问题描述] 设计一个游戏,在游戏中用户用手表示石头、剪刀或布中的一个,出拳头表示石头,伸出两根手指表示剪刀,伸手表示布,用户做出他们的选择,计算机也随机的做出选择,如果所作的选择是一样的,则表示平局,否则就按如下规则决定胜负:石头砸坏剪刀;剪刀剪碎布;布覆盖石头,编写程序实现计算机与人进行游戏。

[基本要求] (1)知识要求:了解和掌握枚举类型的要求;知道c++中类的各部分定义时的要求和注意;函数调用的必备知识;随机函数rang所需要点;知道调用类里面的函数要用到区域符“::”,函数输出输入所需内容等

(2)结果要求:至少可以在输入相应的命令如(c,h,s,I,p,q)后,可以显示相应的结果能够让玩家可以了解和体会游戏,并且可以自由的运行游戏。

[测试要求]

(1)可以运行代码并显示这是基本要求。 (2)在输入布,剪刀,石头中任一选项时,电脑会出现任一选项与之对应并输出结果。 (3)输入正确的命令测试是否运行正常,并得到想要的结果。

指导教师:

时 间: 年 月 日

计算机科学与技术学院 课程设计成绩评审表 课程设计名称 《C高级语言程序设计》课程设计 课程设计题目 石头剪刀布小游戏 学生姓名 专业班级 同组人 学号 指导教师 设计成绩

评价内容

签 字: 时 间: 年 月 日

目录 第一章. 设计问题描述与分析..............................1 1.1问题描述.................................................1

1.2 系统功能分析..............................................1 第二章.算法设计与流程图..................................2

2.1算法设计................................................2 2.2流程图...................................................5 第三章.程序设计编码与测试................................7

3.1程序代码..................................................7

3.2测试......................................................14 第四章.设计过程总结或分析...............................19

1

第一章.设计问题描述与分析 1 .问题描述; 在游戏中,玩家们用手表示石头、剪刀或布中的一个,出拳头表示石头,伸出两根手指表示剪刀,伸手表示布,玩家和计算机做出他们的选择,如果所作的选择是一样的,则表示平局,否则就按如下规则决定胜负:(1)石头砸坏剪刀;(2)剪刀剪碎布;(3)布覆盖石头。

编写程序实现计算机与人进行游戏。

2. 系统功能分析: 游戏中可能出现的选择情况都可以估计到,因此,定义一个枚举类型把游戏中可能出现的选择项都列出来,包括cloth(布),hammer(锤子),scissors(剪刀),game(游戏结果),help(帮助),instructions(游戏方法指导),quit(退出游戏)。 定义一个类Game,把需要让外界调用的成员函数指定为公用的,类中的公用部分包含玩家选择命令(select( ))、机器选择(mach( ))、提示游戏规(gamehelp( ))、判断输赢(Win_lose( ))、游戏结果(gameshow( ))、帮助(gamehelp( ))游戏说明(instruct( )) 每局游戏结果(solution( ))七个成员函数,另外有一个用来赋初值构造函数(Game());而为了保证类的封装性和信息的隐蔽,把数据成员指定为私有的。

创建游戏类对象g,调用对象g的成员函数solution( ),开始游戏。

第二章.算法设计与流程图 1.算法设计: (1)在头文件head.h中定义枚举类型2

enum c_h_s{cloth,hammer,scissors,game ,help,instructions,quit}来列出游戏选择项,同时定义一个类Game把需要让外界调用的成员函数select( )、mach( )、gamehelp( )、Win_lose( )、gameshow( )、solution( )、instruct( )、Game()指定为公用的, 为了保证类的封装性和信息的隐蔽, 把数据成员int win、int lose、int tie 、enum c_h_s player、enum c_h_s machine指定为私有的。 (2)在源文件head.cpp中定义构造函数Game(),对赢、输、平局的数据成员初始化为0。 (3)在源文件head.cpp中定义成员函数select(),获取玩家选择一个命令(即在石头、剪刀、布、游戏结果、游戏帮助、游戏介绍、退出中做出选择),并将选择的结果返回。 (4)在源文件head.cpp中定义成员函数mach(),实现机器对锤子、剪刀或布选择,这中间用到随机函数,利用到time.h和stdlib.h头文件,以及关键字rand、srand。 (5)在源文件head.cpp中定义成员函数gameshow(int win,int lose,int tie ),输出游戏结果,包含有赢、输、平局以及游戏总次数的情况。 (6)在源文件head.cpp中定义成员函数gamehelp( ),输出各字符所表示的意义,以帮助玩家进行选择。

(7)在源文件head.cpp中定义成员函数成员函数win_lose(enum c_h_s player,enum c_h_s machine ),读取玩家和电脑的选择,根据游戏规则判断玩家赢、输或平局,返回判断结果。 (8)在源文件head.cpp中定义成员函数instruct( ),对游戏规则进行说明。最后定义成员函数solution( ),统计游戏从开始运行到现在运行的结果,并输出每局的游戏结果。 (9)在源文件game.cpp中,定义主函数。在主函数中,创建游戏类对象g,调用对象g的成员函数solution( ),开始游戏。 3

2.流程图: 2.1功能模块图:

图2.1 功能模块 2.2用户选择模块:

开始输入 玩家选择 机器选择

判断结果 显示结果

定义变量c获取用户输入选择 定义枚举变量p用以返回玩家

开始输入 4

图2.2用户选择图

2.3机器选择模块:

返回“布” 返回“石头” 返回“游戏介绍” 返回“游戏结果” 返回“剪刀” 返回“游戏帮助” 返回“退出”

return p 下一模块

开始输入 5

图2.3 机器选择图

2.4判断模块:

定义变量 victory用以记录评判结果 player= =cloth player= =hammer

Y N

victory=machine= =hammer; victory=machine= =scissors; victory=machine= =cloth; Y N

初始化随机种子 定义变量 i并随机初始i=i%3 当i=0时,返回cloth 当i=1时,返回hammer 当i=2时,返回scissors

下一模块

上一模块

下一模块 6

图2.4 判断模块 2.5显示模块:

上一模

scissors hammer cloth instruct( )

(player=select( ))!=quit switch(player) 7 图2.5显示模块图

第三章.程序设计编码与测试

3.1程序代码: //head.h

enum c_h_s { cloth,hammer,scissors,game,help,instructions,quit

machine = mach(); player==machin累计平局次数 输出“平局”

win_lose( ) 累计玩家获胜次数 输出玩家获胜

累计电脑获胜次数

输出电脑获胜 输出游戏统计结果 结束

相关文档
最新文档