收藏 分销(赏)

嵌入式课程设计报告小游戏石头剪子布.doc

上传人:丰**** 文档编号:2929820 上传时间:2024-06-11 格式:DOC 页数:9 大小:134.50KB 下载积分:6 金币
下载 相关 举报
嵌入式课程设计报告小游戏石头剪子布.doc_第1页
第1页 / 共9页
嵌入式课程设计报告小游戏石头剪子布.doc_第2页
第2页 / 共9页


点击查看更多>>
资源描述
《嵌入式课程设计》报告 题目:石头剪子布 班级: 学号: 姓名: 一、 选题背景 实验准备:做游戏前,首先,自己详细看了《C语言程序设计》(教科书),理解了相关函数的用法和作用;另外,上网查询了很多相关资料,还有找了很多相关的游戏设计的代码,都详细的看了一遍,加深了对C语言以及相关内容进一步理解。根据实际情况设计出一款比较理想的小游戏。 设计题目的要求: ①游戏要设置开始,结束操作控制 ②游戏要有时间提示即相关结果的提示语 ③游戏要能自动判断输赢,并显示最终比赛结果 二、 设计思路 系统功能模块图: 输入:计算机随机输入选择,用户输入选择,并将数据储存。 计算:根据计算机和用户的选择,计算大小,并判断输赢,计算用户的胜负率,并储存。 输出:根据用户的输入,将用户的游戏结果显示在屏幕上。 三、 主要问题的解决方法及关键技术 游戏功能需求分析: 输入数据: 计算机随机输入数据; 用户输入合法的数据 存储数据: 存储计算机的输入数据; 存储用户的合法输入数据; 判断用户的输赢: 根据用户的选择,比较用户与计算机的胜负 计算用户的胜负率: 根据计算机的记录,计算用户的胜负次数的总和及概率 四、 程序流程图 ① 获取计算机的输入 ② 获取用户的合法输入 ③ 判断用户的输赢 ④ 记录用户的数据机胜负率 五、 源程序清单 #include<stdio.h> #include<time.h> #include<stdlib.h> void main() { char r; /* 用来存放用户的选择 */ char dn; /* 用来存放电脑的选择 */ int s,q; double p,y,n,f,z; p=0; y=0; n=0; printf("出锤子输入c\n出剪刀输入j\n出布输入b\n计算您的得分输入f\n可以一次输入许多 会一次性出很多结果哦\n请输入您的选择:\n"); srand(time(0)); /* 随机数生成器,设置rand种子值,用来获取计算机的输入 */ do{ do{ s=rand()%3; switch(s) { case 0 : dn='c';break; case 1 : dn='j';break; case 2 : dn='b';break; } do{ scanf("%c",&r); /* 用来获取用户的合法输入 */ }while(r!='c'&&r!='b'&&r!='j'&&r!='f'); if(r=='f') { z=y+n+p; f=100/z*(p/2.0+y); printf("一共比了%g场\n赢了%g场\n输了%g场\n平局%g场\n",z,y,n,p); y=100/z*y; n=100/z*n; p=100/z*p; printf("您的胜率为%.3g%%\n您的败率为%.3g%%\n您平局率为%.3g%%\n您的综合分数为%.3g\n对您成绩的评语:",y,n,p,f); if(f<=20) printf("您的运气真的差到一定无法想象的程度了~!\n\n"); if(f>20&&f<=40) printf("您的运气差了点哦,努力,加油!\n\n"); if(f>40&&f<=60) printf("您的运气还可以中等啦~中等啦……\n\n"); if(f>60&&f<=80) printf("您的运气不错哟~!嘿嘿……\n\n"); if(f>80&&f<=100) printf("哇~!~!~您的运气真的好到家了 你太帅了GG 你太可爱了MM~!!~\n\n"); printf("\n随便输入几个字符按回车关闭程序\n"); scanf("%d",&q); } if(dn==r) { printf("平手,继续\n"); p++; } else switch(dn) { case 'c' : if(r=='j') { printf("电脑WIN!! 锤子:剪刀\n");n++; } else { printf("人WIN! 锤子:布\n");y++; }break; case 'j' : if(r=='b') { printf("电脑WIN! 剪刀:布\n");n++; } else { printf("人WIN! 剪刀:锤子\n");y++; }break; case 'b' : if(r=='c') { printf("人WIN! 剪刀:锤子\n");y++; } else { printf("电脑WIN! 布:锤子\n");n++; }break; } }while(r==dn); }while(r=='j'||r=='b'||r=='c'); } 六、 程序运行结果 测试: ① 显示主菜单界面 ② 输入界面 ③ 输出界面 ④ 结果统计界面 ⑤ 游戏结束界面 七、 设计总结 此的程序实设计实验是对我进入大学以来学习程序设计语言成果的一个检验。自己动手,自己发现和解决问题,学会了独立,自主的思考,发现了自己的许多不足。平时没有掌握好的知识在这次实验中彻底暴露出来,经过不断思考,不断查阅资料和上机运行,解决其中大部分问题,当然还存在一些问题没有解决。我相信在以后的学习能够解决好它们。但是,收获还是不小的,我不仅对编程操作有了进一步的掌握。 当我选择编写小游戏“石头剪子布”这个题目时,一开始想运用大量函数及循环来完成,但是在慢慢琢磨之后,觉得这个程序可以简化,于是改变了编程思路。当然还有不少文件的读写问题,不过还是通过不断测试之后顺利解决了。另外一点要说的就是这个程序用了很多的选择循环,因此对于循环的控制要十分小心。 还有一点体会就是,书上和老师教的内容是有限的,我们需要不断地靠自己去学习,向他人请教,学会利用网络等了解知识的平台去学习和掌握更多的知识,这样我们才能编出更好的嵌入式程序。 总体来说,这次嵌入式程序设计实验还是比较成功的,虽然最终程序还存在一些不足,但能取得这样的成绩我还是比较高兴的。 最后,要感谢学校为我们提供这次实验机会,也要感谢老师的教导和其他同学对我的帮助与支持。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服